Microservices and containerisation

What is it?

Microservices are a software development technique that are:

  • A variant of the service-oriented architecture (SOA) architectural style

  • Loosely coupled

  • Highly maintainable and testable

  • Independently deployable

  • Organised around business capabilities

In a microservices architecture, services are fine-grained and the protocols are lightweight. The benefit of decomposing an application into different smaller services is that it improves modularity. This makes the application easier to understand, develop, test, and become more resilient to architecture erosion. It parallelizes development by enabling small autonomous teams to develop, deploy and scale their respective services independently. It also allows the architecture of an individual service to emerge through continuous refactoring. Microservices-based architectures enable continuous delivery and deployment.