img
Home > Design Patterns > Microservice Deployment

Microservice Deployment (Erl, Naserpour)

How can a service be deployed independently to avoid the limitations imposed by a monolithic deployment?

Microservice Deployment

Problem

Services and other components of a software solution are packaged together in a monolithic deployment bundle. Deploying a new version of a service that is part of the solution can require redeploying the entire solution. Also, there is less flexibility to configure service-specific scalability, availability, persistence, monitoring, and security logic.

Solution

Each service is treated as an independent product and is deployed is an isolated package that contributes to service autonomy.

Application

Services are packaged and deployed in a highly autonomous environment that may utilize containerization technology. Packaging and deployment of services are typically highly automated. Services are commonly designed for use with HTTP/REST and to support asynchronous inter-service communication.

The microservice and a redundant implementation of the utility service it is composing are grouped in the same deployment bundle and located on a dedicated virtual server.

Microservice Deployment: A single pod deployed on a virtual machine allows the hosted services to share the same IP address. The pod can also be deployed directly on a physical server.

A single pod deployed on a virtual machine allows the hosted services to share the same IP address. The pod can also be deployed directly on a physical server.

This pattern is applied using a container engine, as explained in the complete pattern description.

Module 10: Advanced Microservice Architecture & Containerization.

This pattern is covered in Module 10: Advanced Microservice Architecture & Containerization..

For more information regarding microservice and containerization courses and accreditation,
visit the Microservice Architect Certification program page..