Want to make creations as awesome as this one?

Transcript

Pitfalls of a Microservices approach

...Or use the buttons to explore more content.

Microservices’ greatest advantages

Use the arrow to move to the next page...

Microservices: The Building Blocks of the MACH Revolution

Microservices’ Greatest Advantages

Microservices architectures make it possible to achieve cleaner testing boundaries. Because each microservice is responsible for a narrow scope, it is possible to test the boundaries of the service fully. This increases confidence in changes and reduces live incidents.

Because each microservice is responsible for a specific task, it can be scaled independently of the other microservices in the system. This means that you can scale up or down individual microservices as needed, without scaling other parts of your service that do not require it. This allows you to maintain performance and functionality efficiently.

With proper versioning and modern cloud deployment techniques, microservices can be deployed independently and when they are ready, without impacting the whole stack or requiring service outages. With microservices, businesses can deploy new features and updates quickly, easily, with reduced risk and minimizing or eliminating customer disruption.

Cleaner testing boundaries

Flexibility in scaling

Flexibility in deployment

Instead of being tied to a single language, such as Java or .NET, each microservice can be made in the language that best suits its purpose. This could be a functional language for complex mathematics or graphing, a COTS product for a specific function, or SaaS product.

Flexibility in language used

Microservices: The Model of the Future

A Microservices Approach

Microservices: Not for Everyone

Some interactions will be blocking and require a response before continuing, some can be done asynchronously, and some can be done in parallel. Getting this balance wrong can lead to software that does not work as intended or is inefficient due to too much network chatter.

One of the biggest challenges with microservices is defining clear and concise boundaries. Microservices are meant to be small, independent services that each perform a specific function. However, it can be difficult to determine what each microservice should be responsible for, especially when you're first starting out. Never be afraid to rethink your service boundaries once you have more information.

Deploying any service is not without cost in terms of set up and maintenance. This is something to consider when deciding whether or not to use microservices architecture.

Not all services need to be microservices. Some services are simply too small to need the complexity of microservices architecture.

One of the largest potential pitfalls of microservices is language bloat. Just because you can have different languages and products for every service does not mean you should. You could end up with a bloated tech stack that is expensive and difficult to maintain.

Interaction orchestration

Poorly defined boundaries

Your service is too small

Language bloat

Orchestration costs

Microservices are a powerful architectural approach, but they are not the best solution for every problem. There are a number of pitfalls to be aware of when adopting microservices, including: