Netflix MSA and Pivotal
Younjin Jeong
Principal Technologist
yjeong@pivotal.io
Agenda
โ–  Netflix Introduction
โ–  MSA backgrounds
โ–  Netflixโ€™s expectations and
Considerations
โ–  Changes in Organizations
โ–  Netflix OSS for MSA
โ–  Pivotal
ยฉ Copyright 2018 Pivotal Software, Inc. All rights reserved.
Why Netflix Changed
Overview
ยฉ Copyright 2018 Pivotal Software, Inc. All rights reserved.
Why Netflix Changed
Netflix is a Video Streaming company that has 125M users in global, and 100k playing time per day.
Why Netflix Changed
Service in 190 counties in global, including South Korea since 2016
Why Netflix Changed
Netflix 2008 โ€“ Big Java Big Oracle
2008
2008, Netflix experienced huge outage.
It was started from Database Disk corruption, and whole service goes down.
Why Netflix Changed
Cloud IaaS
Data
Micro Services
Routing / Health check
API
Logging
Big Oracle
Big Java
Cloud Native Journey (2008 ~ )
It took many many years, and itโ€™s still going on.
Why Netflix Changed
Netflix Today - Micro Services Architecture
Why Netflix Changed
Changes in Organizations
The Secret Ingredient of MSA
ยฉ Copyright 2018 Pivotal Software, Inc. All rights reserved.
Changes in Organizations
Netflix Considerations
Detailed Monitoring
Fault Isolation Control
API base Service interactions
Cloud Based Service Lifecycle Management
Fan-Out effect Control
Various Backing Services Support
Configurations Management for Number of Microservices
Service Auto Healing
Log Aggregation and Analysis
Fault Injection Test
Organizations
Culture
Configuration Server
Service Discovery
Circuit Breaker
API Gateway
Distributed Tracing
Zero Downtime Delivery
Fault Injection Test
Chaos Engineering
Persistence Cache Layer
Sidecar / Library
Freedom and Responsibility
Self-service Paradigm
Netflix Solutions
Org
Changes
Tech
Changes
You Build It, You Run It
You Support It
NETFLIX PRINCIPAL
ยฉ Copyright 2018 Pivotal Software, Inc. All rights reserved.
Netflix culture made all this possible.
Changes in Organizations
https://medium.com/netflix-techblog/full-cycle-developers-at-netflix-a08c31f83249
May 18, Netflix announced a concept of โ€œFull Cycle Developersโ€
Changes in Organizations
Software Development Lifecycle, SDLC
Each specialist team creates tools for each cycles,
But the costs increased for communications, feedback loops, and bottlenecks.
Changes in Organizations
So they bring up an idea about SDLC + DevOps for โ€œOperate what you Buildโ€
Distributing this concept to every single development team, that they need to do
development issues, performance bugs, capacity planning, partner support, and so on.
Changes in Organizations
Netflix created centralized teams such as โ€œCloud Platformโ€, โ€œPerformance and Reliability E
ng.โ€, โ€œEngineering Toolsโ€
To support each development teams by โ€œToolsโ€ that can be easily re-used.
They have been created Common Netflix Tools and that was a key to scale their services.
Changes in Organizations
Netflix developers using this amazing tools, that is helping to be Full Cycle Developers.
Full Cycle Developers can thinks and act like SWE, SDET, and SRE.
Changes in Organizations
Trade-Offs of Full Cycle Developers
โ€ข Some developers wants to dive deep in narrow field. Netflix s
upport them to find right roles in the company. Others are enjoyin
g this Full cycle approach.
โ€ข Cloud Based systems were very helpful to achieve this concept, b
ut this broad approach increased developer load. So they rota
te on-calls for deployment + operations + support. It works when
works, but sometimes burnout everyone in the team.
โ€ข Thereโ€™s no such a tool can solve every problem. They provide โ€œpa
ve roadโ€ tools that created by specialists for each team, but
not limiting their people to use other tools. But those pave roa
d tools are very helpful and centralize, which means that specialis
t teamโ€™s efforts needed to aligning, and ongoing adoptions.
Changes in Organizations
Netflix OSS for MSA
Tools that made by Specialists
ยฉ Copyright 2018 Pivotal Software, Inc. All rights reserved.
Netflix OSS
Netflix Considerations
Detailed Monitoring
Fault Isolation Control
API base Service interactions
Cloud Based Service Lifecycle Management
Fan-Out effect Control
Various Backing Services Support
Configurations Management for Number of Microservices
Service Auto Healing
Log Aggregation and Analysis
Fault Injection Test
Organizations
Culture
Configuration Server
Service Discovery
Circuit Breaker
API Gateway
Distributed Tracing
Zero Downtime Delivery
Fault Injection Test
Chaos Engineering
Persistence Cache Layer
Sidecar / Library
Freedom and Responsibility
Self-service Paradigm
Netflix Solutions
Org
Changes
Tech
Changes
Netflix OSS
https://netflix.github.io/
โ€ข Externalized Config Server
โ€ข Service Register & Discovery
โ€ข Circuit Breaker
โ€ข API Gateway
โ€ข Load Balancing with IPC
โ€ข Realtime Monitoring
โ€ข Zero Downtime Delivery
โ€ข Fault Injection Test
โ€ข Chaos Engineering
โ€ข Etcโ€ฆ
Netflix OSS
Netflix Externalize Configuration โ€“ Archaius
https://medium.com/netflix-techblog/announcing-archaius-dynamic-properties-in-the-cloud-bc8c51faf675
Configuration Server1
Netflix OSS
Netflix Service Discovery - Eureka
http://techblog.netflix.com/2012/09/eureka.html
Service Discovery2
Netflix OSS
Netflix Circuit Breaker - Hystrix
https://medium.com/netflix-techblog/introducing-hystrix-for-resilience-engineering-13531c1ab362
Circuit Breaker โ€“ Fault Isolation3
Netflix OSS
Netflix API Gateway โ€“ Zuul
https://medium.com/netflix-techblog/announcing-zuul-edge-service-in-the-cloud-ab3af5be08ee
API Gateway4
Netflix OSS
Netflix Load Balancing with IPC โ€“ Ribbon
https://medium.com/netflix-techblog/announcing-ribbon-tying-the-netflix-mid-tier-services-together-a89346910a62
Load Balancing - Ribbon4
Netflix OSS
https://www.slideshare.net/brendangregg/how-netflix-tunes-ec2-instan
ces-for-performance
Netflix Realtime Monitoring โ€“ Atlas / Servo / Spectator
Distributed Tracing - Monitoring5
Netflix OSS
Distributed Tracing - Monitoring5
Netflix OSS
Netflix CI/CD โ€“ Spinnaker
https://medium.com/netflix-techblog/global-continuous-delivery-with-spinnaker-2a6896c23ba7
Zero Downtime Delivery - Deploy6
Netflix OSS
Netflix Zero Downtime Delivery โ€“ Kayenta
https://medium.com/netflix-techblog/automated-canary-analysis-at-netflix-with-kayenta-3260bc7acc69
Zero Downtime Delivery - Canary6
Netflix OSS
Netflix Zero Downtime Delivery โ€“ Kayenta
Zero Downtime Delivery6
Netflix OSS
Netflix Fault Injection Test โ€“ FIT
And Automate it
https://medium.com/netflix-techblog/fit-failure-injection-testing-35d8e2a9bb2
Fault Injection โ€“ Artificial Failure7
Netflix OSS
Netflix Chaos Engineering โ€“ Simain Army
https://medium.com/netflix-techblog/the-netflix-simian-army-16e57fbab116
Chaos Engineering8
Simian army tools are Killing Netflix Servers to verify what happens when its down.
Netflix OSS
Persistent Cache Layer9
Netflix OSS
Sidecar - Polyglot10
Built to Adapt
Overview
ยฉ Copyright 2018 Pivotal Software, Inc. All rights reserved.
Built to Adapt - Enterprise
You may heard about โ€œSpring Cloud Netflixโ€ to adopt Netflix like architectures.
Configuration Server1
Service Discovery2
Circuit Breaker โ€“ Fault Isolation3
API Gateway4
Load Balancing - Ribbon4
Built to Adapt - Enterprise
Distributed Tracing - Monitoring5
Built to Adapt - Enterprise
Distributed Tracing - Monitoring5
Built to Adapt - Enterprise
Zero Downtime Delivery6
Built to Adapt - Enterprise
Zero Downtime Delivery6
Built to Adapt - Enterprise
Persistent Cache Layer9
Spring Cache Abstrac
tion
Pivotal Cloud Cache
Pivotal Gemfire
Built to Adapt - Enterprise
All together10
Full Cycle Practice
Overview
ยฉ Copyright 2018 Pivotal Software, Inc. All rights reserved.
Full Cycle Practice with Pivotal
Netflix Considerations
Detailed Monitoring
Fault Isolation Control
API base Service interactions
Cloud Based Service Lifecycle Management
Fan-Out effect Control
Various Backing Services Support
Configurations Management for Number of Microservices
Service Auto Healing
Log Aggregation and Analysis
Fault Injection Test
Organizations
Culture
Configuration Server
Service Discovery
Circuit Breaker
API Gateway
Distributed Tracing
Zero Downtime Delivery
Fault Injection Test
Chaos Engineering
Persistence Cache Layer
Sidecar / Library
Freedom and Responsibility
Self-service Paradigm
Netflix Solutions
Org
Changes
Tech
Changes
Full Cycle Practice with Pivotal
๏ฟฝ
โ˜น
๏ฟฝ
๏ฟฝ ๏ฟฝ
๏ฟฝ ๏ฟฝ
๏ฟฝ
๏ฟฝ
๏ฟฝ
๏ฟฝ
Full Cycle Practice with Pivotal
๏ฟฝ
PCF Metrix
PivotalDataScience
PivotalBigDataSuite
Full Cycle Practice with Pivotal
Full Cycle Practice with Pivotal
Conclusion
Overview
ยฉ Copyright 2018 Pivotal Software, Inc. All rights reserved.
Conclusion
Spring eco system provides a โ€œeasy wayโ€ to build Micro Services and Cloud
Native Applications
Conclusion
Pivotal Cloud Foundry provides the โ€œPlatformโ€ functionality to every single micro s
ervices.
Conclusion
Frameworks and Platform can help to achieve 12 factor application & operations,
Which means that can be used to help adopt Full Cycle Development teams.
Conclusion
Culture > Practice > Too
ls
Conclusion
If you want to build a ship,
donโ€™t drum up the people
to gather wood, divide the
work, and give orders.
Instead, teach them to yearn
for the vast and endless sea.
by Antoine de Saint-Exupรฉry, the author of The Little Prince
from https://jobs.netflix.com/culture
Thank you
๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค

Netflix MSA and Pivotal

  • 1.
    Netflix MSA andPivotal Younjin Jeong Principal Technologist yjeong@pivotal.io
  • 3.
    Agenda โ–  Netflix Introduction โ– MSA backgrounds โ–  Netflixโ€™s expectations and Considerations โ–  Changes in Organizations โ–  Netflix OSS for MSA โ–  Pivotal ยฉ Copyright 2018 Pivotal Software, Inc. All rights reserved.
  • 4.
    Why Netflix Changed Overview ยฉCopyright 2018 Pivotal Software, Inc. All rights reserved.
  • 5.
    Why Netflix Changed Netflixis a Video Streaming company that has 125M users in global, and 100k playing time per day.
  • 6.
    Why Netflix Changed Servicein 190 counties in global, including South Korea since 2016
  • 7.
    Why Netflix Changed Netflix2008 โ€“ Big Java Big Oracle 2008 2008, Netflix experienced huge outage. It was started from Database Disk corruption, and whole service goes down.
  • 8.
    Why Netflix Changed CloudIaaS Data Micro Services Routing / Health check API Logging Big Oracle Big Java Cloud Native Journey (2008 ~ ) It took many many years, and itโ€™s still going on.
  • 9.
    Why Netflix Changed NetflixToday - Micro Services Architecture
  • 10.
  • 11.
    Changes in Organizations TheSecret Ingredient of MSA ยฉ Copyright 2018 Pivotal Software, Inc. All rights reserved.
  • 12.
    Changes in Organizations NetflixConsiderations Detailed Monitoring Fault Isolation Control API base Service interactions Cloud Based Service Lifecycle Management Fan-Out effect Control Various Backing Services Support Configurations Management for Number of Microservices Service Auto Healing Log Aggregation and Analysis Fault Injection Test Organizations Culture Configuration Server Service Discovery Circuit Breaker API Gateway Distributed Tracing Zero Downtime Delivery Fault Injection Test Chaos Engineering Persistence Cache Layer Sidecar / Library Freedom and Responsibility Self-service Paradigm Netflix Solutions Org Changes Tech Changes
  • 13.
    You Build It,You Run It You Support It NETFLIX PRINCIPAL ยฉ Copyright 2018 Pivotal Software, Inc. All rights reserved. Netflix culture made all this possible.
  • 14.
  • 15.
    Changes in Organizations SoftwareDevelopment Lifecycle, SDLC Each specialist team creates tools for each cycles, But the costs increased for communications, feedback loops, and bottlenecks.
  • 16.
    Changes in Organizations Sothey bring up an idea about SDLC + DevOps for โ€œOperate what you Buildโ€ Distributing this concept to every single development team, that they need to do development issues, performance bugs, capacity planning, partner support, and so on.
  • 17.
    Changes in Organizations Netflixcreated centralized teams such as โ€œCloud Platformโ€, โ€œPerformance and Reliability E ng.โ€, โ€œEngineering Toolsโ€ To support each development teams by โ€œToolsโ€ that can be easily re-used. They have been created Common Netflix Tools and that was a key to scale their services.
  • 18.
    Changes in Organizations Netflixdevelopers using this amazing tools, that is helping to be Full Cycle Developers. Full Cycle Developers can thinks and act like SWE, SDET, and SRE.
  • 19.
    Changes in Organizations Trade-Offsof Full Cycle Developers โ€ข Some developers wants to dive deep in narrow field. Netflix s upport them to find right roles in the company. Others are enjoyin g this Full cycle approach. โ€ข Cloud Based systems were very helpful to achieve this concept, b ut this broad approach increased developer load. So they rota te on-calls for deployment + operations + support. It works when works, but sometimes burnout everyone in the team. โ€ข Thereโ€™s no such a tool can solve every problem. They provide โ€œpa ve roadโ€ tools that created by specialists for each team, but not limiting their people to use other tools. But those pave roa d tools are very helpful and centralize, which means that specialis t teamโ€™s efforts needed to aligning, and ongoing adoptions.
  • 20.
  • 21.
    Netflix OSS forMSA Tools that made by Specialists ยฉ Copyright 2018 Pivotal Software, Inc. All rights reserved.
  • 22.
    Netflix OSS Netflix Considerations DetailedMonitoring Fault Isolation Control API base Service interactions Cloud Based Service Lifecycle Management Fan-Out effect Control Various Backing Services Support Configurations Management for Number of Microservices Service Auto Healing Log Aggregation and Analysis Fault Injection Test Organizations Culture Configuration Server Service Discovery Circuit Breaker API Gateway Distributed Tracing Zero Downtime Delivery Fault Injection Test Chaos Engineering Persistence Cache Layer Sidecar / Library Freedom and Responsibility Self-service Paradigm Netflix Solutions Org Changes Tech Changes
  • 23.
    Netflix OSS https://netflix.github.io/ โ€ข ExternalizedConfig Server โ€ข Service Register & Discovery โ€ข Circuit Breaker โ€ข API Gateway โ€ข Load Balancing with IPC โ€ข Realtime Monitoring โ€ข Zero Downtime Delivery โ€ข Fault Injection Test โ€ข Chaos Engineering โ€ข Etcโ€ฆ
  • 24.
    Netflix OSS Netflix ExternalizeConfiguration โ€“ Archaius https://medium.com/netflix-techblog/announcing-archaius-dynamic-properties-in-the-cloud-bc8c51faf675 Configuration Server1
  • 25.
    Netflix OSS Netflix ServiceDiscovery - Eureka http://techblog.netflix.com/2012/09/eureka.html Service Discovery2
  • 26.
    Netflix OSS Netflix CircuitBreaker - Hystrix https://medium.com/netflix-techblog/introducing-hystrix-for-resilience-engineering-13531c1ab362 Circuit Breaker โ€“ Fault Isolation3
  • 27.
    Netflix OSS Netflix APIGateway โ€“ Zuul https://medium.com/netflix-techblog/announcing-zuul-edge-service-in-the-cloud-ab3af5be08ee API Gateway4
  • 28.
    Netflix OSS Netflix LoadBalancing with IPC โ€“ Ribbon https://medium.com/netflix-techblog/announcing-ribbon-tying-the-netflix-mid-tier-services-together-a89346910a62 Load Balancing - Ribbon4
  • 29.
    Netflix OSS https://www.slideshare.net/brendangregg/how-netflix-tunes-ec2-instan ces-for-performance Netflix RealtimeMonitoring โ€“ Atlas / Servo / Spectator Distributed Tracing - Monitoring5
  • 30.
  • 31.
    Netflix OSS Netflix CI/CDโ€“ Spinnaker https://medium.com/netflix-techblog/global-continuous-delivery-with-spinnaker-2a6896c23ba7 Zero Downtime Delivery - Deploy6
  • 32.
    Netflix OSS Netflix ZeroDowntime Delivery โ€“ Kayenta https://medium.com/netflix-techblog/automated-canary-analysis-at-netflix-with-kayenta-3260bc7acc69 Zero Downtime Delivery - Canary6
  • 33.
    Netflix OSS Netflix ZeroDowntime Delivery โ€“ Kayenta Zero Downtime Delivery6
  • 34.
    Netflix OSS Netflix FaultInjection Test โ€“ FIT And Automate it https://medium.com/netflix-techblog/fit-failure-injection-testing-35d8e2a9bb2 Fault Injection โ€“ Artificial Failure7
  • 35.
    Netflix OSS Netflix ChaosEngineering โ€“ Simain Army https://medium.com/netflix-techblog/the-netflix-simian-army-16e57fbab116 Chaos Engineering8 Simian army tools are Killing Netflix Servers to verify what happens when its down.
  • 36.
  • 37.
  • 38.
    Built to Adapt Overview ยฉCopyright 2018 Pivotal Software, Inc. All rights reserved.
  • 39.
    Built to Adapt- Enterprise You may heard about โ€œSpring Cloud Netflixโ€ to adopt Netflix like architectures. Configuration Server1 Service Discovery2 Circuit Breaker โ€“ Fault Isolation3 API Gateway4 Load Balancing - Ribbon4
  • 40.
    Built to Adapt- Enterprise Distributed Tracing - Monitoring5
  • 41.
    Built to Adapt- Enterprise Distributed Tracing - Monitoring5
  • 42.
    Built to Adapt- Enterprise Zero Downtime Delivery6
  • 43.
    Built to Adapt- Enterprise Zero Downtime Delivery6
  • 44.
    Built to Adapt- Enterprise Persistent Cache Layer9 Spring Cache Abstrac tion Pivotal Cloud Cache Pivotal Gemfire
  • 45.
    Built to Adapt- Enterprise All together10
  • 46.
    Full Cycle Practice Overview ยฉCopyright 2018 Pivotal Software, Inc. All rights reserved.
  • 47.
    Full Cycle Practicewith Pivotal Netflix Considerations Detailed Monitoring Fault Isolation Control API base Service interactions Cloud Based Service Lifecycle Management Fan-Out effect Control Various Backing Services Support Configurations Management for Number of Microservices Service Auto Healing Log Aggregation and Analysis Fault Injection Test Organizations Culture Configuration Server Service Discovery Circuit Breaker API Gateway Distributed Tracing Zero Downtime Delivery Fault Injection Test Chaos Engineering Persistence Cache Layer Sidecar / Library Freedom and Responsibility Self-service Paradigm Netflix Solutions Org Changes Tech Changes
  • 48.
    Full Cycle Practicewith Pivotal ๏ฟฝ โ˜น ๏ฟฝ ๏ฟฝ ๏ฟฝ ๏ฟฝ ๏ฟฝ ๏ฟฝ ๏ฟฝ ๏ฟฝ ๏ฟฝ
  • 49.
    Full Cycle Practicewith Pivotal ๏ฟฝ PCF Metrix PivotalDataScience PivotalBigDataSuite
  • 50.
    Full Cycle Practicewith Pivotal
  • 51.
    Full Cycle Practicewith Pivotal
  • 52.
    Conclusion Overview ยฉ Copyright 2018Pivotal Software, Inc. All rights reserved.
  • 53.
    Conclusion Spring eco systemprovides a โ€œeasy wayโ€ to build Micro Services and Cloud Native Applications
  • 54.
    Conclusion Pivotal Cloud Foundryprovides the โ€œPlatformโ€ functionality to every single micro s ervices.
  • 55.
    Conclusion Frameworks and Platformcan help to achieve 12 factor application & operations, Which means that can be used to help adopt Full Cycle Development teams.
  • 56.
  • 57.
    Conclusion If you wantto build a ship, donโ€™t drum up the people to gather wood, divide the work, and give orders. Instead, teach them to yearn for the vast and endless sea. by Antoine de Saint-Exupรฉry, the author of The Little Prince from https://jobs.netflix.com/culture
  • 58.