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

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

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

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]