What are microservices?

Breaking it down - why do microservices trump monoliths

If you are attempting to break into the cloud space, you are going to hear this term … A LOT - microservices.

Microservice has been the buzzword ever since tech giants such as Amazon and Netflix transformed the way their businesses operate under the hood. Microservices basically consist of independent units deployed within an architecture that communicate with each other by making well-defined API calls.

But what exactly are microservices, and how do they differ from monoliths, which run as a single code base application?

In this post, we will examine just why a decoupled architecture trumps a tightly-coupled one in just about every single way. We will also discuss how AWS microservices have elevated many companies to greater heights in the cloud.


Decoupling - breaking monoliths into microservices

Here is another term that will pop up frequently as you weave your way through the wide spectrum of AWS topics as you attempt to make sense of everything while studying for your AWS Cloud Practitioner, AWS Solutions Architect Associate, or AWS Developer Associate certification - decoupling.

Decoupling is when you break a monolithic architecture into microservices. A monolith is an application that is designed using tight-coupled components. Consider the legacy Amazon.com as an example - it was a monolithic e-commerce website that was made up of various functions but ran as a single application. This was a problem, especially for a booming business.

Imagine that it is Prime Day - one of Amazon’s busiest days of the year. Marketing has done its job in enhancing product visibility, vendors have been up to par stocking up fulfillment centers all over the country, and now it is the web application’s turn to carry out its duty. However, during the peak hours of the day, payments are not getting processed due to the sheer volume of orders that the application is rendering.

This poses a problematic scalability issue. Owing to its limitations as a monolith, Amazon would be forced to add compute power to its entire application in order to boost performance, instead of just scaling the transaction processing segment.

These days, however, its brilliantly designed microservices architecture allows Amazon to isolate the problem and focus scalability solely on the area that needs addressing - in this case, payment processing. Microservices dramatically reduce the blast radius, as opposed to monoliths, where a solitary problem is capable of taking down an entire system.

A microservice is a service-oriented architecture, which is broken into little moving parts that function independently of each other. This makes it easier not only to fix problems but also to update any part of a design that needs improvement.


AWS’ Most Complete Platform for Microservices

As one of the pioneers of IT architectural modernization by way of microservices, AWS prides itself on having the “Most Complete Platform for Microservices”. The fact that four (Facebook, Amazon, Apple, and Netflix) of the five FAANG companies use microservices on AWS is a testament to this audacious claim.

Below are some of the most popular AWS services leveraged by businesses to modernize their architectures.


Compute

  • Amazon Elastic Container Service (ECS)

  • AWS Lambda


Storage and Databases

  • Amazon Elasticache

  • Amazon S3

  • Amazon DynamoDB

  • Amazon Relational Database System (RDS)


Networking

  • Amazon API Gateway

  • Amazon Route 53

  • Elastic Load Balancing


Messaging

  • Amazon Simple Notification System (SNS)

  • Amazon Simple Queue System (SQS)


Logging and Monitoring

  • Amazon Cloudwatch

  • Amazon CloudTrail

  • AWS X-Ray


DevOps

  • Amazon Elastic Container Registry (ECR)

  • AWS Developer Tools