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

Pets, Cattle, Rabbits and Microbes

Jan 07, 2017

Download

Internet

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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