Microservices Architecture and Case Study On Netflix Implementation
Microservices Architecture and Case Study On Netflix Implementation
On:
Microservices and Adopting
Microservices at Netflix
MBA-IT 4th Batch
Binod Aryal
Deshant Shrestha
Siddhartha Subedi
OUTLINE
• Introduction
• Microservice Architecture – Scaling
• Microservice Architecture – Blueprint
• Categories of Services in MSA
• Composition Patterns
• CASE STUDY: Adopting Microservices at Netflix
• Conclusion and Recommendation
Objective of the study
• Understand Monolithic Vs. Microservices Architecture
• How microservices can help improve the business efficiency
• How Netflix adopted the Microservices architecture
• What benefits Netflix has after using the service
• Understanding Microservices in the Cloud
Introduction
• Microservice is a service-based application development
methodology. In this methodology, big applications will be divided
into smallest independent service units.
• Microservice is the process of implementing Service-oriented
Architecture (SOA) by dividing the entire application as a collection of
interconnected services, where each service will serve only one
business need.
Methodology
• The design science research methodology of microservice
architecture is used.
• The research is based on reviewing the Scientifics research (IEEE) and
articles.
• The case study is based on Netflix tech blog, video records of
conference hosted by Netflix.(infoQ)
The Concept of Going Micro
SOA and Microservices
• In a service-oriented architecture, entire software packages will be
sub-divided into small, interconnected business units. Each of these
small business units will communicate to each other using different
protocols to deliver successful business to the client.
• SOA is a designing pattern and Microservice is an implementation
methodology to implement SOA or we can say Microservice is a type
of SOA.
MSA Architecture
Advantages
• Small in size: Basically, a service should not perform more than one business task, hence it will be
obviously small in size and easy to maintain than any other monolithic application.
• Focused: As mentioned earlier, each microservice is designed to deliver only one business task.
• Autonomous: Each microservice should be an autonomous business unit of the entire application.
• Technology heterogeneity: Microservice supports different technologies to communicate with
each other in one business unit, which helps the developers to use the correct technology at the
correct place.
• Resilience(Fault isolation): Microservice follows high level of resilience in building methodology,
hence whenever one unit fails it does not impact the entire business.
• Ease of deployment: As the entire application is sub-divided into small piece of units, all of them
can be deployed in any environment very easily with less time complexity unlike other monolithic
applications of the same kind.
Disadvantages
• Cost: Microservice is costly, as you have to maintain different server space for different
business tasks.
Aggregator Pattern
Proxy Pattern
Chained Pattern
We will allow the client to communicate
directly with the services and all the services
will be chained up in a such a manner that the
output of one service will be the input of the
next service
MSA – COMPOSITION PATTERNS
- Martin Fowler
Netflix journey to
microservices
Netflix took 7 years
https://media.netflix.com/en/company-blog/completing-the-netflix-cloud-migration
Data Center - Monolith
RDBMS
August 2008
First Principles
Buy vs. Build
● Use or contribute to OSS technologies first
Service A
● Available
● Partition Tolerance
● Tunable Consistency*
Multi-Regional Replication
Zone Zone
B B
500ms
Bi-directional
Region A Region B
Nightly compare & repair
Last, but not least - Billing
Microservices –
Benefits
Netflix Priorities
3. Efficiency
1. Innovation 2. Reliability
Innovation:
tight coupling doesn’t work
Develop
• Team A
• Team B
• Team C
Tes Release
• … t
Innovation: Loose coupling
• Develop, Test,
Team A Deploy, Support
• Develop, Test,
• Develop, Test,
Deploy, Support
Team C
Support Architect
Run Design
End-end
ownership
Deploy Develop
Tes Review
t
End-end ownership + velocity
Support Architect Support Architect
Support Architect Support Architect
A/B
Mid-tier Feature H
Test F
EVCache
ELB
API
Cassandra
Playback
Reliability Matters
● Netflix strive for 4 9’s (99.999%) of availability
Binod
Deshant
Siddhartha