Microservices vs Monolithic

Monolithic architecture is a web development style where you have all the web-development code in one location. On the other hand, Microservices are a way to partition a large websites such as amazon into smaller components called microservices. They do this by breaking up application functionality into several components, and these  components can communicate using HTTP/REST/SOAP apis.

These tend to be faster and are better practice because each microservice can be put in a container, which has its own libraries. Furthermore, because they communicate over REST/HTTP its easy to use different languages for different components. This is a major benefit, because some parts of the website may need different languages for speed, features or packages, so this is a very easy way to do that.

Another advantage of microservices is that there can be separate evolution of application features or components. Teams can be assigned a particular functionality, and it is separate from other code, causing less overhead of learning the code base, and less overlap. Teams can work at their own pace, but ultimately are responsible for the functionality they were assigned.

Containerization with Docker makes it possible to package  different application components as independent deployable units. Kubernetes, a container orchestration service, helps make microservices run like a well oiled machine.

Monolithic architecture is much easier to deploy and there is much less overhead, but can get messy and is not suitable for sites like amazon. Monolithic is a relic of the past

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s