SlideShare une entreprise Scribd logo
1  sur  38
What is
Michael Villiger, Dynatrace
@mikevilliger
@keptnProject
https://keptn.sh
https://github.com/keptn
2
Industry is pushing “Autonomous Cloud Management”
3
MTTI
Mean Time to Innovation
MTTR
Mean Time to Remediate
4.8 days
4 hours
~ 10min
12.5 days 2 days ~ 1 hour
The reality and evidence supports the need for ACM!
https://dynatrace.ai/acsurvey
Only < 5% are “Cloud Native”
4
Increase Quality &
Level of Automation
Increase Speed &
Reduce Costs
Automated
Testing
Continuous
Performance
Auto Quality
Gates
AUTOMATE
OPERATIONS
AUTOMATE
DEPLOYMENT
AUTOMATE
MONITORING
Feature
Flagging
Adaptive
Scaling
Auto
Roll-Back
Canary
Releases
Blue /
Green
Deploymen
ts
Auto-
Remediation
AUTOMATE
QUALITY
Strategically Used as Pipeline Feature
Building Blocks for ACM/Cloud Natives!
5
That is why we are building
Because cloud native delivery and operations is a BIG challenge for enterprises!
Cloud Native
6
Which problem does solve?
6
CI/CD Pipeline
• This example: 350+ lines
• Information about
• Target platform (k8s, …)
• Environments (dev, hardening, …)
• Tools (Terraform, Helm, hey, …)
• Process (build, deploy, test, evaluate, …)
Pipelines seem to be becoming our new future
unmanageable legacy code!
7
Which problem does solve?
7
pipeline {
stages {
stage('Deploy to dev namespace') {
steps {
container(‘helm’) {
}
}
}
stage('Run tests') {
steps {
container(‘hey’) {
}
}
}
stage(‘Evaluate performance’) {
steps {
container(‘curl’) {
}
}
}
if (evaluation.passed) {
stage('Deploy to staging') {
steps {
container(‘helm’) {
}
}
}
}
}
}
pipeline {
stages {
stage('Deploy to dev namespace') {
steps {
container(‘helm’) {
}
}
}
stage('Run tests') {
steps {
container(‘jmeter’) {
}
}
}
stage(‘Evaluate performance’) {
steps {
container(‘curl’) {
}
}
}
if (evaluation.passed) {
stage('Deploy to staging') {
steps {
container(‘helm’) {
}
}
}
}
}
}
pipeline {
stages {
stage('Deploy to dev namespace') {
steps {
container(‘kustomize’) {
}
}
}
stage('Run tests') {
steps {
container(‘jmeter’) {
}
}
}
stage(‘Evaluate performance’) {
steps {
container(‘curl’) {
}
}
}
if (evaluation.passed) {
stage('Deploy to staging') {
steps {
container(‘helm’) {
}
}
}
}
}
}
pipeline {
stages {
stage('Deploy to dev namespace') {
steps {
container(‘helm’) {
}
}
}
stage('Run tests') {
steps {
container(‘selenium’) {
}
}
}
if (evaluation.passed) {
stage('Deploy to staging') {
steps {
container(‘helm’) {
}
}
}
}
}
}
pipeline {
stages {
stage('Deploy to dev namespace') {
steps {
container(‘helm’) {
}
}
}
stage('Run tests') {
steps {
container(‘jmeter’) {
}
}
}
stage(‘Evaluate performance’) {
steps {
container(‘curl’) {
}
}
}
if (evaluation.passed) {
stage('Deploy to staging') {
steps {
container(‘helm’) {
}
}
}
}
}
}
1 Service = 1 Pipeline 1 Project = x Pipelines n Teams = n*x Pipelines
8
Which problem does solve?
Challenge
• Add hardening stage?
• Use different tool for deployment?
• Add notifications to all steps?
• Enforce manual approval before
promoting to production for a
period of time?
8
9
How does solve that?
Keptn enables you to
• Define application delivery and operations processes declaratively
• Use predefined CloudEvents to separate the process from the tools
• Integrate and easily switch between different tools
9
10
Declarative delivery flow: Shipyard
pipeline {
stages {
stage('Deploy to dev namespace') {
steps {
container(‘helm’) {
}
}
}
stage('Run tests') {
steps {
container(‘hey’) {
}
}
}
stage(‘Evaluate performance’) {
steps {
container(‘curl’) {
}
}
}
if (evaluation.passed) {
stage('Deploy to staging') {
steps {
container(‘helm’) {
}
}
}
}
}
}
keptn: v1
type: shipyard
stages:
- name: “dev”
deployment: “direct”
test: “functional”
promotion: “automatic”
- name: “hardening”
deployment: “blue-green”
- approval: “manual”
test: “performance”
promotion: “manual”
- name: “prod”
deployment: “blue-green”
release: “canary”
- interval: “10m”
- increase: “20%”
Shipyard specifies STAGES and
WHAT TO DO in these stages
11
Standardized way of communication: CloudEvents
keptn: v1
type: shipyard
stages:
- name: “dev”
deployment: “direct”
test: “functional”
promotion: “automatic”
- name: “hardening”
deployment: “blue-green”
- approval: “manual”
test: “performance”
promotion: “manual”
- name: “prod”
deployment: “blue-green”
release: “canary”
- interval: “10m”
- increase: “20%”
CloudEvent
Events decouple WHAT from WHO and
provide context information
{
"type": "sh.keptn.event.start-deploy",
"specversion": "0.2",
"source": "https://github.com/keptn/keptn/cli",
"id": "49ac0dec-a83b-4bc1-9dc0-1f050c7e781b",
"time": "2019-06-07T07:02:15.64489Z",
"contenttype": "application/json",
"shkeptncontext":"49ac0dec-a83b-4bc1-9dc0-1f050c7e789b",
"data": {
"project": "bookshop",
"stage": "dev",
"service": "details",
"image": "bookshop/details:0.9.1"
}
}
CloudEvent
CloudEvent
CloudEvent
CloudEvent
PubSub provider
12
Declarative tool definition: Uniform
pipeline {
stages {
stage('Deploy to dev namespace') {
steps {
container(‘helm’) {
}
}
}
stage('Run tests') {
steps {
container(‘hey’) {
}
}
}
stage(‘Evaluate performance’) {
steps {
container(‘curl’) {
}
}
}
if (evaluation.passed) {
stage('Deploy to staging') {
steps {
container(‘helm’) {
}
}
}
}
}
}
keptn: v1
type: uniform
services:
- name: “slack-trail”
image: “keptn/slack:1.0”
env:
- name: “SLACK_WEBHOOK”
value: “https://hooks.sl..."
topics:
- “*”
- name: “deploy-svc”
image: “argo/argocd-svc:1.3”
topics:
- “start_deploy”
- name: “performance-test”
image: “keptn/jmeter:0.7”
topics:
- “start_test”
...
Uniform specifies WHO reacts to
which EVENTS
1313
Challenge Challenge accepted
• Add hardening stage? Add stage in Shipyard.
• Use different tool for deployment? Switch tool in Uniform.
• Add notifications to all steps? Add tool in Uniform on all events.
• Enforce manual approval before Change approval in Shipyard.
promoting to production for a
period of time?
How does solve that?
14
Example: Application Delivery
SLI.yml
SLO.yml
15
Second: Continuous Delivery is NOT ENOUGH!
16
Continuous Delivery – Launch control
Launch operations are supervised and
controlled from several control rooms (also
known as a firing room). The controllers are
in control of pre-launch checks, the booster
and spacecraft. Once the rocket has cleared
the launch tower (usually within the first
10–15 seconds), is when control is switched
over to the Mission Control Center
17
Continuous Operations – Mission Control
A mission control center (MCC, sometimes
called a flight control center or operations
center) is a facility that manages space flights,
usually from the point of launch until landing
or the end of the mission. It is part of
the ground segment of spacecraft operations.
A staff of flight controllers and other support
personnel monitor all aspects of the mission
using telemetry, and send commands to the
vehicle using ground stations
18
Quote: “We spend more time in manual communicaton than remediating issues”
Second: has Continuous Operations at its Core!
ENGAGE TRIAGE FIND & ASSEMBLE RESOLVE RESTORE
MANUAL
COMMUNICATION
MANUAL
COMM
Before
After
RESTORERESOLVE
NUMBER
OF ISSUES BEFORE: mostly manual
AFTER: mostly automated
19
Mission Control
“Automated Operations” = Day 2 Ops
Launch Control
“Continuous Deployment” = Day 1 Ops
keptn accelerates building autonomous clouds
Event-driven runbook automation
Productionproblemscan beautomaticallyremediatedin
real-timebyexecutingrunbooksthatrequirenomanual
intervention.
Self-healing blue/green deployments
Deploymentsthatfollowthe“Operationsas Code”
paradigmautomaticallyremediateproblemsandget
yourdeploymentpipelineworkingagain inundera
minute.
Automated multistage unbreakable delivery
pipelines
GitOps-enableddeliverypipelineswithautomated
qualitygates supportautomatedtestingandmonitoring-
as-a-service.
20
Designed for modern applications
GitOps-based collaboration
AllkeptnworkflowsarebasedontheGitOps
paradigm.
Operator patterns for all logic
components
Logiccomponentscan bereusedforother
operationaltasks.
Monitoring and operations as code
Developer-friendlydefinitionofmonitoringand
operationaltasks.
Built on and for Kubernetes
Builtformoderncloud-nativeenvironments.
Event-driven and serverless
Powerfulwitha minimal
resourcefootprint.
Pluggable tooling
Alltoolsleveragedbykeptn
can bereplacedbased
onyourtoolpreferences.
21
Example: Automated Operations
SLI.yml
SLO.aml
REM.yml
Git provider
Monitoringprovider
+
1
(1) Add operation instructions
(3) Setup & configure monitoring
(4) Monitor services
(5) Detect issues based on SLO
(6) Alert Keptn
(7) Find remediation action
(8) Execute remediation action
(9) Receive monitoring feedback (success)
CPU
exhausted!
Scale up Cope with
load
(2) Store & version files
22
Delivery/Operations Personas
22Developers
Defines
remediation
actions
SRE
Service Level
Objectives
Defines stages
and process
DevOps
Provides Service
Level Indicators
Defines tools
23
Key features of
• Message-driven control plane for delivery/operations: declarative
• Standardized CloudEvents for communication
• GitOps built-in
• Configuration versioned in git; Upstreams to remote git (GitHub, GitLab, BitBucket, …)
• Enables automated operations (self-healing)
• SLIs, SLOs, Remediation Actions
• Works well in multi-stage, multi-cluster scenarios
• Supports non-k8s applications
• Observability built-in
23
24
Observability built-in: ‘s bridge
25
Roadmap
• Extend and collaborate on CloudEvent specification
• Enable easy interoperability between common CNCF tools
• Add additional cloud-native practices (canary, feature-flag based self-healing)
• Enhance user interface and observability
• Extend the UI and implement W3C trace-context conform tracing
• Build support for uniforms and Keptn’s wardrobe (service registry)
• Integrate a number of tools and provide a public registry
• Improved self-healing and auto-remediation capabilities
• Handle common problems out-of-the-box?
26
MTTI
= Mean Time to Innovation
MTTR
Mean Time to Remediate
4.8 days
4 hours
~ 10min
12.5 days 2 days ~ 1 hour
We are building Keptn to re-shape this reality
GROW this number!
27
Where and How to Contribute?
28
Config ChatOps IT Auto.
Deploy Test Observe
Keptn core is fundamentally event driven:
0.5.0
• sh.keptn.internal.event.project.create
• sh.keptn.internal.event.service.create
• sh.keptn.event.configuration.change
• sh.keptn.event.monitoring.configure
• sh.keptn.events.deployment-finished
• sh.keptn.events.evaluation-done
• sh.keptn.events.tests-finished
• sh.keptn.events.problem
1. Do Something
2. Send Event
1. Consume Event
2. Do Something
1. Consume Event
2. Do Something
3. Send Event
1. Consume Event
2. Do Something
1. Consume Event
2. Do Something
29
Some example Keptn Contribution Use Cases
• Send new-artifact event when new build artifact is generated
• Consume all or specific events for notification purposes
• Consume deployment-finished events to begin tests
• Consume configuration-changed events to execute automated tasks (i.e. Jenkins)
• Consume problem events to begin execute remediation action (i.e. ServiceNow, XMatters, Ansible)
• Disregard events entirely and provide additional source of metrics to Pitometer! (i.e. Prometheus)
30
Example 1: JIRA Service
• Subscribes to:
• sh.keptn.events.evaluation-done
• Creates JIRA ticket upon failed Pitometer deployment evaluation
• Ticket includes:
• Failed deployment stage (i.e. Dev, Staging, Prod)
• Failed service
• Total Pitometer Score
• Pitometer Score Pass Threshold
• Pitometer Score Warning Treshold
• Pitometer Indicator ID
• Pitometer Evaluation Result
http://github.com/keptn-contrib/jira-service
1. Consume Event
2. Do Something
31
Example 2: Neotys
• Subscribes to:
• sh.keptn.events.deployment-finished
• Publishes to:
• sh.keptn.events.test-finished
• Executes a NeoLoad test stored in source control alongside application source
• Consumes test-strategy from Shipyard file
• Pitometer NeoLoad source allows use of NeoLoad performance test results for build validation in
Pitometer
https://github.com/keptn-contrib/neoload-service
https://github.com/neotyskeptn/pitometer-source-neoload
1. Consume Event
2. Do Something
3. Send Event
32
Example 3: UFO Service
• Subscribes to:
• sh.keptn.events.new-artifact
• sh.keptn.events.deployment-finished
• sh.keptn.events.tests-finished
• sh.keptn.events.evaluation-done
• new-artifact event = blue LEDs
• deployment-finished event = purple LEDs
• evaluation-done Pass = green LEDs
• evaluation-done Fail = red LEDs
https://github.com/keptn-contrib/ufo-service
1. Consume Event
2. Do Something
33
Relevant events by provider use-case:
• Testing Tools/Services:
• Subscribe to sh.keptn.events.deployment-finished
• Pitometer source for test results
• Consumes test-strategy from Shipyard file
• Monitoring Tools/Services:
• Pitometer source
• Continuous Integration or Build Tools/Services:
• Publish to sh.keptn.event.configuration-changed
• ChatOps Tools/Services
• Subscribe to ALL events
• Automation Tools/Services
• Subscribe to sh.keptn.events.problem to remediate a problem
• Subscribe to sh.keptn.events.configuration-changed to execute additional deployment tasks
34
A message-driven control plane
for application delivery
and automated operations.
What is ?
34
35
• https://keptn.sh
• https://github.com/keptn/community
• @keptnproject
• keptn@dynatrace.com
• keptn.slack.com
• Biweekly community meetings
• Zoom https://dynatrace.zoom.us/j/578828410
• Notes https://tinyurl.com/keptn-meeting-notes
Join the community
36
dynatrace.com
Keptn architecture
Platform
keptn
cli api
REST API
eventbroker
bridge
mongodb-
datastore
gitconfiguration-service
internal-
keptn-
services
distributor
distributor
keptn services
Continuous
Delivery
Container
Registry
Operations
Automation AIOps
GitOps
Test
Automation ChatOps
Data
Provider
dev staging production keptnNamespaces:
distributor
Simple installation and usage
38
$ curl -sL https://get.keptn.sh | sudo -E bash
$ keptn install --platform=gke
<download examples>
$ git clone https://github.com/keptn/examples.git
$ cd examples/onboarding-carts
<create project and onboard service>
$ keptn create project sockshop shipyard.yaml
$ keptn onboard service carts --project=sockshop --chart=carts-0.1.0.tgz
<configure monitoring and add load test>
$ keptn configure monitoring prometheus
$ keptn add-resource --project=sockshop --service=carts --stage=staging 
--resource=jmeter/load.jmx --resourceUri=jmeter/load.jmx
<ship a new artifact for the onboarded service>
$ keptn send event new-artifact --project=sockshop --service=carts 
--image=docker.io/keptnexamples/carts --tag=0.9.1
Full use case description:
● https://keptn.sh/docs/0.5.0.beta/installation/setup-keptn/
● https://keptn.sh/docs/0.5.0.beta/usecases/onboard-carts-service/

Contenu connexe

Tendances

Continuous Deployment To The Cloud @DevoxxPL 2017
Continuous Deployment To The Cloud @DevoxxPL 2017 Continuous Deployment To The Cloud @DevoxxPL 2017
Continuous Deployment To The Cloud @DevoxxPL 2017 Marcin Grzejszczak
 
Linux Collaboration Summit Keynote: Transformation: It Takes a Platform
Linux Collaboration Summit Keynote: Transformation: It Takes a PlatformLinux Collaboration Summit Keynote: Transformation: It Takes a Platform
Linux Collaboration Summit Keynote: Transformation: It Takes a Platformcornelia davis
 
On-line Process Control Lab Access and Use Deminar
On-line Process Control Lab Access and Use DeminarOn-line Process Control Lab Access and Use Deminar
On-line Process Control Lab Access and Use DeminarJim Cahill
 
Removing Barriers Between Dev and Ops
Removing Barriers Between Dev and OpsRemoving Barriers Between Dev and Ops
Removing Barriers Between Dev and Opscornelia davis
 
June 2015 - OpenStack-fr meetup - Designing CloudWare applications
June 2015 - OpenStack-fr meetup - Designing CloudWare applicationsJune 2015 - OpenStack-fr meetup - Designing CloudWare applications
June 2015 - OpenStack-fr meetup - Designing CloudWare applicationsJean-Charles JOREL
 
The UberCloud - From Project to Product - From HPC Experiment to HPC Marketpl...
The UberCloud - From Project to Product - From HPC Experiment to HPC Marketpl...The UberCloud - From Project to Product - From HPC Experiment to HPC Marketpl...
The UberCloud - From Project to Product - From HPC Experiment to HPC Marketpl...Wolfgang Gentzsch
 
Keeping up with Tech
Keeping up with Tech Keeping up with Tech
Keeping up with Tech Elana Krasner
 
Continuous Integration Testing Techniques to Improve Chef Cookbook Quality
Continuous Integration Testing Techniques to Improve Chef Cookbook QualityContinuous Integration Testing Techniques to Improve Chef Cookbook Quality
Continuous Integration Testing Techniques to Improve Chef Cookbook QualityJosiah Renaudin
 
DevOps Digital Transformation: A real life use case enabled by Alien4Cloud
DevOps Digital Transformation: A real life use case enabled by Alien4CloudDevOps Digital Transformation: A real life use case enabled by Alien4Cloud
DevOps Digital Transformation: A real life use case enabled by Alien4CloudCloudify Community
 
Continuous Deployment of your Application @jSession#5
Continuous Deployment of your Application @jSession#5Continuous Deployment of your Application @jSession#5
Continuous Deployment of your Application @jSession#5Marcin Grzejszczak
 
Verify Your Kubernetes Clusters with Upstream e2e tests
Verify Your Kubernetes Clusters with Upstream e2e testsVerify Your Kubernetes Clusters with Upstream e2e tests
Verify Your Kubernetes Clusters with Upstream e2e testsKen'ichi Ohmichi
 
Performance Testing : Cloud Deployments
Performance Testing : Cloud DeploymentsPerformance Testing : Cloud Deployments
Performance Testing : Cloud DeploymentsShreyas Chaudhari
 
Cloud Technical Challenges
Cloud Technical ChallengesCloud Technical Challenges
Cloud Technical ChallengesGuy Coates
 
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOpsHybrid and Multi-Cloud Strategies for Kubernetes with GitOps
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOpsSonja Schweigert
 
Release Readiness Validation with Keptn for Austrian Online Banking Software
Release Readiness Validation with Keptn for Austrian Online Banking SoftwareRelease Readiness Validation with Keptn for Austrian Online Banking Software
Release Readiness Validation with Keptn for Austrian Online Banking SoftwareAndreas Grabner
 
Tutorial storybook
Tutorial storybookTutorial storybook
Tutorial storybookVinay H G
 
Benmarking Orange Forge with CLIF, OW2con'15, November 17, Paris
Benmarking Orange Forge with CLIF, OW2con'15, November 17, Paris Benmarking Orange Forge with CLIF, OW2con'15, November 17, Paris
Benmarking Orange Forge with CLIF, OW2con'15, November 17, Paris OW2
 

Tendances (20)

Continuous Deployment To The Cloud @DevoxxPL 2017
Continuous Deployment To The Cloud @DevoxxPL 2017 Continuous Deployment To The Cloud @DevoxxPL 2017
Continuous Deployment To The Cloud @DevoxxPL 2017
 
Linux Collaboration Summit Keynote: Transformation: It Takes a Platform
Linux Collaboration Summit Keynote: Transformation: It Takes a PlatformLinux Collaboration Summit Keynote: Transformation: It Takes a Platform
Linux Collaboration Summit Keynote: Transformation: It Takes a Platform
 
On-line Process Control Lab Access and Use Deminar
On-line Process Control Lab Access and Use DeminarOn-line Process Control Lab Access and Use Deminar
On-line Process Control Lab Access and Use Deminar
 
Removing Barriers Between Dev and Ops
Removing Barriers Between Dev and OpsRemoving Barriers Between Dev and Ops
Removing Barriers Between Dev and Ops
 
June 2015 - OpenStack-fr meetup - Designing CloudWare applications
June 2015 - OpenStack-fr meetup - Designing CloudWare applicationsJune 2015 - OpenStack-fr meetup - Designing CloudWare applications
June 2015 - OpenStack-fr meetup - Designing CloudWare applications
 
The UberCloud - From Project to Product - From HPC Experiment to HPC Marketpl...
The UberCloud - From Project to Product - From HPC Experiment to HPC Marketpl...The UberCloud - From Project to Product - From HPC Experiment to HPC Marketpl...
The UberCloud - From Project to Product - From HPC Experiment to HPC Marketpl...
 
DevOps@Morpho in 2014
DevOps@Morpho in 2014DevOps@Morpho in 2014
DevOps@Morpho in 2014
 
Keeping up with Tech
Keeping up with Tech Keeping up with Tech
Keeping up with Tech
 
Continuous Integration Testing Techniques to Improve Chef Cookbook Quality
Continuous Integration Testing Techniques to Improve Chef Cookbook QualityContinuous Integration Testing Techniques to Improve Chef Cookbook Quality
Continuous Integration Testing Techniques to Improve Chef Cookbook Quality
 
Ansible
AnsibleAnsible
Ansible
 
TestIstanbul 2015
TestIstanbul 2015TestIstanbul 2015
TestIstanbul 2015
 
DevOps Digital Transformation: A real life use case enabled by Alien4Cloud
DevOps Digital Transformation: A real life use case enabled by Alien4CloudDevOps Digital Transformation: A real life use case enabled by Alien4Cloud
DevOps Digital Transformation: A real life use case enabled by Alien4Cloud
 
Continuous Deployment of your Application @jSession#5
Continuous Deployment of your Application @jSession#5Continuous Deployment of your Application @jSession#5
Continuous Deployment of your Application @jSession#5
 
Verify Your Kubernetes Clusters with Upstream e2e tests
Verify Your Kubernetes Clusters with Upstream e2e testsVerify Your Kubernetes Clusters with Upstream e2e tests
Verify Your Kubernetes Clusters with Upstream e2e tests
 
Performance Testing : Cloud Deployments
Performance Testing : Cloud DeploymentsPerformance Testing : Cloud Deployments
Performance Testing : Cloud Deployments
 
Cloud Technical Challenges
Cloud Technical ChallengesCloud Technical Challenges
Cloud Technical Challenges
 
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOpsHybrid and Multi-Cloud Strategies for Kubernetes with GitOps
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps
 
Release Readiness Validation with Keptn for Austrian Online Banking Software
Release Readiness Validation with Keptn for Austrian Online Banking SoftwareRelease Readiness Validation with Keptn for Austrian Online Banking Software
Release Readiness Validation with Keptn for Austrian Online Banking Software
 
Tutorial storybook
Tutorial storybookTutorial storybook
Tutorial storybook
 
Benmarking Orange Forge with CLIF, OW2con'15, November 17, Paris
Benmarking Orange Forge with CLIF, OW2con'15, November 17, Paris Benmarking Orange Forge with CLIF, OW2con'15, November 17, Paris
Benmarking Orange Forge with CLIF, OW2con'15, November 17, Paris
 

Similaire à Chicago DevOps Meetup Nov2019

Shipping Code like a keptn: Continuous Delivery & Automated Operations on k8s
Shipping Code like a keptn: Continuous Delivery & Automated Operations on k8sShipping Code like a keptn: Continuous Delivery & Automated Operations on k8s
Shipping Code like a keptn: Continuous Delivery & Automated Operations on k8sAndreas Grabner
 
Keptn: Unbreakable Continuous Delivery - Berlin CI/CD Meetup
Keptn: Unbreakable Continuous Delivery - Berlin CI/CD MeetupKeptn: Unbreakable Continuous Delivery - Berlin CI/CD Meetup
Keptn: Unbreakable Continuous Delivery - Berlin CI/CD MeetupJürgen Etzlstorfer
 
Auto sre with keptn
Auto sre with keptnAuto sre with keptn
Auto sre with keptnLibbySchulze
 
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps DeploymentsDon't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps DeploymentsAndreas Grabner
 
Cerberus : Framework for Manual and Automated Testing (Web Application)
Cerberus : Framework for Manual and Automated Testing (Web Application)Cerberus : Framework for Manual and Automated Testing (Web Application)
Cerberus : Framework for Manual and Automated Testing (Web Application)CIVEL Benoit
 
Cerberus_Presentation1
Cerberus_Presentation1Cerberus_Presentation1
Cerberus_Presentation1CIVEL Benoit
 
Testing Applications—For the Cloud and in the Cloud
Testing Applications—For the Cloud and in the CloudTesting Applications—For the Cloud and in the Cloud
Testing Applications—For the Cloud and in the CloudTechWell
 
How to Reuse OPNFV Testing Components in Telco Validation Chain
How to Reuse OPNFV Testing Components in Telco Validation ChainHow to Reuse OPNFV Testing Components in Telco Validation Chain
How to Reuse OPNFV Testing Components in Telco Validation ChainOPNFV
 
Surviving the Script-apocalypse
Surviving the Script-apocalypseSurviving the Script-apocalypse
Surviving the Script-apocalypseDevOps.com
 
Tips to achieve continuous integration/delivery using HP ALM, Jenkins, and S...
 Tips to achieve continuous integration/delivery using HP ALM, Jenkins, and S... Tips to achieve continuous integration/delivery using HP ALM, Jenkins, and S...
Tips to achieve continuous integration/delivery using HP ALM, Jenkins, and S...Skytap Cloud
 
Observability and Orchestration of your GitOps Deployments with Keptn
Observability and Orchestration of your GitOps Deployments with KeptnObservability and Orchestration of your GitOps Deployments with Keptn
Observability and Orchestration of your GitOps Deployments with KeptnAndreas Grabner
 
Continuous Delivery: How RightScale Releases Weekly
Continuous Delivery: How RightScale Releases WeeklyContinuous Delivery: How RightScale Releases Weekly
Continuous Delivery: How RightScale Releases WeeklyRightScale
 
Cloud native development without the toil
Cloud native development without the toilCloud native development without the toil
Cloud native development without the toilAmbassador Labs
 
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...Daniel Bryant
 
Technology Primer: Closing the DevOps Loop by Integrating CA Application Perf...
Technology Primer: Closing the DevOps Loop by Integrating CA Application Perf...Technology Primer: Closing the DevOps Loop by Integrating CA Application Perf...
Technology Primer: Closing the DevOps Loop by Integrating CA Application Perf...CA Technologies
 
GitOps, Driving NGN Operations Teams 211127 #kcdgt 2021
GitOps, Driving NGN Operations Teams 211127 #kcdgt 2021GitOps, Driving NGN Operations Teams 211127 #kcdgt 2021
GitOps, Driving NGN Operations Teams 211127 #kcdgt 2021William Caban
 
Automated Virtualized Testing (AVT) with Docker, Kubernetes, WireMock and Gat...
Automated Virtualized Testing (AVT) with Docker, Kubernetes, WireMock and Gat...Automated Virtualized Testing (AVT) with Docker, Kubernetes, WireMock and Gat...
Automated Virtualized Testing (AVT) with Docker, Kubernetes, WireMock and Gat...VMware Tanzu
 
Anatomy of a Build Pipeline
Anatomy of a Build PipelineAnatomy of a Build Pipeline
Anatomy of a Build PipelineSamuel Brown
 
Open Source ERP Technologies for Java Developers
Open Source ERP Technologies for Java DevelopersOpen Source ERP Technologies for Java Developers
Open Source ERP Technologies for Java Developerscboecking
 
Free GitOps Workshop
Free GitOps WorkshopFree GitOps Workshop
Free GitOps WorkshopWeaveworks
 

Similaire à Chicago DevOps Meetup Nov2019 (20)

Shipping Code like a keptn: Continuous Delivery & Automated Operations on k8s
Shipping Code like a keptn: Continuous Delivery & Automated Operations on k8sShipping Code like a keptn: Continuous Delivery & Automated Operations on k8s
Shipping Code like a keptn: Continuous Delivery & Automated Operations on k8s
 
Keptn: Unbreakable Continuous Delivery - Berlin CI/CD Meetup
Keptn: Unbreakable Continuous Delivery - Berlin CI/CD MeetupKeptn: Unbreakable Continuous Delivery - Berlin CI/CD Meetup
Keptn: Unbreakable Continuous Delivery - Berlin CI/CD Meetup
 
Auto sre with keptn
Auto sre with keptnAuto sre with keptn
Auto sre with keptn
 
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps DeploymentsDon't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
 
Cerberus : Framework for Manual and Automated Testing (Web Application)
Cerberus : Framework for Manual and Automated Testing (Web Application)Cerberus : Framework for Manual and Automated Testing (Web Application)
Cerberus : Framework for Manual and Automated Testing (Web Application)
 
Cerberus_Presentation1
Cerberus_Presentation1Cerberus_Presentation1
Cerberus_Presentation1
 
Testing Applications—For the Cloud and in the Cloud
Testing Applications—For the Cloud and in the CloudTesting Applications—For the Cloud and in the Cloud
Testing Applications—For the Cloud and in the Cloud
 
How to Reuse OPNFV Testing Components in Telco Validation Chain
How to Reuse OPNFV Testing Components in Telco Validation ChainHow to Reuse OPNFV Testing Components in Telco Validation Chain
How to Reuse OPNFV Testing Components in Telco Validation Chain
 
Surviving the Script-apocalypse
Surviving the Script-apocalypseSurviving the Script-apocalypse
Surviving the Script-apocalypse
 
Tips to achieve continuous integration/delivery using HP ALM, Jenkins, and S...
 Tips to achieve continuous integration/delivery using HP ALM, Jenkins, and S... Tips to achieve continuous integration/delivery using HP ALM, Jenkins, and S...
Tips to achieve continuous integration/delivery using HP ALM, Jenkins, and S...
 
Observability and Orchestration of your GitOps Deployments with Keptn
Observability and Orchestration of your GitOps Deployments with KeptnObservability and Orchestration of your GitOps Deployments with Keptn
Observability and Orchestration of your GitOps Deployments with Keptn
 
Continuous Delivery: How RightScale Releases Weekly
Continuous Delivery: How RightScale Releases WeeklyContinuous Delivery: How RightScale Releases Weekly
Continuous Delivery: How RightScale Releases Weekly
 
Cloud native development without the toil
Cloud native development without the toilCloud native development without the toil
Cloud native development without the toil
 
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
 
Technology Primer: Closing the DevOps Loop by Integrating CA Application Perf...
Technology Primer: Closing the DevOps Loop by Integrating CA Application Perf...Technology Primer: Closing the DevOps Loop by Integrating CA Application Perf...
Technology Primer: Closing the DevOps Loop by Integrating CA Application Perf...
 
GitOps, Driving NGN Operations Teams 211127 #kcdgt 2021
GitOps, Driving NGN Operations Teams 211127 #kcdgt 2021GitOps, Driving NGN Operations Teams 211127 #kcdgt 2021
GitOps, Driving NGN Operations Teams 211127 #kcdgt 2021
 
Automated Virtualized Testing (AVT) with Docker, Kubernetes, WireMock and Gat...
Automated Virtualized Testing (AVT) with Docker, Kubernetes, WireMock and Gat...Automated Virtualized Testing (AVT) with Docker, Kubernetes, WireMock and Gat...
Automated Virtualized Testing (AVT) with Docker, Kubernetes, WireMock and Gat...
 
Anatomy of a Build Pipeline
Anatomy of a Build PipelineAnatomy of a Build Pipeline
Anatomy of a Build Pipeline
 
Open Source ERP Technologies for Java Developers
Open Source ERP Technologies for Java DevelopersOpen Source ERP Technologies for Java Developers
Open Source ERP Technologies for Java Developers
 
Free GitOps Workshop
Free GitOps WorkshopFree GitOps Workshop
Free GitOps Workshop
 

Dernier

Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Dernier (20)

Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Chicago DevOps Meetup Nov2019

  • 1. What is Michael Villiger, Dynatrace @mikevilliger @keptnProject https://keptn.sh https://github.com/keptn
  • 2. 2 Industry is pushing “Autonomous Cloud Management”
  • 3. 3 MTTI Mean Time to Innovation MTTR Mean Time to Remediate 4.8 days 4 hours ~ 10min 12.5 days 2 days ~ 1 hour The reality and evidence supports the need for ACM! https://dynatrace.ai/acsurvey Only < 5% are “Cloud Native”
  • 4. 4 Increase Quality & Level of Automation Increase Speed & Reduce Costs Automated Testing Continuous Performance Auto Quality Gates AUTOMATE OPERATIONS AUTOMATE DEPLOYMENT AUTOMATE MONITORING Feature Flagging Adaptive Scaling Auto Roll-Back Canary Releases Blue / Green Deploymen ts Auto- Remediation AUTOMATE QUALITY Strategically Used as Pipeline Feature Building Blocks for ACM/Cloud Natives!
  • 5. 5 That is why we are building Because cloud native delivery and operations is a BIG challenge for enterprises! Cloud Native
  • 6. 6 Which problem does solve? 6 CI/CD Pipeline • This example: 350+ lines • Information about • Target platform (k8s, …) • Environments (dev, hardening, …) • Tools (Terraform, Helm, hey, …) • Process (build, deploy, test, evaluate, …) Pipelines seem to be becoming our new future unmanageable legacy code!
  • 7. 7 Which problem does solve? 7 pipeline { stages { stage('Deploy to dev namespace') { steps { container(‘helm’) { } } } stage('Run tests') { steps { container(‘hey’) { } } } stage(‘Evaluate performance’) { steps { container(‘curl’) { } } } if (evaluation.passed) { stage('Deploy to staging') { steps { container(‘helm’) { } } } } } } pipeline { stages { stage('Deploy to dev namespace') { steps { container(‘helm’) { } } } stage('Run tests') { steps { container(‘jmeter’) { } } } stage(‘Evaluate performance’) { steps { container(‘curl’) { } } } if (evaluation.passed) { stage('Deploy to staging') { steps { container(‘helm’) { } } } } } } pipeline { stages { stage('Deploy to dev namespace') { steps { container(‘kustomize’) { } } } stage('Run tests') { steps { container(‘jmeter’) { } } } stage(‘Evaluate performance’) { steps { container(‘curl’) { } } } if (evaluation.passed) { stage('Deploy to staging') { steps { container(‘helm’) { } } } } } } pipeline { stages { stage('Deploy to dev namespace') { steps { container(‘helm’) { } } } stage('Run tests') { steps { container(‘selenium’) { } } } if (evaluation.passed) { stage('Deploy to staging') { steps { container(‘helm’) { } } } } } } pipeline { stages { stage('Deploy to dev namespace') { steps { container(‘helm’) { } } } stage('Run tests') { steps { container(‘jmeter’) { } } } stage(‘Evaluate performance’) { steps { container(‘curl’) { } } } if (evaluation.passed) { stage('Deploy to staging') { steps { container(‘helm’) { } } } } } } 1 Service = 1 Pipeline 1 Project = x Pipelines n Teams = n*x Pipelines
  • 8. 8 Which problem does solve? Challenge • Add hardening stage? • Use different tool for deployment? • Add notifications to all steps? • Enforce manual approval before promoting to production for a period of time? 8
  • 9. 9 How does solve that? Keptn enables you to • Define application delivery and operations processes declaratively • Use predefined CloudEvents to separate the process from the tools • Integrate and easily switch between different tools 9
  • 10. 10 Declarative delivery flow: Shipyard pipeline { stages { stage('Deploy to dev namespace') { steps { container(‘helm’) { } } } stage('Run tests') { steps { container(‘hey’) { } } } stage(‘Evaluate performance’) { steps { container(‘curl’) { } } } if (evaluation.passed) { stage('Deploy to staging') { steps { container(‘helm’) { } } } } } } keptn: v1 type: shipyard stages: - name: “dev” deployment: “direct” test: “functional” promotion: “automatic” - name: “hardening” deployment: “blue-green” - approval: “manual” test: “performance” promotion: “manual” - name: “prod” deployment: “blue-green” release: “canary” - interval: “10m” - increase: “20%” Shipyard specifies STAGES and WHAT TO DO in these stages
  • 11. 11 Standardized way of communication: CloudEvents keptn: v1 type: shipyard stages: - name: “dev” deployment: “direct” test: “functional” promotion: “automatic” - name: “hardening” deployment: “blue-green” - approval: “manual” test: “performance” promotion: “manual” - name: “prod” deployment: “blue-green” release: “canary” - interval: “10m” - increase: “20%” CloudEvent Events decouple WHAT from WHO and provide context information { "type": "sh.keptn.event.start-deploy", "specversion": "0.2", "source": "https://github.com/keptn/keptn/cli", "id": "49ac0dec-a83b-4bc1-9dc0-1f050c7e781b", "time": "2019-06-07T07:02:15.64489Z", "contenttype": "application/json", "shkeptncontext":"49ac0dec-a83b-4bc1-9dc0-1f050c7e789b", "data": { "project": "bookshop", "stage": "dev", "service": "details", "image": "bookshop/details:0.9.1" } } CloudEvent CloudEvent CloudEvent CloudEvent PubSub provider
  • 12. 12 Declarative tool definition: Uniform pipeline { stages { stage('Deploy to dev namespace') { steps { container(‘helm’) { } } } stage('Run tests') { steps { container(‘hey’) { } } } stage(‘Evaluate performance’) { steps { container(‘curl’) { } } } if (evaluation.passed) { stage('Deploy to staging') { steps { container(‘helm’) { } } } } } } keptn: v1 type: uniform services: - name: “slack-trail” image: “keptn/slack:1.0” env: - name: “SLACK_WEBHOOK” value: “https://hooks.sl..." topics: - “*” - name: “deploy-svc” image: “argo/argocd-svc:1.3” topics: - “start_deploy” - name: “performance-test” image: “keptn/jmeter:0.7” topics: - “start_test” ... Uniform specifies WHO reacts to which EVENTS
  • 13. 1313 Challenge Challenge accepted • Add hardening stage? Add stage in Shipyard. • Use different tool for deployment? Switch tool in Uniform. • Add notifications to all steps? Add tool in Uniform on all events. • Enforce manual approval before Change approval in Shipyard. promoting to production for a period of time? How does solve that?
  • 16. 16 Continuous Delivery – Launch control Launch operations are supervised and controlled from several control rooms (also known as a firing room). The controllers are in control of pre-launch checks, the booster and spacecraft. Once the rocket has cleared the launch tower (usually within the first 10–15 seconds), is when control is switched over to the Mission Control Center
  • 17. 17 Continuous Operations – Mission Control A mission control center (MCC, sometimes called a flight control center or operations center) is a facility that manages space flights, usually from the point of launch until landing or the end of the mission. It is part of the ground segment of spacecraft operations. A staff of flight controllers and other support personnel monitor all aspects of the mission using telemetry, and send commands to the vehicle using ground stations
  • 18. 18 Quote: “We spend more time in manual communicaton than remediating issues” Second: has Continuous Operations at its Core! ENGAGE TRIAGE FIND & ASSEMBLE RESOLVE RESTORE MANUAL COMMUNICATION MANUAL COMM Before After RESTORERESOLVE NUMBER OF ISSUES BEFORE: mostly manual AFTER: mostly automated
  • 19. 19 Mission Control “Automated Operations” = Day 2 Ops Launch Control “Continuous Deployment” = Day 1 Ops keptn accelerates building autonomous clouds Event-driven runbook automation Productionproblemscan beautomaticallyremediatedin real-timebyexecutingrunbooksthatrequirenomanual intervention. Self-healing blue/green deployments Deploymentsthatfollowthe“Operationsas Code” paradigmautomaticallyremediateproblemsandget yourdeploymentpipelineworkingagain inundera minute. Automated multistage unbreakable delivery pipelines GitOps-enableddeliverypipelineswithautomated qualitygates supportautomatedtestingandmonitoring- as-a-service.
  • 20. 20 Designed for modern applications GitOps-based collaboration AllkeptnworkflowsarebasedontheGitOps paradigm. Operator patterns for all logic components Logiccomponentscan bereusedforother operationaltasks. Monitoring and operations as code Developer-friendlydefinitionofmonitoringand operationaltasks. Built on and for Kubernetes Builtformoderncloud-nativeenvironments. Event-driven and serverless Powerfulwitha minimal resourcefootprint. Pluggable tooling Alltoolsleveragedbykeptn can bereplacedbased onyourtoolpreferences.
  • 21. 21 Example: Automated Operations SLI.yml SLO.aml REM.yml Git provider Monitoringprovider + 1 (1) Add operation instructions (3) Setup & configure monitoring (4) Monitor services (5) Detect issues based on SLO (6) Alert Keptn (7) Find remediation action (8) Execute remediation action (9) Receive monitoring feedback (success) CPU exhausted! Scale up Cope with load (2) Store & version files
  • 22. 22 Delivery/Operations Personas 22Developers Defines remediation actions SRE Service Level Objectives Defines stages and process DevOps Provides Service Level Indicators Defines tools
  • 23. 23 Key features of • Message-driven control plane for delivery/operations: declarative • Standardized CloudEvents for communication • GitOps built-in • Configuration versioned in git; Upstreams to remote git (GitHub, GitLab, BitBucket, …) • Enables automated operations (self-healing) • SLIs, SLOs, Remediation Actions • Works well in multi-stage, multi-cluster scenarios • Supports non-k8s applications • Observability built-in 23
  • 25. 25 Roadmap • Extend and collaborate on CloudEvent specification • Enable easy interoperability between common CNCF tools • Add additional cloud-native practices (canary, feature-flag based self-healing) • Enhance user interface and observability • Extend the UI and implement W3C trace-context conform tracing • Build support for uniforms and Keptn’s wardrobe (service registry) • Integrate a number of tools and provide a public registry • Improved self-healing and auto-remediation capabilities • Handle common problems out-of-the-box?
  • 26. 26 MTTI = Mean Time to Innovation MTTR Mean Time to Remediate 4.8 days 4 hours ~ 10min 12.5 days 2 days ~ 1 hour We are building Keptn to re-shape this reality GROW this number!
  • 27. 27 Where and How to Contribute?
  • 28. 28 Config ChatOps IT Auto. Deploy Test Observe Keptn core is fundamentally event driven: 0.5.0 • sh.keptn.internal.event.project.create • sh.keptn.internal.event.service.create • sh.keptn.event.configuration.change • sh.keptn.event.monitoring.configure • sh.keptn.events.deployment-finished • sh.keptn.events.evaluation-done • sh.keptn.events.tests-finished • sh.keptn.events.problem 1. Do Something 2. Send Event 1. Consume Event 2. Do Something 1. Consume Event 2. Do Something 3. Send Event 1. Consume Event 2. Do Something 1. Consume Event 2. Do Something
  • 29. 29 Some example Keptn Contribution Use Cases • Send new-artifact event when new build artifact is generated • Consume all or specific events for notification purposes • Consume deployment-finished events to begin tests • Consume configuration-changed events to execute automated tasks (i.e. Jenkins) • Consume problem events to begin execute remediation action (i.e. ServiceNow, XMatters, Ansible) • Disregard events entirely and provide additional source of metrics to Pitometer! (i.e. Prometheus)
  • 30. 30 Example 1: JIRA Service • Subscribes to: • sh.keptn.events.evaluation-done • Creates JIRA ticket upon failed Pitometer deployment evaluation • Ticket includes: • Failed deployment stage (i.e. Dev, Staging, Prod) • Failed service • Total Pitometer Score • Pitometer Score Pass Threshold • Pitometer Score Warning Treshold • Pitometer Indicator ID • Pitometer Evaluation Result http://github.com/keptn-contrib/jira-service 1. Consume Event 2. Do Something
  • 31. 31 Example 2: Neotys • Subscribes to: • sh.keptn.events.deployment-finished • Publishes to: • sh.keptn.events.test-finished • Executes a NeoLoad test stored in source control alongside application source • Consumes test-strategy from Shipyard file • Pitometer NeoLoad source allows use of NeoLoad performance test results for build validation in Pitometer https://github.com/keptn-contrib/neoload-service https://github.com/neotyskeptn/pitometer-source-neoload 1. Consume Event 2. Do Something 3. Send Event
  • 32. 32 Example 3: UFO Service • Subscribes to: • sh.keptn.events.new-artifact • sh.keptn.events.deployment-finished • sh.keptn.events.tests-finished • sh.keptn.events.evaluation-done • new-artifact event = blue LEDs • deployment-finished event = purple LEDs • evaluation-done Pass = green LEDs • evaluation-done Fail = red LEDs https://github.com/keptn-contrib/ufo-service 1. Consume Event 2. Do Something
  • 33. 33 Relevant events by provider use-case: • Testing Tools/Services: • Subscribe to sh.keptn.events.deployment-finished • Pitometer source for test results • Consumes test-strategy from Shipyard file • Monitoring Tools/Services: • Pitometer source • Continuous Integration or Build Tools/Services: • Publish to sh.keptn.event.configuration-changed • ChatOps Tools/Services • Subscribe to ALL events • Automation Tools/Services • Subscribe to sh.keptn.events.problem to remediate a problem • Subscribe to sh.keptn.events.configuration-changed to execute additional deployment tasks
  • 34. 34 A message-driven control plane for application delivery and automated operations. What is ? 34
  • 35. 35 • https://keptn.sh • https://github.com/keptn/community • @keptnproject • keptn@dynatrace.com • keptn.slack.com • Biweekly community meetings • Zoom https://dynatrace.zoom.us/j/578828410 • Notes https://tinyurl.com/keptn-meeting-notes Join the community
  • 37. Keptn architecture Platform keptn cli api REST API eventbroker bridge mongodb- datastore gitconfiguration-service internal- keptn- services distributor distributor keptn services Continuous Delivery Container Registry Operations Automation AIOps GitOps Test Automation ChatOps Data Provider dev staging production keptnNamespaces: distributor
  • 38. Simple installation and usage 38 $ curl -sL https://get.keptn.sh | sudo -E bash $ keptn install --platform=gke <download examples> $ git clone https://github.com/keptn/examples.git $ cd examples/onboarding-carts <create project and onboard service> $ keptn create project sockshop shipyard.yaml $ keptn onboard service carts --project=sockshop --chart=carts-0.1.0.tgz <configure monitoring and add load test> $ keptn configure monitoring prometheus $ keptn add-resource --project=sockshop --service=carts --stage=staging --resource=jmeter/load.jmx --resourceUri=jmeter/load.jmx <ship a new artifact for the onboarded service> $ keptn send event new-artifact --project=sockshop --service=carts --image=docker.io/keptnexamples/carts --tag=0.9.1 Full use case description: ● https://keptn.sh/docs/0.5.0.beta/installation/setup-keptn/ ● https://keptn.sh/docs/0.5.0.beta/usecases/onboard-carts-service/

Notes de l'éditeur

  1. Numbers based on our survey – https://dynatrace.ai/acsurvey
  2. The trinity of Application Delivery
  3. Numbers based on our survey – https://dynatrace.ai/acsurvey
  4. On July 22 Henrik created a slide describing his workflow for his service