Microservices

Microservices

MICROSERVICES

Microservices (Microservice architecture) is an architectural style that structures an application as a collection of services that are:

·????????Highly maintainable and testable

·????????Loosely coupied

·????????Independently deployable

·????????Organized around business capabilities

·????????Owned by a small team

The Microservices architecture enables the rapid, frequent and reliable delivery of large,complex applications.It also enables an organization to evolve its technology stack.


???????????????????Microservices Architecture

A microservices architecture consists of a collection of small, autonomous services. Each service is self-contained and should implement a single business capability within a bounded context. A bounded context is a natural division within a business and provides an explicit boundary within which a domain model exists.

No alt text provided for this image

·??????Applications built as a set of independent, modular components are easier to test, maintain, and understand.

·???????While each independent component increases complexity, the component can also have added monitoring capabilities to combat it.

???????????????????Advantages of Microservices

No alt text provided for this image

Developer independence

Each microservice will often be assigned a single developer team?to maintain it. Thus, there is greater developer freedom and independence.

Small teams that are working in parallel can iterate faster than larger teams.

Isolation & resilience

If one of the components should fail, due to issues like outdated technology or inability to further develop the code, developers are able to spin up another component while the rest of the application continues to function independently.

This capability gives developers the freedom to develop and deploy services as needed, without having to wait on decisions concerning the entire application.

Scalability

Because microservices are made of much smaller components, they can take up fewer resources and therefore more easily scale to meet increasing demand of that specific component.

Autonomously developed

As opposed to monoliths, individual components are much easier to fit into continuous delivery pipelines and complex deployment scenarios. Only the pinpointed service needs to be modified and redeployed when a change is needed. If a service should fail, the others will continue to function independently.

·???????Enables scaling and development

·???????Doesn’t require much coordination with other teams

Disadvantages of microservice

Increased complexity

First and foremost, microservices are a much more complicated system. It has a learning curve that can be steep to climb, but once learned, as with most things, it can be used with ease. New solutions are not always better, and it is the fault of many consultants and young engineers who try to solve different problems with the same solutions.

More expensive

Microservices can also be more costly. They usually run in their own environments with their own CPUs. They work through?API Calls?which have a price tag. And, finally, the more complicated the environment requires a team of engineers capable of building it, so labor costs are going to be more.

?Greater security risks

Finally, because microservices will exist through different environments on different running machines with different API calls, they offer more points of contact for an attacker to get in and damage the system.

Companies getting benefited from microservices

NETFLIX: The company is considered among the pioneers in the world of microservices. The giant is using them for server maintenance and incredible reliability. It also monitors the popularity of movies and TV shows. Combining microservices with algorithms gives the company a competitive advantage and lets it produce shows people really want to watch.

AMAZON: In 2001 Amazon had a big monolith. In 2021 almost everyone knows about Amazon Web Services (AWS) – an in-house solution that was so good that it turned into a commercial cloud computing?service. Microservices are fantastic for ecommerce – they track user behavior, purchases, even the entire sales funnel. Then, they generate data helpful in optimizing product presentation and the sales process itself. That is what works for Amazon.

SPOTIFY: ?Over 365 million active users worldwide and “only” 75+ in the moment of the change. Spotify can be widely known but their inner struggles suggest growing pains and are slightly less known. The company built 90 autonomous, full-stack teams to build and manage the service while it grew over the years, countries, and continents. If you want to hear your favorite track, you just hit the play button. To make it happen and seem invisible in nature, there are hundreds of specialists and thousands of functionalities that couldn’t be run as smoothly in the monolithic architecture.

UBER: This famous taxi-hailing app had a monolith product. With exponential and global growth, Uber needed performance to keep up with the scale. Processes like driver management, passenger management, billing, or notifications became so painful, the company turned to microservices for performance and smooth business operations. Today, with microservices managing all business processes, the company is a widely recognized brand with millions of clients and countless in-house operations every day.

THANK YOU!!!

Faizan Shaikh

Cloud Engineer at Cloudside | Passionate About Cloud, Automation & CI/CD Pipelines | Linux | Shell scripting | Git & Github | Jenkins | Ansible | Terraform | Docker | Kubernetes | Aws | Azure | Python

2 年
Pintu D

Senior DevOps Engineer at Informatica || 2×Redhat Certified Engineer (RHCE,DO180) || Python || C++ || Linux || Shell Scripting || Docker/Podman || Kubernetes || Git & GitHub || Ansible || Jenkins || Terraform || AWS

2 年

Great bro ????

要查看或添加评论,请登录

Prateek Mudgal??的更多文章

社区洞察