Pets, Cattle, Rabbits and Microbes
Shiva N
Amazon Web Sevices
MSA-Summit
Evolution	of	Microservices and	beyond…
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
SOA
Coarse-grained
Microservices
Fine-grained
Monolithic
Single	Unit
MSA-SummitIsnt Microservices just SOA?
SOA Microservices
Smart	pipes,	dumb	endpoints Simple	pipes,	smart	endpoints
Centralised governance (ESB) Minimal governance
Proprietary	standards Open	standards
Services provide myriad	functions Services are	single	purposed
Distributed	monoliths? Beware	of	the	microliths!
MSA-SummitThe Death Star
• Single-purpose
• Connect	only	through	APIs
• Connect	over	HTTPS
• Largely	“black	boxes”	to	each	
other
• “DevOps”
MSA-SummitLots of folk are doing it, and talking about it
"I	suppose	it	is	tempting,	if	the	only	tool	you	have	is	
a	hammer,	to	treat	everything	as	if	it	were	a	nail.”
- Abraham	Maslow	(1966)
Maslow’s	Hammer
Image:	DSC_1607/Justin	Baeder/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
“organizations	which	design	systems	
...	are	constrained	to	produce	
designs	which	are	copies	of	the	
communication structures of	these	
organizations”
- Melvin	Conway
Image:	https://twitter.com/conways_law
MSA-Summit2 Pizza Teams
• Two-pizza	teams
• Full	ownership	
• Full	accountability
• Aligned	incentives
• “DevOps”
MSA-SummitRapid Innovation
= 50 million deployments a year
Thousands of teams
× Microservice	architecture
× Continuous	delivery
× Multiple	environments
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 delivery	pipelinesservices
releasetestbuild
releasetestbuild
releasetestbuild
releasetestbuild
releasetestbuild
releasetestbuild
MSA-SummitMonitoring Microservices
Image:	http://techblog.netflix.com/2015/02/a-microscope-on-microservices.html
MSA-SummitCommon Language
API	Calls
Websites
Mobile
Apps
Wearable
Services
API	Calls
API	Gateway
Authentication
&	Authorization
Caching	&	
Throttling
Business Logic
API	Calls
MSA-SummitFoundations and Scaffolding
Design Patterns
Image:	https://commons.wikimedia.org/wiki/File:Bamboo_scaffolding,_Hong_Kong_2.jpg
MSA-Summit12 Factor Apps
Codebase
Dependenci
es
Config
Backing	
Services
Build	
Release
Run
Processes Port	Binding
Dev/Prod	
parity
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
• Autoscaling	Launch	Configuration
• 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
“No	server	is	easier	to	
manage	than	no	server”
Werner	Vogels (CTO,	Amazon.com)
MSA-SummitServerless Compute – AWS Lambda
COMPUTE	
SERVICE
EVENT	
DRIVEN
Run	arbitrary	code	
without	managing	
servers
Code	only	runs	when	it	
needs	to	run
Scaling Never	pay	for	idle
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 patterns	are	changing	how	we	are	building	APIs	and	our	
applications	in	general
• Team	structure	plays	an	incredible	role	in	building,	running,	scaling	
Microservices
• Focusing	on	flexible	tooling	that	provide	standards	can	help	an	
organization	focus	on	what	matters
• Standardize on	the	fundamental	components below	your	application	
and	evolve	reusable	design	patterns	that	are	relevant	to	you
Thank You
Shiva N
Amazon Web Sevices
MSA-Summit

Pets, Cattle, Rabbits and Microbes