und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie...

49
Die dunkle Seite der Microservices ...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still

Transcript of und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie...

Page 1: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

DiedunkleSeitederMicroservices

...undwiedubesiegensiekannst

TobiasBayer,HendrikStill

Page 2: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

WassindMicroservices?

Page 3: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

WassindMicroservices?

AufgeteiltnachGeschäftsfunktionenLeichtgewichtigeProtokolle(z.B.RESTüberHTTP)EinProzessproMicroservice-Instanz

Page 4: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

DieMachtiststarkinihnenSkalierbarkeitAusfallsicherheitPolyglotteEntwicklungKleineCodebasisUnabhängigeEntwicklungsteamsUnabhängigesDeployment

Page 5: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

DiedunkleSeitederMacht

Page 6: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

DiedunkleSeitederMacht

MonitoringVerteilteDaten/TransaktionenCodeduplikationVersionierungFehlerbehandlungSicherheitServiceDiscoveryTestbarkeit

Page 7: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

ServiceDiscovery

Page 8: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

ServiceDiscoveryDassindnichtdieDroiden,dieihrsucht

Page 9: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

ServiceDiscovery

Eureka

NetflixOSSSinglePurposeRegistryRESTInterfaceJavaClientSpringIntegrationClient-SideLoadBalancingmitRibbon

Page 10: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

ServiceDiscovery

Page 11: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

ServiceDiscoveryDemo

Page 12: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

Consumer-DrivenContracts

Page 13: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

Consumer-DrivenContracts

Integrationstests

Page 14: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

Consumer-DrivenContracts

Page 15: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

Consumer-DrivenContracts

Page 16: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

Consumer-DrivenContracts

Page 17: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

Consumer-DrivenContracts

Page 18: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

Consumer-DrivenContracts

Page 19: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

Consumer-DrivenContracts

Page 20: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

Consumer-DrivenContracts

Page 21: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

Consumer-DrivenContracts

Page 22: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

Consumer-DrivenContracts

Page 23: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

Consumer-DrivenContracts

Page 24: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

Consumer-DrivenContracts

Page 25: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

Consumer-DrivenContracts

Page 26: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

Consumer-DrivenContracts

Page 27: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

Consumer-DrivenContracts

Demo

Page 28: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

Deployment-PipelinemitCDC

Page 29: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

Deployment-PipelinemitCDCConsumer

Head Prod

Head

ProviderProd

EnterthePactMatrix.Or,howtodecouplethereleasecyclesofyourmicroservices

Page 30: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

Deployment-PipelinemitCDCConsumer

Head Prod

Head

ProviderProd

EnterthePactMatrix.Or,howtodecouplethereleasecyclesofyourmicroservices

Page 31: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

Deployment-PipelinemitCDCConsumer

Head Prod

Head

ProviderProd

EnterthePactMatrix.Or,howtodecouplethereleasecyclesofyourmicroservices

Page 32: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

Deployment-PipelinemitCDCConsumer

Head Prod

Head

ProviderProd

EnterthePactMatrix.Or,howtodecouplethereleasecyclesofyourmicroservices

Page 33: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

Deployment-PipelinemitCDCConsumer

Head Prod

Head

ProviderProd

EnterthePactMatrix.Or,howtodecouplethereleasecyclesofyourmicroservices

Page 34: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

Deployment-PipelinemitCDCConsumer

Head Prod

Head

ProviderProd

EnterthePactMatrix.Or,howtodecouplethereleasecyclesofyourmicroservices

Page 35: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

Deployment-PipelinemitCDCConsumer

Head Prod

Head

ProviderProd

AlreadyTested!

EnterthePactMatrix.Or,howtodecouplethereleasecyclesofyourmicroservices

Page 36: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

Deployment-PipelinemitCDC

Pact-Broker

UploadPactsDownloadPactsTagPactsWeboberfläche

Page 37: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

Deployment-PipelinemitCDC

Page 38: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

Deployment-PipelinemitCDC

ProviderPipeline

Page 39: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

Deployment-PipelinemitCDC

gradle build

Page 40: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

Deployment-PipelinemitCDC

docker build -t productpriceservice:test .docker push productpriceservice:test

Page 41: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

Deployment-PipelinemitCDC

#start test containerdocker run ... productpriceservice:test#wait for the container to startsleep 10#verify pact with specific gradle file./gradlew -b pact_verification_ci/build.gradle /-P pactProductPriceServiceHost=$CIP /-P pactProductPriceServiceTag="latest/prod" pactVerify#stop test containerdocker rm -f $CID

Page 42: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

Deployment-PipelinemitCDC

#start docker instance with new imagedocker run ... productpriceservice:test#tag docker image as productiondocker tag productpriceservice:test productpriceservice:proddocker push productpriceservice:prod

Page 43: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

Deployment-PipelinemitCDC

ConsumerPipeline

Page 44: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

Deployment-PipelinemitCDC

gradle buildgradle pactPublish

Page 45: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

Deployment-PipelinemitCDC

docker build -t user/productservice:test .docker push user/productservice:test

Page 46: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

Deployment-PipelinemitCDC

#start docker instance with provider imagedocker run ... productdetailsservice:prod#wait for the container to startsleep 10#verify pact with specific gradle file./gradlew -b pact_verification_ci/build.gradle \-P pactProductDetailsServiceHost=$CIP \-P pactProductDetailsServiceTag="latest" pactVerify_productDetailsServiceProvider#stop test containerdocker rm -f $CID

#start docker instance with provider imagedocker run ... microservicesplayground_productpriceservice:prod#wait for the container to startsleep 10...

Page 47: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

Deployment-PipelinemitCDC

#start docker instance with new imagedocker run ... productservice:test#tag docker image as productiondocker tag user/productservice:test productservice:proddocker push productservice:prod

Page 48: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

Deployment-PipelinemitCDC

curl -X PUT -H "Content-Type: application/json" /http://pact-broker:9292/pacticipants/Product_Service //versions/1.0.0/tags/prod

Page 49: und wie du besiegen sie kannst Die dunkle Seite der · Microservices...und wie du besiegen sie kannst Tobias Bayer, Hendrik Still. ... Netflix OSS Single Purpose Registry REST Interface

ContactInformation

TobiasBayer:[email protected]

HendrikStill:[email protected]