evaluate, …) • Target platform (k8s, …) • Environments (dev, hardening, …) • Tools (Terraform, Helm, hey, …) No clear separation of concerns • Developers • Define which artifact to use • Want fast feedback on their code • DevOps Engineers • Define which tools to use • Ensure tools are properly configured • Site Reliability Engineers • Define delivery processes • Define operations workflows 6 Delivery pipelines: What this looks like in the real world…
approach for delivery or operations automation • Share definitions across any number of microservices w/o individual pipelines and scripts Separation of concerns • Processes defined by SREs • Tooling defined by DevOps • Artifacts defined by Devs Event-based automation for extensibility • CloudEvents for all delivery and operations steps • Simple and fast integration by registering to those events Built-in Observability • Built-in tracing capabilities for all deployments and operations flows • Visualization in the Bridge
Config Update Environment Run Tests Validate Quality Gate Rollback if failed Repeat for other stages: Built-in Quality Gate for CD, which can also be used stand-alone
faster In cloud-native environments, full automation of quality gates is a must-have! • Service Level Indicators (SLIs) define relevant indicators for the service • Metrics: response time, error rate, CPU usage, … • Infrastructure: architecture constraints, … • Business: Conversion rates, user satisfaction, … • Service Level Objectives (SLOs) define objectives using the SLIs • Compare against fixed thresholds • Compare against previous versions of the service Keptn Lighthouse queries SLIs from Prometheus Dynatrace evaluates SLOs Neotys
by Problem v1 Get remediation action Execute remediation action Re-validate Quality Gate Examples: • Rollback to old version • Toggle feature flag • Scale up Deployment/restart Pods • Clear disk • YOUR scripted operation tasks v2 v1 v1 Resolved?
Test Notify Rollback Config Mgmt. Deploy Test Monitoring ChatOps Rollback Eventing Event:Deploy Artifact:container1 Stage:Dev Strategy:Blue/Green which events to generate who consumes events
this paradigm Application Plane Define overall process for delivery and operations Control Plane Follow application logic and communicate/configure required services Deploy Service Test Service Validation Service Remediation Service Config Service … Service Artifact / Microservice API Site Reliability Engineer DevOps Developer shipyard.yaml uniform.yaml
Delivery: $ keptn new artifact myservice:1.0.0 S T A G I N G P R O D Score Direct Performance Update Promote? C D T O Score Blue/Green Update Keep? C D T O PLACEHOLDER PLACEHOLDER 1.0.0 1 1 90 / 100 1.0.0 1 1 1 75 / 100 P R O M O T E K E E P
Gates: $ keptn new artifact myservice:2.0.0 S T A G I N G P R O D Score Direct Performance Update Promote? C D T O Score Blue/Green Update Keep? C D T O 1.0.0 1 1 45 / 100 1.0.0 1 1 1 2.0.0 2 2 A B O R T
Deployments: $ keptn new artifact myservice:3.0.0 S T A G I N G P R O D Score Direct Performance Update Promote? C D T O Score Blue/Green Update Keep? C D T O 1.0.0 1 1 85 / 100 1.0.0 1 1 1 2.0.0 2 2 3.0.0 3 3 3.0.0 3 3 3 80 / 100 P R O M O T E R E V E R T