tackling complexity in giant systems: approaches from several cloud providers
DESCRIPTION
Systems architecture evolve in cycles every 15-20 years, oscillating between centralization and decentralization, but growing in size and complexity. The last cycle shifted from vertical to horizontal scalability for hardware, applications and data platforms. This talk will describe approaches used by some of the companies who pioneered cloud platforms, Google, Microsoft, Amazon, Netflix & VMware, to tackle complexity when building these giant distributed systems. This talk was presented at JFokus 2014. https://www.jfokus.se/jfokus/talks.jsp#TacklingcomplexityinTRANSCRIPT
![Page 1: Tackling complexity in giant systems: approaches from several cloud providers](https://reader034.vdocuments.site/reader034/viewer/2022042814/554a0897b4c905e56c8b5958/html5/thumbnails/1.jpg)
Patrick Chanezon Director Enterprise Evangelism, Microsoft [email protected] @chanezon
Tackling complexity in giant systems Approaches at Google, Microsoft, Amazon, Netflix & VMware
![Page 2: Tackling complexity in giant systems: approaches from several cloud providers](https://reader034.vdocuments.site/reader034/viewer/2022042814/554a0897b4c905e56c8b5958/html5/thumbnails/2.jpg)
French
Polyglot
Server Side
San Francisco
Developer Relations
@chanezon
![Page 3: Tackling complexity in giant systems: approaches from several cloud providers](https://reader034.vdocuments.site/reader034/viewer/2022042814/554a0897b4c905e56c8b5958/html5/thumbnails/3.jpg)
Dreams Of my childhood
!3
![Page 4: Tackling complexity in giant systems: approaches from several cloud providers](https://reader034.vdocuments.site/reader034/viewer/2022042814/554a0897b4c905e56c8b5958/html5/thumbnails/4.jpg)
Accelerando / Singularity, in a Galaxy far far away
§ Even if we automate ourselves out of a job every 10 years § ...I don’t think the singularity is near!
!4
![Page 5: Tackling complexity in giant systems: approaches from several cloud providers](https://reader034.vdocuments.site/reader034/viewer/2022042814/554a0897b4c905e56c8b5958/html5/thumbnails/5.jpg)
Moore's Law is for Hardware Only
§ Does not apply to software § Productivity gains not keeping up with hardware and bandwidth § Writing software is hard, painful, and still very much a craft
!5
![Page 6: Tackling complexity in giant systems: approaches from several cloud providers](https://reader034.vdocuments.site/reader034/viewer/2022042814/554a0897b4c905e56c8b5958/html5/thumbnails/6.jpg)
Moore's Law’s free lunch is over
§ Herb Sutter, Welcome to the Jungle http://herbsutter.com/welcome-to-the-jungle/
!6
![Page 7: Tackling complexity in giant systems: approaches from several cloud providers](https://reader034.vdocuments.site/reader034/viewer/2022042814/554a0897b4c905e56c8b5958/html5/thumbnails/7.jpg)
Architecture Changes: 60’s Mainframe
![Page 8: Tackling complexity in giant systems: approaches from several cloud providers](https://reader034.vdocuments.site/reader034/viewer/2022042814/554a0897b4c905e56c8b5958/html5/thumbnails/8.jpg)
Architecture Changes: 80’s Client-Server
![Page 9: Tackling complexity in giant systems: approaches from several cloud providers](https://reader034.vdocuments.site/reader034/viewer/2022042814/554a0897b4c905e56c8b5958/html5/thumbnails/9.jpg)
Architecture Changes: 90’s Web
![Page 10: Tackling complexity in giant systems: approaches from several cloud providers](https://reader034.vdocuments.site/reader034/viewer/2022042814/554a0897b4c905e56c8b5958/html5/thumbnails/10.jpg)
Architecture Changes: 2010’s Cloud, HTML5, Mobile
![Page 11: Tackling complexity in giant systems: approaches from several cloud providers](https://reader034.vdocuments.site/reader034/viewer/2022042814/554a0897b4c905e56c8b5958/html5/thumbnails/11.jpg)
Cloud started at Consumer websites solving their needs
• Google, Amazon, Yahoo, Facebook, Twitter
• Large Data Sets
• Storage Capacity growing faster than Moore’s Law
• Fast Networks
• Vertical -> Horizontal scalability
• Open Source Software
• Virtualization
• Cloud is a productization of these infrastructures
• Public Clouds Services: Amazon, Microsoft, Google
• Open Source Software: Hadoop, Open Stack, Eucalyptus, Cloud Foundry, OpenShift
![Page 12: Tackling complexity in giant systems: approaches from several cloud providers](https://reader034.vdocuments.site/reader034/viewer/2022042814/554a0897b4c905e56c8b5958/html5/thumbnails/12.jpg)
Predictions
“The future is already here — it's just not very evenly distributed” William Gibson
!12
![Page 13: Tackling complexity in giant systems: approaches from several cloud providers](https://reader034.vdocuments.site/reader034/viewer/2022042814/554a0897b4c905e56c8b5958/html5/thumbnails/13.jpg)
• Horizontal scalability 2004: Map/Reduce (Hadoop)
• NoSQL 2006: Bigtable (Mongo, Cassandra, HBase, Riak)
• Real Time analytics 2010: Dremel, BigQuery (Impala)
• Horizontally Scalable SQL 2012: Spanner, F1 / Amazon Redshift
![Page 14: Tackling complexity in giant systems: approaches from several cloud providers](https://reader034.vdocuments.site/reader034/viewer/2022042814/554a0897b4c905e56c8b5958/html5/thumbnails/14.jpg)
!14
![Page 15: Tackling complexity in giant systems: approaches from several cloud providers](https://reader034.vdocuments.site/reader034/viewer/2022042814/554a0897b4c905e56c8b5958/html5/thumbnails/15.jpg)
Microsoft - Cloud OS
!15
![Page 16: Tackling complexity in giant systems: approaches from several cloud providers](https://reader034.vdocuments.site/reader034/viewer/2022042814/554a0897b4c905e56c8b5958/html5/thumbnails/16.jpg)
Microsoft - We do Java!
!16
![Page 17: Tackling complexity in giant systems: approaches from several cloud providers](https://reader034.vdocuments.site/reader034/viewer/2022042814/554a0897b4c905e56c8b5958/html5/thumbnails/17.jpg)
Microsoft - Hybrid
!17
![Page 18: Tackling complexity in giant systems: approaches from several cloud providers](https://reader034.vdocuments.site/reader034/viewer/2022042814/554a0897b4c905e56c8b5958/html5/thumbnails/18.jpg)
Microsoft - Multi Cloud
!18
![Page 19: Tackling complexity in giant systems: approaches from several cloud providers](https://reader034.vdocuments.site/reader034/viewer/2022042814/554a0897b4c905e56c8b5958/html5/thumbnails/19.jpg)
Microsoft - Fabric
!19
![Page 20: Tackling complexity in giant systems: approaches from several cloud providers](https://reader034.vdocuments.site/reader034/viewer/2022042814/554a0897b4c905e56c8b5958/html5/thumbnails/20.jpg)
Microsoft - Fabric
!20
![Page 21: Tackling complexity in giant systems: approaches from several cloud providers](https://reader034.vdocuments.site/reader034/viewer/2022042814/554a0897b4c905e56c8b5958/html5/thumbnails/21.jpg)
Microsoft - Fabric
!21
Watch Mark Russinnovich Azure architecture talk http://channel9.msdn.com/Events/TechEd/NorthAmerica/2013/WAD-B402
![Page 22: Tackling complexity in giant systems: approaches from several cloud providers](https://reader034.vdocuments.site/reader034/viewer/2022042814/554a0897b4c905e56c8b5958/html5/thumbnails/22.jpg)
Microsoft Big Data Usability• Agility in Data -> Insight • Excel PowerBI + Azure HD Insight
![Page 23: Tackling complexity in giant systems: approaches from several cloud providers](https://reader034.vdocuments.site/reader034/viewer/2022042814/554a0897b4c905e56c8b5958/html5/thumbnails/23.jpg)
Amazon
!23 Source http://media.amazonwebservices.com/AWS_Overview.pdf
![Page 24: Tackling complexity in giant systems: approaches from several cloud providers](https://reader034.vdocuments.site/reader034/viewer/2022042814/554a0897b4c905e56c8b5958/html5/thumbnails/24.jpg)
Amazon
§ 2 pizza teams, focused on services
§ Eventual consistency (Dynamo paper)
§ Use OSS but don’t contribute much
§ Elastic Beanstalk PaaS .NET, Java, Node.js, PHP, Python, Ruby
§ PaaS partners: Heroku, Cloud Foundry
§ VPC, but no complete hybrid story. Eucalyptus.
!24
![Page 25: Tackling complexity in giant systems: approaches from several cloud providers](https://reader034.vdocuments.site/reader034/viewer/2022042814/554a0897b4c905e56c8b5958/html5/thumbnails/25.jpg)
Netflix
rapid evolution, low mtbiamsh
“mean time between idea and making stuff happen”
functionality and scale now, portability coming
source http://www.slideshare.net/adrianco/netflixoss-meetup!25
![Page 26: Tackling complexity in giant systems: approaches from several cloud providers](https://reader034.vdocuments.site/reader034/viewer/2022042814/554a0897b4c905e56c8b5958/html5/thumbnails/26.jpg)
Netflix
!26
![Page 27: Tackling complexity in giant systems: approaches from several cloud providers](https://reader034.vdocuments.site/reader034/viewer/2022042814/554a0897b4c905e56c8b5958/html5/thumbnails/27.jpg)
VMWare / Pivotal CloudFoundry
!27
Clou
d Pr
ovide
r Int
erfa
ce
Application Service Private
Public
Micro
Data Services
Other Services
Msg Services
vFabric Postgres
vFabric RabbitMQTM
• Open Source: Apache 2 Licensed
• multi language/frameworks
• multi services
• multi cloud
![Page 28: Tackling complexity in giant systems: approaches from several cloud providers](https://reader034.vdocuments.site/reader034/viewer/2022042814/554a0897b4c905e56c8b5958/html5/thumbnails/28.jpg)
Cloud Foundry Logical View
Routers
CloudControllers App
Services
App
HealthManagerExecution Agents
(DEA) Pool
Messaging
UsersDevelopersvmc
![Page 29: Tackling complexity in giant systems: approaches from several cloud providers](https://reader034.vdocuments.site/reader034/viewer/2022042814/554a0897b4c905e56c8b5958/html5/thumbnails/29.jpg)
!29
§ 500 – 5,000 VMs
§ 40+ unique node types
§ 75+ unique software packages
§ 75+ unique environments
§ 2x/week cf.com updates
§ 24x7x365 non-stop operation
§ No-downtime deployments
§ Reliable, robust, repeatable deployments, updates, capacity adjustments
§ Small teams manage many instances
Production Grade Cloud Foundry Clusters
Google style problem è Google style solution
cloudfoundry.com
production, staging, stress, qa, dev
![Page 30: Tackling complexity in giant systems: approaches from several cloud providers](https://reader034.vdocuments.site/reader034/viewer/2022042814/554a0897b4c905e56c8b5958/html5/thumbnails/30.jpg)
!30
BOSH: under the hood
bosh cli
redis natsdb
director healthmon
IaaS CPI
workers
stemcellagent
blobs
“BOSH is deployed by BOSH”
cloudfoundry.com
BOSH User
active jobs
disk
![Page 31: Tackling complexity in giant systems: approaches from several cloud providers](https://reader034.vdocuments.site/reader034/viewer/2022042814/554a0897b4c905e56c8b5958/html5/thumbnails/31.jpg)
IaaS neutral by design
!31
CPI: code complete functional status: “work in progress”
vSphere: battle tested implementation, thousands of deployments vCloud Director: “work in progress”, 2H 2012
contribute: github.com/cloudfoundry/bosh
Cloud Provider Interface (CPI)
Cloud Foundry BOSH
github.com/piston/openstack-bosh-cpi
![Page 32: Tackling complexity in giant systems: approaches from several cloud providers](https://reader034.vdocuments.site/reader034/viewer/2022042814/554a0897b4c905e56c8b5958/html5/thumbnails/32.jpg)
Docker: IaaS -> PaaS continuum
!32
![Page 33: Tackling complexity in giant systems: approaches from several cloud providers](https://reader034.vdocuments.site/reader034/viewer/2022042814/554a0897b4c905e56c8b5958/html5/thumbnails/33.jpg)
Cloud Market
!33
PublicHybridPrivate
IT Pros Devops DevelopersArchitects
![Page 34: Tackling complexity in giant systems: approaches from several cloud providers](https://reader034.vdocuments.site/reader034/viewer/2022042814/554a0897b4c905e56c8b5958/html5/thumbnails/34.jpg)
Lessons to build your cloud
!34
Research Papers
Hybrid Cloud
2 Pizza teams
Open Source
Portability
![Page 35: Tackling complexity in giant systems: approaches from several cloud providers](https://reader034.vdocuments.site/reader034/viewer/2022042814/554a0897b4c905e56c8b5958/html5/thumbnails/35.jpg)
Thank You!@WindowsAzure
!
@chanezon
!
Website : www.windowsazure.com/
t
t
![Page 36: Tackling complexity in giant systems: approaches from several cloud providers](https://reader034.vdocuments.site/reader034/viewer/2022042814/554a0897b4c905e56c8b5958/html5/thumbnails/36.jpg)
References
§ Microsoft Windows Azure http://www.windowsazure.com/
§ Mark Russinnovich Azure architecture talk http://channel9.msdn.com/Events/TechEd/NorthAmerica/2013/WAD-B402
§ Scott Guthrie’s blog http://weblogs.asp.net/scottgu/
§ Netflix OSS presentations source http://www.slideshare.net/adrianco/netflixoss-meetup
§ Google Research papers http://research.google.com/pubs/papers.html
§ Amazon architecture site http://aws.amazon.com/architecture/
!36
![Page 37: Tackling complexity in giant systems: approaches from several cloud providers](https://reader034.vdocuments.site/reader034/viewer/2022042814/554a0897b4c905e56c8b5958/html5/thumbnails/37.jpg)
Lessons to build your cloud
§ Google: Research papers
• Horizontally scalable uniform infrastructure for common workloads
• Set of managed Data services: SQL, Document, Graph
• Hardware / Software interaction to innovate
§ Microsoft: Cloud OS / Hybrid Cloud
• Unit of scale: process -> service, kernel -> fabric, server -> datacenter
• Fabric to automate updates, monitoring
§ Amazon: DevOps
• Pizza box teams building & operating service
§ Netflix: Monkeys!
• Test and production lines blur: Monkeys, A/B Testing
§ VMware/Pivotal: Open Source
• Open Source: vendor independence, sharing the load, recruit
§ Docker: Portability
§ IaaS/PaaS continuum, both useful, depends on needs
§ Multi vendor, multi cloud, mix of proprietary & Open Source
§ Industry Vertical / Sovereign / Geo clouds providers!37
![Page 38: Tackling complexity in giant systems: approaches from several cloud providers](https://reader034.vdocuments.site/reader034/viewer/2022042814/554a0897b4c905e56c8b5958/html5/thumbnails/38.jpg)
Papers / Talks
§ Simon Wardley, Oscon 09 “Cloud - Why IT Matters”
§ Tim O’Reilly article on internet os
§ Peter Deutsch’s 8 Fallacies of Distributed Computing
§ Brewer’s CAP Theorem
§ Gregor Hohpe’s Starbucks Does Not Use Two-Phase Commit
§ Herb Sutter, Welcome to the Junglehttp://herbsutter.com/welcome-to-the-jungle/
§ Stuff I tag http://www.delicious.com/chanezon/
§ More specifically http://www.delicious.com/chanezon/cloudfoundry
§ My previous Talks http://www.slideshare.net/chanezon
§ My list of favorite books http://www.chanezon.com/pat/soft_books.html
!38
![Page 39: Tackling complexity in giant systems: approaches from several cloud providers](https://reader034.vdocuments.site/reader034/viewer/2022042814/554a0897b4c905e56c8b5958/html5/thumbnails/39.jpg)
Books / Articles
§ Nick Carr, The Big Switch
§ Eric Raymond, The Art of Unix Programming
§ Weinberg, Psychology of Computer Programming
§ Wes python book
§ Mark html5 book
§ Kent Beck XP
§ Hunt, Thomas, The Pragmatic Programmer
§ Ade Oshineye, Apprenticeship Patterns
§ Matt Cutt's Ignite Talk IO 2011, Trying different things
§ Josh Bloch talk about api design
§ Larry and Sergey, Anatomy of a Search Engine
§ Rob Pike, The Practice of Programming
!39
![Page 40: Tackling complexity in giant systems: approaches from several cloud providers](https://reader034.vdocuments.site/reader034/viewer/2022042814/554a0897b4c905e56c8b5958/html5/thumbnails/40.jpg)
Trends
!40
Industry Craft