pets, cattle, rabbits and microbes
TRANSCRIPT
Pets, Cattle, Rabbits and MicrobesShiva NAmazon Web Sevices
MSA-Summit
EvolutionofMicroservices andbeyond…
MSA-SummitPhysical Evolution
Image:https://upload.wikimedia.org/wikipedia/commons/1/1c/Evolution-des-wissens.jpg
MSA-SummitTurings Machine
Image:https://en.wikipedia.org/wiki/Alan_Turing
MSA-SummitBlades and Racks
Image:https://en.wikipedia.org/wiki/Blade_server
MSA-SummitCubieboard
Image:https://en.wikipedia.org/wiki/Cubieboard
MSA-SummitArchitecture Evolution
Image:https://upload.wikimedia.org/wikipedia/commons/1/1c/Evolution-des-wissens.jpg
MSA-SummitThe Monolith
Image:1869/ptwo/license
MSA-SummitSOA
MSA-SummitMicroservices
Image:https://en.wikipedia.org/wiki/Swarm_behaviour
MSA-SummitArchitecture Evolution
SOACoarse-grained
MicroservicesFine-grained
MonolithicSingleUnit
MSA-SummitIsnt Microservices just SOA?
SOA Microservices
Smartpipes,dumbendpoints Simplepipes,smartendpoints
Centralised governance (ESB) Minimal governance
Proprietarystandards Openstandards
Services provide myriadfunctions Services aresinglepurposed
Distributedmonoliths? Bewareofthemicroliths!
MSA-SummitThe Death Star
• Single-purpose
• ConnectonlythroughAPIs
• ConnectoverHTTPS
• Largely“blackboxes”toeachother
• “DevOps”
MSA-SummitLots of folk are doing it, and talking about it
"Isupposeitistempting,iftheonlytoolyouhaveisahammer,totreateverythingasifitwereanail.”
- AbrahamMaslow(1966)
Maslow’sHammer
Image:DSC_1607/JustinBaeder/license
MSA-SummitFoundations and Scaffolding
Image:https://commons.wikimedia.org/wiki/File:Bamboo_scaffolding,_Hong_Kong_2.jpg
MSA-SummitFoundations and Scaffolding
Organization Culture
Image:https://commons.wikimedia.org/wiki/File:Bamboo_scaffolding,_Hong_Kong_2.jpg
MSA-SummitConways Law
“organizationswhichdesignsystems...areconstrainedtoproducedesignswhicharecopiesofthecommunication structures oftheseorganizations”
- MelvinConway
Image:https://twitter.com/conways_law
MSA-Summit2 Pizza Teams
• Two-pizzateams
• Fullownership
• Fullaccountability
• Alignedincentives
• “DevOps”
MSA-SummitRapid Innovation
= 50 million deployments a year
Thousands of teams× Microservicearchitecture
× Continuousdelivery
× Multipleenvironments
MSA-SummitFoundations and Scaffolding
Processes and Tooling
Image:https://commons.wikimedia.org/wiki/File:Bamboo_scaffolding,_Hong_Kong_2.jpg
MSA-SummitMicroservice development lifecycle
developers deliverypipelinesservices
releasetestbuild
releasetestbuild
releasetestbuild
releasetestbuild
releasetestbuild
releasetestbuild
MSA-SummitMonitoring Microservices
Image:http://techblog.netflix.com/2015/02/a-microscope-on-microservices.html
MSA-SummitCommon Language
APICalls
Websites
MobileApps
Wearable
Services
APICalls
APIGateway
Authentication&Authorization
Caching&Throttling
Business Logic
APICalls
MSA-SummitFoundations and Scaffolding
Design Patterns
Image:https://commons.wikimedia.org/wiki/File:Bamboo_scaffolding,_Hong_Kong_2.jpg
MSA-Summit12 Factor Apps
Codebase Dependencies Config Backing
Services
BuildReleaseRun
Processes PortBinding
Dev/Prodparity Logs Admin
Processes
Concurrency
Disposability
http://12factor.net/
MSA-Summit
Pets
Physical/Virtualization
Physical/Virtualization
MSA-Summit3 Tier Web Application
Pets
MSA-Summit
Pets Cattle
Physical/Virtualization Cloud
Physical/Virtualization Cloud
MSA-SummitFactory Pattern
Pets Cattle
• AutoscalingLaunchConfiguration• Reflection=Metadata
MSA-SummitThats nice… Can we make it smaller?
Image:http://www.nowverybad.com/honey-i-shrunk-the-kids-1989/
MSA-Summit
Pets Cattle
Physical/Virtualization Cloud
Rabbits
Physical/Virtualization Cloud
Containerization
Containerization
MSA-SummitSidecar Pattern
Pets Cattle Rabbits
MSA-SummitAmbassador pattern
Pets Cattle Rabbits
MSA-SummitAdapter Pattern
Pets Cattle Rabbits
MSA-Summit
Pets Cattle
Physical/Virtualization Cloud
Rabbits Microbes
Physical/Virtualization Cloud
Containerization Serverless
Containerization Serverless
MSA-Summit
“Noserveriseasiertomanagethannoserver”WernerVogels (CTO,Amazon.com)
MSA-SummitServerless Compute – AWS Lambda
COMPUTESERVICE
EVENTDRIVEN
Runarbitrarycodewithoutmanaging
servers
Codeonlyrunswhenitneedstorun
Scaling Neverpayforidle
MSA-SummitEvent Driven Architectures
Pets Cattle Rabbits Microbes
MSA-SummitServerless Web Application
Pets Cattle Rabbits Microbes
MSA-SummitServerless Mobile Backend
Pets Cattle Rabbits Microbes
MSA-SummitSummary
• Microservices patternsarechanginghowwearebuildingAPIsandourapplicationsingeneral
• Teamstructureplaysanincredibleroleinbuilding,running,scalingMicroservices
• Focusingonflexibletoolingthatprovidestandardscanhelpanorganizationfocusonwhatmatters
• Standardize onthefundamentalcomponents belowyourapplicationandevolvereusabledesignpatternsthatarerelevanttoyou
Thank YouShiva NAmazon Web Sevices
MSA-Summit