pets, cattle, rabbits and microbes

42
Pets, Cattle, Rabbits and Microbes Shiva N Amazon Web Sevices MSA-Summit Evolution of Microservices and beyond…

Upload: shiva-narayanaswamy

Post on 07-Jan-2017

90 views

Category:

Internet


1 download

TRANSCRIPT

Page 1: Pets, Cattle, Rabbits and Microbes

Pets, Cattle, Rabbits and MicrobesShiva NAmazon Web Sevices

MSA-Summit

EvolutionofMicroservices andbeyond…

Page 2: Pets, Cattle, Rabbits and Microbes

MSA-SummitPhysical Evolution

Image:https://upload.wikimedia.org/wikipedia/commons/1/1c/Evolution-des-wissens.jpg

Page 3: Pets, Cattle, Rabbits and Microbes

MSA-SummitTurings Machine

Image:https://en.wikipedia.org/wiki/Alan_Turing

Page 4: Pets, Cattle, Rabbits and Microbes

MSA-SummitBlades and Racks

Image:https://en.wikipedia.org/wiki/Blade_server

Page 5: Pets, Cattle, Rabbits and Microbes

MSA-SummitCubieboard

Image:https://en.wikipedia.org/wiki/Cubieboard

Page 6: Pets, Cattle, Rabbits and Microbes

MSA-SummitArchitecture Evolution

Image:https://upload.wikimedia.org/wikipedia/commons/1/1c/Evolution-des-wissens.jpg

Page 7: Pets, Cattle, Rabbits and Microbes

MSA-SummitThe Monolith

Image:1869/ptwo/license

Page 8: Pets, Cattle, Rabbits and Microbes

MSA-SummitSOA

Page 9: Pets, Cattle, Rabbits and Microbes

MSA-SummitMicroservices

Image:https://en.wikipedia.org/wiki/Swarm_behaviour

Page 10: Pets, Cattle, Rabbits and Microbes

MSA-SummitArchitecture Evolution

SOACoarse-grained

MicroservicesFine-grained

MonolithicSingleUnit

Page 11: Pets, Cattle, Rabbits and Microbes

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!

Page 12: Pets, Cattle, Rabbits and Microbes

MSA-SummitThe Death Star

• Single-purpose

• ConnectonlythroughAPIs

• ConnectoverHTTPS

• Largely“blackboxes”toeachother

• “DevOps”

Page 13: Pets, Cattle, Rabbits and Microbes

MSA-SummitLots of folk are doing it, and talking about it

Page 14: Pets, Cattle, Rabbits and Microbes

"Isupposeitistempting,iftheonlytoolyouhaveisahammer,totreateverythingasifitwereanail.”

- AbrahamMaslow(1966)

Maslow’sHammer

Image:DSC_1607/JustinBaeder/license

Page 15: Pets, Cattle, Rabbits and Microbes

MSA-SummitFoundations and Scaffolding

Image:https://commons.wikimedia.org/wiki/File:Bamboo_scaffolding,_Hong_Kong_2.jpg

Page 16: Pets, Cattle, Rabbits and Microbes

MSA-SummitFoundations and Scaffolding

Organization Culture

Image:https://commons.wikimedia.org/wiki/File:Bamboo_scaffolding,_Hong_Kong_2.jpg

Page 17: Pets, Cattle, Rabbits and Microbes

MSA-SummitConways Law

“organizationswhichdesignsystems...areconstrainedtoproducedesignswhicharecopiesofthecommunication structures oftheseorganizations”

- MelvinConway

Image:https://twitter.com/conways_law

Page 18: Pets, Cattle, Rabbits and Microbes

MSA-Summit2 Pizza Teams

• Two-pizzateams

• Fullownership

• Fullaccountability

• Alignedincentives

• “DevOps”

Page 19: Pets, Cattle, Rabbits and Microbes

MSA-SummitRapid Innovation

= 50 million deployments a year

Thousands of teams× Microservicearchitecture

× Continuousdelivery

× Multipleenvironments

Page 20: Pets, Cattle, Rabbits and Microbes

MSA-SummitFoundations and Scaffolding

Processes and Tooling

Image:https://commons.wikimedia.org/wiki/File:Bamboo_scaffolding,_Hong_Kong_2.jpg

Page 21: Pets, Cattle, Rabbits and Microbes

MSA-SummitMicroservice development lifecycle

developers deliverypipelinesservices

releasetestbuild

releasetestbuild

releasetestbuild

releasetestbuild

releasetestbuild

releasetestbuild

Page 22: Pets, Cattle, Rabbits and Microbes

MSA-SummitMonitoring Microservices

Image:http://techblog.netflix.com/2015/02/a-microscope-on-microservices.html

Page 23: Pets, Cattle, Rabbits and Microbes

MSA-SummitCommon Language

APICalls

Websites

MobileApps

Wearable

Services

APICalls

APIGateway

Authentication&Authorization

Caching&Throttling

Business Logic

APICalls

Page 24: Pets, Cattle, Rabbits and Microbes

MSA-SummitFoundations and Scaffolding

Design Patterns

Image:https://commons.wikimedia.org/wiki/File:Bamboo_scaffolding,_Hong_Kong_2.jpg

Page 25: Pets, Cattle, Rabbits and Microbes

MSA-Summit12 Factor Apps

Codebase Dependencies Config Backing

Services

BuildReleaseRun

Processes PortBinding

Dev/Prodparity Logs Admin

Processes

Concurrency

Disposability

http://12factor.net/

Page 26: Pets, Cattle, Rabbits and Microbes

MSA-Summit

Pets

Physical/Virtualization

Physical/Virtualization

Page 27: Pets, Cattle, Rabbits and Microbes

MSA-Summit3 Tier Web Application

Pets

Page 28: Pets, Cattle, Rabbits and Microbes

MSA-Summit

Pets Cattle

Physical/Virtualization Cloud

Physical/Virtualization Cloud

Page 29: Pets, Cattle, Rabbits and Microbes

MSA-SummitFactory Pattern

Pets Cattle

• AutoscalingLaunchConfiguration• Reflection=Metadata

Page 30: Pets, Cattle, Rabbits and Microbes

MSA-SummitThats nice… Can we make it smaller?

Image:http://www.nowverybad.com/honey-i-shrunk-the-kids-1989/

Page 31: Pets, Cattle, Rabbits and Microbes

MSA-Summit

Pets Cattle

Physical/Virtualization Cloud

Rabbits

Physical/Virtualization Cloud

Containerization

Containerization

Page 32: Pets, Cattle, Rabbits and Microbes

MSA-SummitSidecar Pattern

Pets Cattle Rabbits

Page 33: Pets, Cattle, Rabbits and Microbes

MSA-SummitAmbassador pattern

Pets Cattle Rabbits

Page 34: Pets, Cattle, Rabbits and Microbes

MSA-SummitAdapter Pattern

Pets Cattle Rabbits

Page 35: Pets, Cattle, Rabbits and Microbes

MSA-Summit

Pets Cattle

Physical/Virtualization Cloud

Rabbits Microbes

Physical/Virtualization Cloud

Containerization Serverless

Containerization Serverless

Page 36: Pets, Cattle, Rabbits and Microbes

MSA-Summit

“Noserveriseasiertomanagethannoserver”WernerVogels (CTO,Amazon.com)

Page 37: Pets, Cattle, Rabbits and Microbes

MSA-SummitServerless Compute – AWS Lambda

COMPUTESERVICE

EVENTDRIVEN

Runarbitrarycodewithoutmanaging

servers

Codeonlyrunswhenitneedstorun

Scaling Neverpayforidle

Page 38: Pets, Cattle, Rabbits and Microbes

MSA-SummitEvent Driven Architectures

Pets Cattle Rabbits Microbes

Page 39: Pets, Cattle, Rabbits and Microbes

MSA-SummitServerless Web Application

Pets Cattle Rabbits Microbes

Page 40: Pets, Cattle, Rabbits and Microbes

MSA-SummitServerless Mobile Backend

Pets Cattle Rabbits Microbes

Page 41: Pets, Cattle, Rabbits and Microbes

MSA-SummitSummary

• Microservices patternsarechanginghowwearebuildingAPIsandourapplicationsingeneral

• Teamstructureplaysanincredibleroleinbuilding,running,scalingMicroservices

• Focusingonflexibletoolingthatprovidestandardscanhelpanorganizationfocusonwhatmatters

• Standardize onthefundamentalcomponents belowyourapplicationandevolvereusabledesignpatternsthatarerelevanttoyou

Page 42: Pets, Cattle, Rabbits and Microbes

Thank YouShiva NAmazon Web Sevices

MSA-Summit