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#Tacklingcomplexityin
Tackling complexity in giant systems: approaches from several cloud providers
1. Tackling complexity in giant systems
Approaches at Google, Microsoft, Amazon, Netflix & VMware
Patrick Chanezon
Director Enterprise Evangelism, Microsoft
patric@microsoft.com
@chanezon
4. 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
5. 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
6. Moore's Law’s free lunch is over
§
!6
Herb Sutter, Welcome to the Jungle
http://herbsutter.com/welcome-to-the-jungle/
11. 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
24. 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
25. 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
27. VMWare / Pivotal CloudFoundry
• Open Source: Apache 2 Licensed
• multi language/frameworks
• multi services
• multi cloud
Se
Private
Public
ro
dP
ou
Other
Services
Cl
ce
Msg Services
rvi
vFabric
RabbitMQTM
!27
vid
e
n
tio
Data
Services
rI
nte
ca
rfa
pli
ce
Ap
vFabric
Postgres
Micro
29. Production Grade Cloud Foundry Clusters
§
§
§
§
§
§
§
§
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
Google style problem è
!29
cloudfoundry.com
production, staging, stress, qa, dev
Google style solution
30. BOSH: under the hood
BOSH User
“BOSH is deployed by BOSH”
bosh cli
director
healthmon
db
redis
nats
workers
IaaS CPI
!30
blobs
agent
stemcell
cloudfoundry.com
active jobs
disk
31. IaaS neutral by design
vSphere: battle tested implementation, thousands of
deployments
vCloud Director: “work in progress”, 2H 2012
CPI: code complete
functional status: “work in progress”
Cloud Foundry BOSH
Cloud Provider Interface (CPI)
github.com/piston/openstack-bosh-cpi
contribute: github.com/cloudfoundry/bosh
!31
36. 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
37. 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
38. Papers / Talks
§
§
§
§
§
§
Simon Wardley, Oscon 09 “Cloud - Why IT Matters”
§
§
§
§
Stuff I tag http://www.delicious.com/chanezon/
!38
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 Jungle
http://herbsutter.com/welcome-to-the-jungle/
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
39. Books / Articles
§
§
§
§
§
§
§
§
§
§
§
§
!39
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