SlideShare a Scribd company logo
Cloud native
Continuous Delivery
Christian Deger, christian@deger.eu, @cdeger
Continuous Lifecycle London, 17.05.2018
Cloud native Continuous Delivery
• Cloud Native Computing Foundation
• Container packaged
• Dynamically managed
• Microservices oriented
• My opinion
• Serverless, FaaS
• Managed services
Cloud native Continuous Delivery
• Bring changes into production
• Fast
• Reliable
• Repeatable
• Traceable
• In order to
• Get fast feedback
• Lower risk
Microservices
Microservices
Speed
Microservices
Speed
Scale the organization
Microservices
Speed
Fast local decisions
Scale the organization
Microservices
Speed
Fast local decisionsAutonomous teams
Scale the organization
Microservices
Speed
Fast local decisionsAutonomous teams
Scale the organization
Loosely coupled
Microservices
Speed
Fast local decisionsAutonomous teams
Strong boundaries
Scale the organization
Loosely coupled
Microservices
Speed
Fast local decisionsAutonomous teams
Strong boundaries
Scale the organization
Independent deployable
Loosely coupled
Microservices
Speed
Fast local decisionsAutonomous teams
Strong boundaries
Technology diversity
Scale the organization
Independent deployable
Loosely coupled
Development
“Change”
Dev
Development
“Change”
Operations
”Stability”
Ops
Development
“Change”
Operations
”Stability”
Dev and Ops silos
Development
“Change”
Operations
”Stability”
Dev and Ops silos
Cross-functional teams
Science and Continuous Delivery
Forsgren, Nicole and Humble, Jez, The Role of Continuous Delivery in IT and Organizational Performance (October 27, 2015). Forsgren, N., J. Humble
(2016). "The Role of Continuous Delivery in IT and Organizational Performance." In the Proceedings of the Western Decision Sciences Institute (WDSI)
2016, Las Vegas, NV. . Available at SSRN: http://ssrn.com/abstract=2681909 or http://dx.doi.org/10.2139/ssrn.2681909
Deployment Pipeline
Simplified deployment pipeline
Application code in
one repository per
service.
Simplified deployment pipeline
Application code in
one repository per
service.
CI
Deployment package
as artifact.
Simplified deployment pipeline
Application code in
one repository per
service.
CI
Deployment package
as artifact.
CD
Deliver package to
production
Code hosting is commodity
Application code in
one repository per
service.
CI
Deployment package
as artifact.
CD
Deliver package to
production
• GitHub, GitLab, Bitbucket, …
• Increased developer productivity
• Ecosystem: Apps and integrations
• Security
• Account Management, SSO, MFA
• git-secrets
• Backup using clone/fetch
Code hosting: Managed over self-hosted
One tool?
CI
CI/CD tool
with support for
deployment pipelines
CD
• Simpler
• Better overview
Two tools?
CI
CI tool
CD
CD tool
Artifact as
trigger/ handover
• Best tool for the job
• More complex
• Travis CI, CircleCI, GitLab CI, …
• Deploy agent needs access to production
• Use separate tools for CI and CD
• AWS Code*
• Definitely for OSS
Managed deployment pipelines?
• CD infrastructure should be the first task in a new project
• CD should not become a snowflake itself
• For disaster recovery you will need your CD infrastructure
• Aim for “CD as a service”
Automate CD infrastructure
• Containerized
• Isolated builds – bring your own agent
• Elastic agents
• Container as artifact
• Pipeline as code
• Declarative in service repository
• Fast and simple bootstrapping of new pipelines
• Avoid single, shared CI instance
New CI/CD practices
• Everything that used to be good practices
• No CI theatre
• Embrace deployment pipelines
• No smarts in the CI tool
Old CI/CD practices – Recap
Pets?
Cattle, not pets
Burgers, not cattle
Cloud native deployment pipeline
Application code and
infrastructure
specification in one
repository per service.
Cloud native deployment pipeline
Application code and
infrastructure
specification in one
repository per service.
CI
Deployment package
and infrastructure
declaration as
artifact.
Cloud native deployment pipeline
Application code and
infrastructure
specification in one
repository per service.
CI
Deployment package
and infrastructure
declaration as
artifact.
CD
1. Create or update
service infrastructure.
Cloud native deployment pipeline
Application code and
infrastructure
specification in one
repository per service.
CI
Deployment package
and infrastructure
declaration as
artifact.
CD
1. Create or update
service infrastructure.
2. New instances pull
down package and
start application.
No infrastructure monolith
• Follow microservices boundaries
• At least one stack per microservice
Decompose into Micro-Infrastructures
• Macro stack(s)
• Outputs parameters exported
• Keep it small, only things that don’t
change often
• No services
Macro-Infrastructure
• Network
• Security
• Bastion Host
• Services share macro stack
• Service stacks import parameters
• Service teams own service stack
• All services are in service stacks
Shared stack and service stacks
• Services have dependencies
• CD infrastructure
• Macro stack
• Base images (AMI, container)
• …
• But avoid explicit pipeline dependencies
• Try to reference pinned dependencies
Isolate deployment pipelines
Deployment
You build it,
you run it
How many environments?
V2V3
V6 V5
V4
V7
V5
V8
Enginee
r
CI Dev Staging
V1
V4
Prod
• Integrate in production
• Consumer-driven contract testing
• Reduce impact of failures
• MTTR over MTBF
• Monitoring
• Canary releases
• Rollbacks
• Semantic monitoring
No staging environment
• Separate code deployment from feature release
• Trunk-based development
• No long lived feature branches
Feature toggles
Feature toggles – release and experiment
• Product is in charge of releasing a feature
• Canary releases
• A/B testing
Immutable deployment patterns
Function as a Service - FaaS
Done 
Function as a Service - FaaS
Lifecycle of immutable servers/containers
Created
V3
Lifecycle of immutable servers/containers
Created
V3
Healthcheck
ok
V3
Lifecycle of immutable servers/containers
Created
V3
Healthcheck
ok
V3
Traffic from
load balancer
V3
Lifecycle of immutable servers/containers
V3
Created
V3
Healthcheck
ok
V3
Traffic from
load balancer
V3
Connections
drained
Lifecycle of immutable servers/containers
V3
Created
V3
Healthcheck
ok
V3
Traffic from
load balancer
V3
Terminated
V3
Connections
drained
Lifecycle of immutable servers/containers
V3
Created
V3
Healthcheck
ok
V3
Traffic from
load balancer
V3
Terminated
V3
Connections
drained
• No need for configuration management tools: Chef, Puppet, Ansible
• Patches/Security? Alert on base image age
• Simpler with stateless services
Rolling update
V3 V3 V3
Rolling update
V3 V3 V3 V4
Rolling update
V3 V3 V3 V4
Rolling update
V3 V3 V3 V4
Rolling update
V3 V3 V4V3
Rolling update
V3 V3 V4V3
Rolling update
V3 V3 V4
Rolling update
V3 V3 V4 V4
Rolling update
V3 V4 V4
Rolling update
V3 V4 V4 V4
Rolling update
V4 V4 V4
Rolling update
V4 V4 V4
• Only few additional resources required during deployment
• Takes some time
Blue/green
V3 V3 V3
Blue/green
V3 V3 V3 V4 V4 V4
Blue/green
V3 V3 V3 V4 V4 V4
Blue/green
V4 V4 V4V3 V3 V3
Blue/green
V4 V4 V4V3V3V3
Blue/green
V4 V4 V4V3V3V3
• Can keep drained instances for faster rollback
Blue/green
V4 V4 V4V3V3V3
Blue/green
V4 V4 V4
• Twice the resources required during deployment
• Faster deployment
Canary analysis
V3 V3 V3
Canary analysis
V3 V3 V3 V4
• Make explicit, automated canary analysis
• Error rate
• Latency
• Load
• Alternative: Feature toggle based canaries
• Existing service in production
Dark launches
Service
Client
• New service to be launched
Dark launches
Old New
Client
• Fork real traffic to new service and
discard response
• Monitor new service under real load
• Compare responses
• Fork on server or client side
Dark launches
Old New
Client
Wrapping it up
• Build isolation
• Independent pipelines
• Elasticity
• Everything as code
• Pipelines owned by teams
Recommendations for deployment pipeline
• Time from commit to production – delivery lead time
• Time to bootstrap a new service including the deployment pipeline
• Deployment frequency
• Mean time to recover – MTTR
Metrics
• “You build it, you deploy it, you run it”
• Embrace immutability
• Infrastructure follows microservices architecture
• Failures happen
• Reduce impact
• Fast detection
• Fast recovery
Important
Thank You!
• Regent's Rowing 8 by Jmf3333 [CC BY 3.0]
https://en.wikipedia.org/wiki/File:Regents_rowing.JPG
• Aquapark Aquacolors by Pantharei.2017 (Own work) [CC BY-SA 4.0]
https://commons.wikimedia.org/wiki/File:Aquapark_Aquacolors.jpg
• The Key of a Chamberlain by Niklitov [CC BY-SA 4.0]
https://commons.wikimedia.org/wiki/File:The_Key_of_a_Chamberlain_at_Kingdom_of_P
russia_Kalinigrad_Blindage_museum.JPG
• Beziers Fonseranes by Dedounet [CC BY-SA 1.0]
https://commons.wikimedia.org/wiki/File:Beziers_Fonseranes.jpg
Image attribution

More Related Content

What's hot

OpenStack: Toward a More Resilient Cloud
OpenStack: Toward a More Resilient CloudOpenStack: Toward a More Resilient Cloud
OpenStack: Toward a More Resilient Cloud
Mark Voelker
 
OpenStack Scale-out Networking Architecture
OpenStack Scale-out Networking ArchitectureOpenStack Scale-out Networking Architecture
OpenStack Scale-out Networking Architecture
Randy Bias
 
Leveraging OpenStack to Run Mesos/Marathon at Charter Communications
Leveraging OpenStack to Run Mesos/Marathon at Charter CommunicationsLeveraging OpenStack to Run Mesos/Marathon at Charter Communications
Leveraging OpenStack to Run Mesos/Marathon at Charter Communications
Tesora
 
OpenStack 101 - All Things Open 2015
OpenStack 101 - All Things Open 2015OpenStack 101 - All Things Open 2015
OpenStack 101 - All Things Open 2015
Mark Voelker
 
Fuse integration-services
Fuse integration-servicesFuse integration-services
Fuse integration-services
Christian Posta
 
A No-Nonsense Approach to Hyperconvergence
A No-Nonsense Approach to HyperconvergenceA No-Nonsense Approach to Hyperconvergence
A No-Nonsense Approach to Hyperconvergence
Chris Wahl
 
DefCore: The Interoperability Standard for OpenStack
DefCore: The Interoperability Standard for OpenStackDefCore: The Interoperability Standard for OpenStack
DefCore: The Interoperability Standard for OpenStack
Mark Voelker
 
Containers and microservices for realists
Containers and microservices for realistsContainers and microservices for realists
Containers and microservices for realists
Karthik Gaekwad
 
Microservices architecture overview v2
Microservices architecture overview v2Microservices architecture overview v2
Microservices architecture overview v2
Dmitry Skaredov
 
Load Balancing for Containers and Cloud Native Architecture
Load Balancing for Containers and Cloud Native ArchitectureLoad Balancing for Containers and Cloud Native Architecture
Load Balancing for Containers and Cloud Native Architecture
Chiradeep Vittal
 
Micro services
Micro servicesMicro services
Micro services
Brian Perera
 
Webinar : Docker in Production
Webinar : Docker in ProductionWebinar : Docker in Production
Webinar : Docker in Production
Newt Global Consulting LLC
 
10 Key Steps for Moving from Legacy Infrastructure to the Cloud
10 Key Steps for Moving from Legacy Infrastructure to the Cloud10 Key Steps for Moving from Legacy Infrastructure to the Cloud
10 Key Steps for Moving from Legacy Infrastructure to the Cloud
NGINX, Inc.
 
Alibaba Cloud Conference 2016 - Docker Open Source
Alibaba Cloud Conference   2016 - Docker Open Source Alibaba Cloud Conference   2016 - Docker Open Source
Alibaba Cloud Conference 2016 - Docker Open Source
John Willis
 
OpenStack in the Enterprise
OpenStack in the EnterpriseOpenStack in the Enterprise
OpenStack in the Enterprise
Tesora
 
Webinar : Microservices and Containerization
Webinar : Microservices and ContainerizationWebinar : Microservices and Containerization
Webinar : Microservices and Containerization
Newt Global Consulting LLC
 
RedisConf18 - Redis Enterprise on Cloud Native Platforms
RedisConf18 - Redis Enterprise on Cloud  Native  Platforms RedisConf18 - Redis Enterprise on Cloud  Native  Platforms
RedisConf18 - Redis Enterprise on Cloud Native Platforms
Redis Labs
 
Containers, microservices and serverless for realists
Containers, microservices and serverless for realistsContainers, microservices and serverless for realists
Containers, microservices and serverless for realists
Karthik Gaekwad
 
Pulling Back the Cloud Curtain
Pulling Back the Cloud CurtainPulling Back the Cloud Curtain
Pulling Back the Cloud Curtain
Sagi Brody
 

What's hot (20)

OpenStack: Toward a More Resilient Cloud
OpenStack: Toward a More Resilient CloudOpenStack: Toward a More Resilient Cloud
OpenStack: Toward a More Resilient Cloud
 
OpenStack Scale-out Networking Architecture
OpenStack Scale-out Networking ArchitectureOpenStack Scale-out Networking Architecture
OpenStack Scale-out Networking Architecture
 
Leveraging OpenStack to Run Mesos/Marathon at Charter Communications
Leveraging OpenStack to Run Mesos/Marathon at Charter CommunicationsLeveraging OpenStack to Run Mesos/Marathon at Charter Communications
Leveraging OpenStack to Run Mesos/Marathon at Charter Communications
 
OpenStack 101 - All Things Open 2015
OpenStack 101 - All Things Open 2015OpenStack 101 - All Things Open 2015
OpenStack 101 - All Things Open 2015
 
Fuse integration-services
Fuse integration-servicesFuse integration-services
Fuse integration-services
 
A No-Nonsense Approach to Hyperconvergence
A No-Nonsense Approach to HyperconvergenceA No-Nonsense Approach to Hyperconvergence
A No-Nonsense Approach to Hyperconvergence
 
DefCore: The Interoperability Standard for OpenStack
DefCore: The Interoperability Standard for OpenStackDefCore: The Interoperability Standard for OpenStack
DefCore: The Interoperability Standard for OpenStack
 
Containers and microservices for realists
Containers and microservices for realistsContainers and microservices for realists
Containers and microservices for realists
 
Microservices architecture overview v2
Microservices architecture overview v2Microservices architecture overview v2
Microservices architecture overview v2
 
dodai_grizzly.pdf
dodai_grizzly.pdfdodai_grizzly.pdf
dodai_grizzly.pdf
 
Load Balancing for Containers and Cloud Native Architecture
Load Balancing for Containers and Cloud Native ArchitectureLoad Balancing for Containers and Cloud Native Architecture
Load Balancing for Containers and Cloud Native Architecture
 
Micro services
Micro servicesMicro services
Micro services
 
Webinar : Docker in Production
Webinar : Docker in ProductionWebinar : Docker in Production
Webinar : Docker in Production
 
10 Key Steps for Moving from Legacy Infrastructure to the Cloud
10 Key Steps for Moving from Legacy Infrastructure to the Cloud10 Key Steps for Moving from Legacy Infrastructure to the Cloud
10 Key Steps for Moving from Legacy Infrastructure to the Cloud
 
Alibaba Cloud Conference 2016 - Docker Open Source
Alibaba Cloud Conference   2016 - Docker Open Source Alibaba Cloud Conference   2016 - Docker Open Source
Alibaba Cloud Conference 2016 - Docker Open Source
 
OpenStack in the Enterprise
OpenStack in the EnterpriseOpenStack in the Enterprise
OpenStack in the Enterprise
 
Webinar : Microservices and Containerization
Webinar : Microservices and ContainerizationWebinar : Microservices and Containerization
Webinar : Microservices and Containerization
 
RedisConf18 - Redis Enterprise on Cloud Native Platforms
RedisConf18 - Redis Enterprise on Cloud  Native  Platforms RedisConf18 - Redis Enterprise on Cloud  Native  Platforms
RedisConf18 - Redis Enterprise on Cloud Native Platforms
 
Containers, microservices and serverless for realists
Containers, microservices and serverless for realistsContainers, microservices and serverless for realists
Containers, microservices and serverless for realists
 
Pulling Back the Cloud Curtain
Pulling Back the Cloud CurtainPulling Back the Cloud Curtain
Pulling Back the Cloud Curtain
 

Similar to Cloud native Continuous Delivery

Customer Interaction Center™: What You Need to Know About Resilience/Disaster...
Customer Interaction Center™: What You Need to Know About Resilience/Disaster...Customer Interaction Center™: What You Need to Know About Resilience/Disaster...
Customer Interaction Center™: What You Need to Know About Resilience/Disaster...
Avtex
 
CICS TS V4 and V5 recap, and the new V5.3 open beta
CICS TS V4 and V5 recap, and the new V5.3 open betaCICS TS V4 and V5 recap, and the new V5.3 open beta
CICS TS V4 and V5 recap, and the new V5.3 open beta
Mark Cocker
 
Cics ts v4 and v5 recap, and the new cics ts v5.3 open beta (1)
Cics ts v4 and v5 recap, and the new cics ts v5.3 open beta (1)Cics ts v4 and v5 recap, and the new cics ts v5.3 open beta (1)
Cics ts v4 and v5 recap, and the new cics ts v5.3 open beta (1)
nick_garrod
 
Immutable Service Delivery Shenzhen 2016
Immutable Service Delivery   Shenzhen 2016Immutable Service Delivery   Shenzhen 2016
Immutable Service Delivery Shenzhen 2016
John Willis
 
The Need of Cloud-Native Application
The Need of Cloud-Native ApplicationThe Need of Cloud-Native Application
The Need of Cloud-Native Application
Emiliano Pecis
 
Devops architecture
Devops architectureDevops architecture
Devops architecture
Ojasvi Jagtap
 
DevOps at Tradeshift - AWS community day nordics
DevOps at Tradeshift - AWS community day nordicsDevOps at Tradeshift - AWS community day nordics
DevOps at Tradeshift - AWS community day nordics
JesperTerkelsen1
 
Stay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolithStay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolith
Markus Eisele
 
Serverless brewbox
Serverless   brewboxServerless   brewbox
Serverless brewbox
Lino Telera
 
Why kubernetes matters
Why kubernetes mattersWhy kubernetes matters
Why kubernetes matters
Platform9
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
Amazon Web Services
 
Cloud-native Data: Every Microservice Needs a Cache
Cloud-native Data: Every Microservice Needs a CacheCloud-native Data: Every Microservice Needs a Cache
Cloud-native Data: Every Microservice Needs a Cache
cornelia davis
 
.NET microservices with Azure Service Fabric
.NET microservices with Azure Service Fabric.NET microservices with Azure Service Fabric
.NET microservices with Azure Service Fabric
Davide Benvegnù
 
Service Discovery: From Classic to VPC
Service Discovery: From Classic to VPCService Discovery: From Classic to VPC
Service Discovery: From Classic to VPC
Mark Corwin
 
Bol.com Tech lab September 2017 - Microservices in action at the Dutch Nation...
Bol.com Tech lab September 2017 - Microservices in action at the Dutch Nation...Bol.com Tech lab September 2017 - Microservices in action at the Dutch Nation...
Bol.com Tech lab September 2017 - Microservices in action at the Dutch Nation...
Bert Jan Schrijver
 
Network Functions Virtualization and CloudStack
Network Functions Virtualization and CloudStackNetwork Functions Virtualization and CloudStack
Network Functions Virtualization and CloudStack
Chiradeep Vittal
 
JavaZone 2017 - Microservices in action at the Dutch National Police
JavaZone 2017 - Microservices in action at the Dutch National PoliceJavaZone 2017 - Microservices in action at the Dutch National Police
JavaZone 2017 - Microservices in action at the Dutch National Police
Bert Jan Schrijver
 
Microservices in action at the Dutch National Police
Microservices in action at the Dutch National PoliceMicroservices in action at the Dutch National Police
Microservices in action at the Dutch National Police
Bert Jan Schrijver
 
OpenValue meetup October 2017 - Microservices in action at the Dutch National...
OpenValue meetup October 2017 - Microservices in action at the Dutch National...OpenValue meetup October 2017 - Microservices in action at the Dutch National...
OpenValue meetup October 2017 - Microservices in action at the Dutch National...
Bert Jan Schrijver
 
Sas 2015 event_driven
Sas 2015 event_drivenSas 2015 event_driven
Sas 2015 event_driven
Sascha Möllering
 

Similar to Cloud native Continuous Delivery (20)

Customer Interaction Center™: What You Need to Know About Resilience/Disaster...
Customer Interaction Center™: What You Need to Know About Resilience/Disaster...Customer Interaction Center™: What You Need to Know About Resilience/Disaster...
Customer Interaction Center™: What You Need to Know About Resilience/Disaster...
 
CICS TS V4 and V5 recap, and the new V5.3 open beta
CICS TS V4 and V5 recap, and the new V5.3 open betaCICS TS V4 and V5 recap, and the new V5.3 open beta
CICS TS V4 and V5 recap, and the new V5.3 open beta
 
Cics ts v4 and v5 recap, and the new cics ts v5.3 open beta (1)
Cics ts v4 and v5 recap, and the new cics ts v5.3 open beta (1)Cics ts v4 and v5 recap, and the new cics ts v5.3 open beta (1)
Cics ts v4 and v5 recap, and the new cics ts v5.3 open beta (1)
 
Immutable Service Delivery Shenzhen 2016
Immutable Service Delivery   Shenzhen 2016Immutable Service Delivery   Shenzhen 2016
Immutable Service Delivery Shenzhen 2016
 
The Need of Cloud-Native Application
The Need of Cloud-Native ApplicationThe Need of Cloud-Native Application
The Need of Cloud-Native Application
 
Devops architecture
Devops architectureDevops architecture
Devops architecture
 
DevOps at Tradeshift - AWS community day nordics
DevOps at Tradeshift - AWS community day nordicsDevOps at Tradeshift - AWS community day nordics
DevOps at Tradeshift - AWS community day nordics
 
Stay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolithStay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolith
 
Serverless brewbox
Serverless   brewboxServerless   brewbox
Serverless brewbox
 
Why kubernetes matters
Why kubernetes mattersWhy kubernetes matters
Why kubernetes matters
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
 
Cloud-native Data: Every Microservice Needs a Cache
Cloud-native Data: Every Microservice Needs a CacheCloud-native Data: Every Microservice Needs a Cache
Cloud-native Data: Every Microservice Needs a Cache
 
.NET microservices with Azure Service Fabric
.NET microservices with Azure Service Fabric.NET microservices with Azure Service Fabric
.NET microservices with Azure Service Fabric
 
Service Discovery: From Classic to VPC
Service Discovery: From Classic to VPCService Discovery: From Classic to VPC
Service Discovery: From Classic to VPC
 
Bol.com Tech lab September 2017 - Microservices in action at the Dutch Nation...
Bol.com Tech lab September 2017 - Microservices in action at the Dutch Nation...Bol.com Tech lab September 2017 - Microservices in action at the Dutch Nation...
Bol.com Tech lab September 2017 - Microservices in action at the Dutch Nation...
 
Network Functions Virtualization and CloudStack
Network Functions Virtualization and CloudStackNetwork Functions Virtualization and CloudStack
Network Functions Virtualization and CloudStack
 
JavaZone 2017 - Microservices in action at the Dutch National Police
JavaZone 2017 - Microservices in action at the Dutch National PoliceJavaZone 2017 - Microservices in action at the Dutch National Police
JavaZone 2017 - Microservices in action at the Dutch National Police
 
Microservices in action at the Dutch National Police
Microservices in action at the Dutch National PoliceMicroservices in action at the Dutch National Police
Microservices in action at the Dutch National Police
 
OpenValue meetup October 2017 - Microservices in action at the Dutch National...
OpenValue meetup October 2017 - Microservices in action at the Dutch National...OpenValue meetup October 2017 - Microservices in action at the Dutch National...
OpenValue meetup October 2017 - Microservices in action at the Dutch National...
 
Sas 2015 event_driven
Sas 2015 event_drivenSas 2015 event_driven
Sas 2015 event_driven
 

More from Christian Deger

Building A Cloud-Native Advanced Logistics Ecosystem
Building A Cloud-Native Advanced Logistics EcosystemBuilding A Cloud-Native Advanced Logistics Ecosystem
Building A Cloud-Native Advanced Logistics Ecosystem
Christian Deger
 
GOTO Amsterdam 2017 - Enterprise Fast Lane
GOTO Amsterdam 2017 - Enterprise Fast LaneGOTO Amsterdam 2017 - Enterprise Fast Lane
GOTO Amsterdam 2017 - Enterprise Fast Lane
Christian Deger
 
AWS Cloud For Breakfast - Building Microservices in the Cloud
AWS Cloud For Breakfast - Building Microservices in the CloudAWS Cloud For Breakfast - Building Microservices in the Cloud
AWS Cloud For Breakfast - Building Microservices in the Cloud
Christian Deger
 
GOTO Berlin 2016
GOTO Berlin 2016GOTO Berlin 2016
GOTO Berlin 2016
Christian Deger
 
Reactive Microservices Roadshow Berlin
Reactive Microservices Roadshow BerlinReactive Microservices Roadshow Berlin
Reactive Microservices Roadshow Berlin
Christian Deger
 
Predictive Analytics for Vehicle Price Prediction - Delivered Continuously at...
Predictive Analytics for Vehicle Price Prediction - Delivered Continuously at...Predictive Analytics for Vehicle Price Prediction - Delivered Continuously at...
Predictive Analytics for Vehicle Price Prediction - Delivered Continuously at...
Christian Deger
 
Microservices in der Cloud - Software Architecture Summit Berlin 2016
Microservices in der Cloud - Software Architecture Summit Berlin 2016Microservices in der Cloud - Software Architecture Summit Berlin 2016
Microservices in der Cloud - Software Architecture Summit Berlin 2016
Christian Deger
 
Building Microservices in the cloud - GOTO Nights Berlin 2016
Building Microservices in the cloud - GOTO Nights Berlin 2016Building Microservices in the cloud - GOTO Nights Berlin 2016
Building Microservices in the cloud - GOTO Nights Berlin 2016
Christian Deger
 
Building Microservices in the cloud - Software Architecture Summit 2016
Building Microservices in the cloud - Software Architecture Summit 2016Building Microservices in the cloud - Software Architecture Summit 2016
Building Microservices in the cloud - Software Architecture Summit 2016
Christian Deger
 
Microservices in the cloud at AutoScout24
Microservices in the cloud at AutoScout24Microservices in the cloud at AutoScout24
Microservices in the cloud at AutoScout24
Christian Deger
 
Highway to heaven - Microservices Meetup Dublin
Highway to heaven - Microservices Meetup DublinHighway to heaven - Microservices Meetup Dublin
Highway to heaven - Microservices Meetup Dublin
Christian Deger
 
Building Microservices in the cloud at AutoScout24
Building Microservices in the cloud at AutoScout24Building Microservices in the cloud at AutoScout24
Building Microservices in the cloud at AutoScout24
Christian Deger
 
Highway to heaven - Voxxed Days Belgrade
Highway to heaven - Voxxed Days BelgradeHighway to heaven - Voxxed Days Belgrade
Highway to heaven - Voxxed Days Belgrade
Christian Deger
 
Highway to heaven - Microservices Meetup Berlin
Highway to heaven - Microservices Meetup BerlinHighway to heaven - Microservices Meetup Berlin
Highway to heaven - Microservices Meetup Berlin
Christian Deger
 
Highway to heaven - XConf Manchester 2015
Highway to heaven - XConf Manchester 2015Highway to heaven - XConf Manchester 2015
Highway to heaven - XConf Manchester 2015
Christian Deger
 
Highway to heaven - Microservices Meetup Munich
Highway to heaven - Microservices Meetup MunichHighway to heaven - Microservices Meetup Munich
Highway to heaven - Microservices Meetup Munich
Christian Deger
 

More from Christian Deger (16)

Building A Cloud-Native Advanced Logistics Ecosystem
Building A Cloud-Native Advanced Logistics EcosystemBuilding A Cloud-Native Advanced Logistics Ecosystem
Building A Cloud-Native Advanced Logistics Ecosystem
 
GOTO Amsterdam 2017 - Enterprise Fast Lane
GOTO Amsterdam 2017 - Enterprise Fast LaneGOTO Amsterdam 2017 - Enterprise Fast Lane
GOTO Amsterdam 2017 - Enterprise Fast Lane
 
AWS Cloud For Breakfast - Building Microservices in the Cloud
AWS Cloud For Breakfast - Building Microservices in the CloudAWS Cloud For Breakfast - Building Microservices in the Cloud
AWS Cloud For Breakfast - Building Microservices in the Cloud
 
GOTO Berlin 2016
GOTO Berlin 2016GOTO Berlin 2016
GOTO Berlin 2016
 
Reactive Microservices Roadshow Berlin
Reactive Microservices Roadshow BerlinReactive Microservices Roadshow Berlin
Reactive Microservices Roadshow Berlin
 
Predictive Analytics for Vehicle Price Prediction - Delivered Continuously at...
Predictive Analytics for Vehicle Price Prediction - Delivered Continuously at...Predictive Analytics for Vehicle Price Prediction - Delivered Continuously at...
Predictive Analytics for Vehicle Price Prediction - Delivered Continuously at...
 
Microservices in der Cloud - Software Architecture Summit Berlin 2016
Microservices in der Cloud - Software Architecture Summit Berlin 2016Microservices in der Cloud - Software Architecture Summit Berlin 2016
Microservices in der Cloud - Software Architecture Summit Berlin 2016
 
Building Microservices in the cloud - GOTO Nights Berlin 2016
Building Microservices in the cloud - GOTO Nights Berlin 2016Building Microservices in the cloud - GOTO Nights Berlin 2016
Building Microservices in the cloud - GOTO Nights Berlin 2016
 
Building Microservices in the cloud - Software Architecture Summit 2016
Building Microservices in the cloud - Software Architecture Summit 2016Building Microservices in the cloud - Software Architecture Summit 2016
Building Microservices in the cloud - Software Architecture Summit 2016
 
Microservices in the cloud at AutoScout24
Microservices in the cloud at AutoScout24Microservices in the cloud at AutoScout24
Microservices in the cloud at AutoScout24
 
Highway to heaven - Microservices Meetup Dublin
Highway to heaven - Microservices Meetup DublinHighway to heaven - Microservices Meetup Dublin
Highway to heaven - Microservices Meetup Dublin
 
Building Microservices in the cloud at AutoScout24
Building Microservices in the cloud at AutoScout24Building Microservices in the cloud at AutoScout24
Building Microservices in the cloud at AutoScout24
 
Highway to heaven - Voxxed Days Belgrade
Highway to heaven - Voxxed Days BelgradeHighway to heaven - Voxxed Days Belgrade
Highway to heaven - Voxxed Days Belgrade
 
Highway to heaven - Microservices Meetup Berlin
Highway to heaven - Microservices Meetup BerlinHighway to heaven - Microservices Meetup Berlin
Highway to heaven - Microservices Meetup Berlin
 
Highway to heaven - XConf Manchester 2015
Highway to heaven - XConf Manchester 2015Highway to heaven - XConf Manchester 2015
Highway to heaven - XConf Manchester 2015
 
Highway to heaven - Microservices Meetup Munich
Highway to heaven - Microservices Meetup MunichHighway to heaven - Microservices Meetup Munich
Highway to heaven - Microservices Meetup Munich
 

Recently uploaded

Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)
abdulrafaychaudhry
 

Recently uploaded (20)

Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)
 

Cloud native Continuous Delivery

Editor's Notes

  1. Embrace your cloud https://www.cncf.io/about/charter/ https://pivotal.io/de/cloud-native DevOps, Microservices, Containers, Continuous Delivery Attribution: CC0: https://pixabay.com/en/sky-cloud-blue-white-good-looking-254668/
  2. Bring changes into production, or into the hands of users, safely and quickly in a sustainable way.
  3. Speed -> Fast cycle time, Fast creation of new pipelines
  4. Being fast with a small team is one thing, but we want to not slow down, when the organization is larger.
  5. No committees, no waiting
  6. Autonomous teams -> Pipeline owned by teams
  7. Independent deployable -> Many pipelines
  8. They became silos, separated by a virtual wall. Tickets, Waiting, Blaming
  9. If you still have those silos: Get rid of them!
  10. True DevOps culture
  11. Jezz Humble: What We Learned from Three Years Sciencing the Crap out of Devops ACCELERATE: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations
  12. Now lets walk through the pipeline steps and see what happens when we put on the cloud native hat.
  13. Every engineer knows GitHub SSO: Depending on plan, additional tooling required. Backup: Scheduled clone/pull of all repos. Secure: Story of the committed GitHub key.
  14. Orchestration in one tool Better overview, Simpler
  15. CI: All the known tools CD: For example Spinnaker or Bosh, often platform specific
  16. We didn’t want to handover the golden key to a managed CI tool.
  17. If you cannot use a managed CD service…
  18. Isolated builds: Bring your own build environment, multi tenant services, like Travis, already work like this Also need to solve the problem of dependency caches. For example local Nexus. Elastic agents: Cost efficient, quickly spin up agents on demand. No job queue. Container as artifact: DinD or DooD Pipeline as code: Service templates includes pipeline declaration Single CI: Autonomous teams, CI patterns and guidelines are shared, not the infrastructure. https://www.thoughtworks.com/radar/techniques/pipelines-as-code
  19. CI theatre: Infrequent commit, long red, feature branches Embrace deployment pipelines: Beyond CI, eg. Jenkins, TC Smarts in the tool: Use the tool for coordination, smarts are in your automation, make like build scripts should run from shell https://www.thoughtworks.com/radar/techniques/ci-theatre
  20. Now we are done with CI, let’s talk about infrastructure. https://www.thoughtworks.com/talks/infrastructure-design-patterns-xconf-eu-2017
  21. No slowflakes Attribution: CC0, https://pxhere.com/en/photo/813531
  22. Immutable servers Phoenix servers Attribution: CC0, https://pixabay.com/en/hungary-puszta-sheep-herd-graze-734026/
  23. Ideally we are not even concerned with servers anymore: Serverless
  24. Instance can also be containers
  25. Instance can also be containers
  26. Instance can also be containers
  27. Instance can also be containers
  28. Infrastructure as code also implies good engineering practices. Not one template/stack for the complete infrastructure Resist layered slicing
  29. Stacks can be decomposed further. For example separate LB + Persistence stack from ASG for blue/green.
  30. VPC, Subnets, Security Groups, Internet Gateway
  31. Cross-stack references, not nested stacks. "All services" include ops service like logging
  32. You are not triggering your builds, when a dependent OSS packages changes. Story of Base AMI
  33. Attribution: CC0 https://pixabay.com/en/cry-fear-funny-psyche-face-human-2192148/
  34. You build it, you deploy it, you run it
  35. Which versions on staging? Prod differs anyway: Load, data, patterns
  36. Still we want to release with confidence: Be bold, but not stupid. Mean time to detection
  37. Who is using feature branches and does CI? You are not doing CI, when you are branching. Short lived branches < 1 day are ok. Branch by abstraction https://trunkbaseddevelopment.com/ https://launchdarkly.com/
  38. Optional: Toggle forwarding to downstream services Toggle dependencies.
  39. Many of those patterns are viable without going cloud native, but are feasible then. Attribution: CC0, not attribution required, https://pixabay.com/en/ibiza-rock-sea-water-821719/
  40. Serverless frees you from this deployment details
  41. Let’s step back to where we actually deal with servers or containers.
  42. Verify health <> canary Attribution heartbeat CC0, no attribution required http://maxpixel.freegreatpicture.com/Heartbeat-Heart-Medical-Ecg-Electrocardiogram-2270728
  43. Instead of load balancer also batch or queue processing possible Or added to cluster.
  44. State should be pushed to client or down to managed state services form cloud provider. But this pattern also works with modern distributed data stores.
  45. Create
  46. Healthcheck
  47. Traffic
  48. Drain
  49. Terminate
  50. Repeat for all nodes
  51. You bring your canary to the coal mine and observe its behavior. Feature toggle canary: Staged rollout. Attribution: Canary: Public domain, https://commons.wikimedia.org/wiki/File:Carduelis_chloris_m.jpg Coal Mine: CC0, no attribution required, https://pixabay.com/en/coal-black-mineral-underground-1626368/
  52. Trade offs for client and server side forking: Server: Risk, timeout protection, additional load Client: Disclosure, bandwidth and load on client, less control
  53. Attribution: CC0, no attribution required, https://www.pexels.com/photo/close-up-of-christmas-decorations-257855/
  54. Build isolation: Decoupling, no coordination for a new Java SDK. Independent pipelines: Decoupling Elasticity: Do not waste resource or make teams wait for an agent Everything as code: Pipeline definition, deployment scripts, infrastructure Attribution: CC0, https://pixabay.com/en/thumbs-up-thumb-hand-positive-1006176/
  55. Improve over time, what is included in a newly bootstrapped service: Logging, Monitoring, Alerting, Dashboards Attribution: CC0, http://maxpixel.freegreatpicture.com/Measurement-Stopwatch-Timer-Clock-Symbol-Icon-2624277
  56. Autonomous, empowered teams. No silos Do not deal with DC constraints and mutate existing servers. Do not build an infrastructure monolith, decoupling
  57. Attribution: Raised hands, CC0, no attribution required, https://pixabay.com/en/hands-hand-raised-hands-raised-220163/