SlideShare una empresa de Scribd logo
1 de 45
Descargar para leer sin conexión
Shipping code like a
@keptnProject
https://keptn.sh
https://github.com/keptn
Rob.Jahn@Dynatrace.com
Technical Partner Manager
& Keptn Advocate
2
Every CIOs vision of their Cloud Native investment
3
The unfortunate reality for most….
1. Complexity
2. Manual operations
3. Lack information
4. People
5. Identifying root cause
4* based on our ACM survey
5
Maturity Questions
Mean Time to Innovation (MTTI)
1. Are you on two week sprints?​
2. Do you also release 25 times a year?​
3. How long does it take you to deploy a new release to production?​
4. Do you measure feature adoption?
Mean Time to Remediate (MTTR)
1. How long does it take to rollback/roll forward a faulty release?​
2. To release any software in your organization, how many manual steps does it
take?​
6
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
it!
https://dynatrace.ai/acsurvey
Only < 5% is „Cloud Native“
7
That is why we are building
Because cloud native delivery and operations is a BIG challenge for enterprises!
Cloud Native
8
.
https://dzone.com/articles/keep-calms-and-devops-c-is-for-culture
Culture first, but change is not easy…
9
Common Pipeline delivery challenges
1. Pipelines are semi-automated
2. Each team building duplicate delivery & integration mechanisms
3. Changing tooling causes a ton pipeline re-work
4. Lack software architecture for DevOps automation
5. Lack auditing support for customized tool integrations
6. Lack of standards
7. Too many technologies to keep up with
8. What else ????
10
So what is this thing?
• Open source initiative to make continuous delivery and operations automation
a commodity for modern cloud-native applications
• Enterprise-grade event-based framework for shipping and operating cloud-
native applications built to run on any Kubernetes cluster
• With Keptn ...
• Developers can focus on code instead of creating YAML files
• DevOps can focus on tools instead of building pipelines
• SREs can enforce processes instead of debugging problems
11
Automated OperationsContinuous Deployment
Core Capabilities -- accelerates building autonomous clouds
Event-drivenrunbook
automation
Productionproblemscan beautomatically
remediatedin real-timebyexecuting
runbooksthatrequirenomanual
intervention.
Self-healing blue/green
deployments
Deploymentsthatfollowthe“Operationsas
Code”paradigmautomaticallyremediate
problemsandgetyourdeploymentpipeline
workingagainin underaminute.
Automatedmulti-stage
unbreakable pipelines
GitOps-enableddeliverypipelineswith
automatedqualitygatessupportautomated
testingandmonitoring-as-a-service.
12
First: solves the Continuous Delivery Problem!
Many approaches today are brittle, error-prone and hard to maintain
13
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
14
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!
15
Design Principals – follows patterns for modern applications
GitOps-based
collaboration
Operator patterns for all
logic components
Monitoring and
operations ascode
Built onandfor Kubernetes Event-drivenandserverless Pluggabletooling
16
Keptn architecture
Platform
keptn
cli
api eventbroker
REST
API
bridge 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
Mini-kube AWS EKS Azure AKS Google GKE Openshift Pivotal PKS
17
Keptn Use Cases - Installation
1. One-Line Installation: on most popular k8s platforms
2. Zero-Touch Toolchain Integration: No custom tool integrations needed
3. Zero-Touch Cloud Native Services: Enables GitOps event-driven CD/CO for your
services
18
Config ChatOps IT Autom
Deploy Test Observe
One-Line Installation: $ keptn install --platform=[aks, gke, openshift]
1. Keptn installer pod
2. Keptn pods and services(such as logging, keptn bridge,event broker)
3. Keptn routes (such asauthenticator, bridge, gate-keeper,helm service)
4. Keptn channels (such as configuration-changed, deployment-finished, evaluation-done)
5. Istio and knative pods
19
Config ChatOps IT Autom
Deploy Test Observe
Zero-Touch Toolchain Integration: $ keptn wear uniform uniform.yaml
uniform.yaml
services:
- name: "dockerhub"
- name: "jenkins-service"
subscribedchannels:
- new-artifact
- deployment-finished
-name: "slack-service”
20
Zero-Touch Toolchain Integration:
Config ChatOps IT Autom
Deploy Test Observe
Pluggable tooling
All tools leveraged by keptn
can be replaced based
on your tool preferences.
Keptn Orders Demo -- tool chain ”uniform”
Config ChatOps IT Autom
Deploy Test Observe
• Configuration:GitHub
• Deploy:Helm
• Chat:Slack& MS Teams
• IT Automation:None
• Test:Jmeter
• Observe:PitometerQualityGates
Keptn Orders Demo Setup
DockerRegistrywithpre-builtimages
GitHub Org
Staging Production
Update GitHub repositories
- front-end
- catalog-service
- customer-service
- catalog-service
Dev
https://github.com/keptn-orders
23
Keptn Use Cases – Continuous Delivery
1. Re-Think Pipelines: Gone are the days of custom pipeline coding!
2. Automated Multi-Stage Delivery: Risk-Free auto deployment through multi-stage
delivery pipelines
3. Automated Quality Gates: stops bad changes before production using Pitometer
4. Self-Healing Blue/Green Deployments: reverts bad changes before impacting end-
users
5. Zero-Touch Toolchain Updates: Add/Remove/Replace tools without custom coding
6. Mastering Continuous Delivery: Risk-Free Automated Deployments
24
Config ChatOps IT Autom
Deploy Test Observe
Re-Think Pipelines: $ keptn create project keptn-sample shipyard.yaml
S
T
A
G
I
N
G
P
R
O
D
DirectUpdateC D
Blue/GreenUpdateC D
25
Config ChatOps IT Autom
Deploy Test Observe
Zero-Touch Cloud Native Services: $ keptn onboard service myservice [values.yaml]
S
T
A
G
I
N
G
P
R
O
D
DirectUpdateC D
Blue/GreenUpdateC D
PLACEHOLDER
PLACEHOLDER
As a developer, I want to safely deploy a new
version by just providing my docker image
27
Config ChatOps IT Autom
Deploy Test Observe
Automated Multi-Stage Delivery: $ keptn new artifact myservice:1.0.0
S
T
A
G
I
N
G
P
R
O
D
ScoreDirect PerformanceUpdate Promote?C D T O
ScoreBlue/GreenUpdate 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
28
Config ChatOps IT Autom
Deploy Test Observe
Automated Quality Gates: $ keptn new artifact myservice:2.0.0
S
T
A
G
I
N
G
P
R
O
D
ScoreDirect PerformanceUpdate Promote?C D T O
ScoreBlue/GreenUpdate 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
Pitometer ???
devices used to measure a ship's speed
relative to the water. They are used on
both surface ships and submarines.
Data from the pitometer log is usually
fed directly into the ship's navigation
system. (Wikipedia)
30
A Quick word on Keptn Quality Gates: Automated Deployment Validation
Metric Source &
Query
Grading Details
& Metric Score
Pitometer Specfile
Total Scoring
Objectives
2GB
Allocated Bytes (from Prometheus)
> 2GB: 0 Points
< 2GB: 20 Points
5%
2% < 2%: 0 Points
< 5%: 10 Points
> 5%: 20 Points
Conversion Rate (Dynatrace)
GraderSource
If value: 3GB
Score: 0
If value: 3.9%
Score: 10
Total Score: 10
31
Automated Quality Gates with Keptn’s Pitometer
#1 Call Pitometer Library
Pass / Fail
Promote?
Quality Gates as Code
•
First extensions by
https://www.dynatrace.com/news/blog/automated-deployment-and-architectural-validation-with-pitometer-and-keptn/
32
Pitometer Client
 Evaluates & Scores results
 Community can build more
 1 to many modules as required
 Queries data for requested
indicators
 Community can build more
Pitometer Module  Core library for Data, sources,
graders and perfspec file parsing
PerfSpec JSON
Grader Module
Graders
Graders
Data Module(s)
Custom Code
 Logic to assemble and configure
modules. Read file and pass to
Pitometer functions
Pitometer JSON Results
Keptn Pitometer: Extensible design using NodeJS Modules
https://github.com/keptn/pitometer
33
Quality Gate Examples and Metrics
Check 1
• Is bad coding
leading to higher
costs?
Check 2
• New dependencies? On
Purpose?
• Services connecting
accurately?
• Number of container
instances needed?
Check 3
• Are we jeopardizing
our SLAs?
• Does load balancing
work?
• Difference between
Canaries?
Check 4
• Did we introduce
new “hidden”
exceptions?
Metrics
 Memory usage
 Bytes sent /
received
 Overall CPU
 CPU per
transaction type
Metrics
 Number of incoming /
outgoing
dependencies
 Number of instances
running on containers
 Metrics
 Response Time
(Percentiles)
 Throughput & Perf
per Instance /
Canary
 Metrics
 Total Exceptions
 Exceptions by
Class & Service
34
Config ChatOps IT Autom
Deploy Test Observe
Self-Healing Blue/Green Deployments: $ keptn new artifact myservice:3.0.0
S
T
A
G
I
N
G
P
R
O
D
ScoreDirect PerformanceUpdate Promote?C D T O
ScoreBlue/GreenUpdate 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
As a DevOps Engineer, I want switch tools
without writing custom pipeline code
36
Config ChatOps IT Autom
Deploy Test Observe
Zero-Touch Toolchain Updates: $ keptn update uniform <+neo,+end2end,+spinnaker>
S
T
A
G
I
N
G
P
R
O
D
ScoreDirect PerformanceUpdate Promote?C D T O
ScoreBlue/GreenUpdate Keep?C D O
1.0.0
1 1
1.0.0
1 1 1
2.0.0
2 2
3.0.0
3 3
End2EndT
37
Config ChatOps IT Autom
Deploy Test Observe
Mastering Continuous Delivery: $ keptn new artifact myservice:4.0.0
S
T
A
G
I
N
G
P
R
O
D
ScoreDirect PerformanceUpdate Promote?C D T O
ScoreBlue/GreenUpdate Keep?C D O
1.0.0
1 1
1.0.0
1 1 1
2.0.0
2 2
3.0.0
3 3
4 4 4
End2EndT
4.0.0
4.0.0
4 4 95
/
100
90
/
100
K
E
E
P
P
R
O
M
O
T
E
38
Keptn Use Cases – Continuous Operations
1. Self-Healing Production: Automated Problem Remediation (Scale-Up, Scale-
Down, ...)
2. Self-Healing/Continuous BizDevOps: Automated Business Operations
Optimization, Turn on/off feature flags based on conversion rates ...
3. Auto-Protect Production & Business: Stop DDOS attacks, Redirect Bot Traffic ...
4. Chaos-Driven Operation Readiness: Chaos Engineering to validate your
production self-healing
As an SRE, I want production to auto-
remediate problems detected by monitioring
40
4 4
Self-Healing Production: $ keptn new problem <Services, Root Cause>
P
R
O
D
Evaluate
Decide
Act
Notify
4 Escalate
4 4
#1 Evaluate Problem #3 Execute Action #4 Notify on Success #5 Escalate on Failure#2 Decide on Remediation
41
• https://github.com/keptn/community
• Twitter - @keptnproject
• Slack - keptn.slack.com
• Biweekly community meetings
• Zoom https://dynatrace.zoom.us/j/578828410
• Notes https://tinyurl.com/keptn-meeting-notes
• Blogs– http://medium.com/keptn
• Web – http://keptn.sh
• Email- keptn@dynatrace.com
Jointhe community
Rob.Jahn@Dynatrace.com
Technical PartnerManager
& KeptnAdvocate
42
43
Keptn Orders Application
• Order processing application
• Web UI with 3 java spring boot microservices
with embedded databases
• Components pre-compiled, built as a Docker
image, and staged on dockerhub.com
• All source code can be found at
https://github.com/keptn-orders
44
Keptn-Orders GitHub Repo Structure
App Repos
front-end
customer-
service
order-service
catalog-
service
/jmeter/
basiccheck.jmx
front-end_load.jmx
/perfspec/
perfspec.json
Other files
* Source Code
* CI Build pipeline files
* Dockerfile
* Build scripts
Same structure as
front-end
Same structure as
front-end
Same structure as
front-end
orders-
project
Dev Branch
/Helm-Charts/
chart values files
/templates/
istio virtual gateway YAML
service YAML
deployment YAML
environment gateway YAML
Staging Branch
Same structure and files as Dev Branch
Production Branch
Same structure and files as Dev Branch
Folders &Files Keptn Repo Folders &Files
https://github.com/jahn-keptn-orders-aks2
45
VM Worker Pool
NAME SPACES
Kubernetes Demo Cluster Setup with Keptn & Deployed Keptn-Orders Application
Node 1
Dynatrace
Keptn
Staging
Production front-end
front-end
customer-
service
order-service
catalog-
service
bridge
OneAgent
Operator
OneAgent
(node 1)
front-end
customer-
service
order-service
catalog-
service
gatekeeper
Jmeter-
service
helm-service …
Dev front-end
customer-
service
order-service
catalog-
service
Node X

Más contenido relacionado

La actualidad más candente

Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018Araf Karsh Hamid
 
Monitoring Microservices
Monitoring MicroservicesMonitoring Microservices
Monitoring MicroservicesWeaveworks
 
Securing Kafka
Securing Kafka Securing Kafka
Securing Kafka confluent
 
Introduction to Event-Driven Architecture
Introduction to Event-Driven Architecture Introduction to Event-Driven Architecture
Introduction to Event-Driven Architecture Solace
 
Microservices Part 3 Service Mesh and Kafka
Microservices Part 3 Service Mesh and KafkaMicroservices Part 3 Service Mesh and Kafka
Microservices Part 3 Service Mesh and KafkaAraf Karsh Hamid
 
Distributed Tracing with Jaeger
Distributed Tracing with JaegerDistributed Tracing with Jaeger
Distributed Tracing with JaegerInho Kang
 
Building Event Driven Architectures with Kafka and Cloud Events (Dan Rosanova...
Building Event Driven Architectures with Kafka and Cloud Events (Dan Rosanova...Building Event Driven Architectures with Kafka and Cloud Events (Dan Rosanova...
Building Event Driven Architectures with Kafka and Cloud Events (Dan Rosanova...confluent
 
Prometheus - basics
Prometheus - basicsPrometheus - basics
Prometheus - basicsJuraj Hantak
 
Microservices with NGINX pdf
Microservices with NGINX pdfMicroservices with NGINX pdf
Microservices with NGINX pdfKatherine Bagood
 
YOW2018 - Events and Commands: Developing Asynchronous Microservices
YOW2018 - Events and Commands: Developing Asynchronous MicroservicesYOW2018 - Events and Commands: Developing Asynchronous Microservices
YOW2018 - Events and Commands: Developing Asynchronous MicroservicesChris Richardson
 
Monitoring Kubernetes with Prometheus (Kubernetes Ireland, 2016)
Monitoring Kubernetes with Prometheus (Kubernetes Ireland, 2016)Monitoring Kubernetes with Prometheus (Kubernetes Ireland, 2016)
Monitoring Kubernetes with Prometheus (Kubernetes Ireland, 2016)Brian Brazil
 
Think2018 2314-Microservices and BPM-can they coexist?
Think2018 2314-Microservices and BPM-can they coexist?Think2018 2314-Microservices and BPM-can they coexist?
Think2018 2314-Microservices and BPM-can they coexist?Brian Petrini
 
Bare Metal Cluster with Kubernetes, Istio and Metallb | Nguyen Phuong An, Ngu...
Bare Metal Cluster with Kubernetes, Istio and Metallb | Nguyen Phuong An, Ngu...Bare Metal Cluster with Kubernetes, Istio and Metallb | Nguyen Phuong An, Ngu...
Bare Metal Cluster with Kubernetes, Istio and Metallb | Nguyen Phuong An, Ngu...Vietnam Open Infrastructure User Group
 
Monitoring using Prometheus and Grafana
Monitoring using Prometheus and GrafanaMonitoring using Prometheus and Grafana
Monitoring using Prometheus and GrafanaArvind Kumar G.S
 
Microservices in Practice
Microservices in PracticeMicroservices in Practice
Microservices in PracticeKasun Indrasiri
 
Design patterns for microservice architecture
Design patterns for microservice architectureDesign patterns for microservice architecture
Design patterns for microservice architectureThe Software House
 

La actualidad más candente (20)

Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018
 
Monitoring Microservices
Monitoring MicroservicesMonitoring Microservices
Monitoring Microservices
 
Securing Kafka
Securing Kafka Securing Kafka
Securing Kafka
 
Introduction to Event-Driven Architecture
Introduction to Event-Driven Architecture Introduction to Event-Driven Architecture
Introduction to Event-Driven Architecture
 
Elastic-Engineering
Elastic-EngineeringElastic-Engineering
Elastic-Engineering
 
Microservices Part 3 Service Mesh and Kafka
Microservices Part 3 Service Mesh and KafkaMicroservices Part 3 Service Mesh and Kafka
Microservices Part 3 Service Mesh and Kafka
 
Distributed Tracing with Jaeger
Distributed Tracing with JaegerDistributed Tracing with Jaeger
Distributed Tracing with Jaeger
 
Building Event Driven Architectures with Kafka and Cloud Events (Dan Rosanova...
Building Event Driven Architectures with Kafka and Cloud Events (Dan Rosanova...Building Event Driven Architectures with Kafka and Cloud Events (Dan Rosanova...
Building Event Driven Architectures with Kafka and Cloud Events (Dan Rosanova...
 
Prometheus - basics
Prometheus - basicsPrometheus - basics
Prometheus - basics
 
Microservices with NGINX pdf
Microservices with NGINX pdfMicroservices with NGINX pdf
Microservices with NGINX pdf
 
YOW2018 - Events and Commands: Developing Asynchronous Microservices
YOW2018 - Events and Commands: Developing Asynchronous MicroservicesYOW2018 - Events and Commands: Developing Asynchronous Microservices
YOW2018 - Events and Commands: Developing Asynchronous Microservices
 
CI/CD on AWS
CI/CD on AWSCI/CD on AWS
CI/CD on AWS
 
Monitoring Kubernetes with Prometheus (Kubernetes Ireland, 2016)
Monitoring Kubernetes with Prometheus (Kubernetes Ireland, 2016)Monitoring Kubernetes with Prometheus (Kubernetes Ireland, 2016)
Monitoring Kubernetes with Prometheus (Kubernetes Ireland, 2016)
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Think2018 2314-Microservices and BPM-can they coexist?
Think2018 2314-Microservices and BPM-can they coexist?Think2018 2314-Microservices and BPM-can they coexist?
Think2018 2314-Microservices and BPM-can they coexist?
 
Bare Metal Cluster with Kubernetes, Istio and Metallb | Nguyen Phuong An, Ngu...
Bare Metal Cluster with Kubernetes, Istio and Metallb | Nguyen Phuong An, Ngu...Bare Metal Cluster with Kubernetes, Istio and Metallb | Nguyen Phuong An, Ngu...
Bare Metal Cluster with Kubernetes, Istio and Metallb | Nguyen Phuong An, Ngu...
 
Monitoring using Prometheus and Grafana
Monitoring using Prometheus and GrafanaMonitoring using Prometheus and Grafana
Monitoring using Prometheus and Grafana
 
Microservices in Practice
Microservices in PracticeMicroservices in Practice
Microservices in Practice
 
Introduction to helm
Introduction to helmIntroduction to helm
Introduction to helm
 
Design patterns for microservice architecture
Design patterns for microservice architectureDesign patterns for microservice architecture
Design patterns for microservice architecture
 

Similar a Ship code like a keptn

Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for youAmbientia
 
Agile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAgile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAdam Stephensen
 
Cloud and Network Transformation using DevOps methodology : Cisco Live 2015
Cloud and Network Transformation using DevOps methodology : Cisco Live 2015Cloud and Network Transformation using DevOps methodology : Cisco Live 2015
Cloud and Network Transformation using DevOps methodology : Cisco Live 2015Vimal Suba
 
How Azure DevOps can boost your organization's productivity
How Azure DevOps can boost your organization's productivityHow Azure DevOps can boost your organization's productivity
How Azure DevOps can boost your organization's productivityIvan Porta
 
DevOps and Build Automation
DevOps and Build AutomationDevOps and Build Automation
DevOps and Build AutomationHeiswayi Nrird
 
JUG Poznan - 2017.01.31
JUG Poznan - 2017.01.31 JUG Poznan - 2017.01.31
JUG Poznan - 2017.01.31 Omnilogy
 
Next Level DevOps Implementation with GitOps
Next Level DevOps Implementation with GitOpsNext Level DevOps Implementation with GitOps
Next Level DevOps Implementation with GitOpsRamadoni Ashudi
 
From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]Dynatrace
 
#ESPC19 How to do #DevOps with #SPFx
#ESPC19 How to do #DevOps with #SPFx#ESPC19 How to do #DevOps with #SPFx
#ESPC19 How to do #DevOps with #SPFxVincent Biret
 
Cloud-Native Fundamentals: Accelerating Development with Continuous Integration
Cloud-Native Fundamentals: Accelerating Development with Continuous IntegrationCloud-Native Fundamentals: Accelerating Development with Continuous Integration
Cloud-Native Fundamentals: Accelerating Development with Continuous IntegrationVMware Tanzu
 
Model-Based Testing for ALM Octane: Better tests, built faster
Model-Based Testing for ALM Octane: Better tests, built faster Model-Based Testing for ALM Octane: Better tests, built faster
Model-Based Testing for ALM Octane: Better tests, built faster Curiosity Software Ireland
 
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareLessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareDevOps for Enterprise Systems
 
Technical debt strategy
Technical debt strategyTechnical debt strategy
Technical debt strategyMasas Dani
 
Dev Ops for systems of record - Talk at Agile Australia 2015
Dev Ops for systems of record - Talk at Agile Australia 2015Dev Ops for systems of record - Talk at Agile Australia 2015
Dev Ops for systems of record - Talk at Agile Australia 2015Mirco Hering
 
Cloud continuous integration- A distributed approach using distinct services
Cloud continuous integration- A distributed approach using distinct servicesCloud continuous integration- A distributed approach using distinct services
Cloud continuous integration- A distributed approach using distinct servicesAndré Agostinho
 
SCM Transformation Challenges and How to Overcome Them
SCM Transformation Challenges and How to Overcome ThemSCM Transformation Challenges and How to Overcome Them
SCM Transformation Challenges and How to Overcome ThemCompuware
 
Training Bootcamp - MainframeDevOps.pptx
Training Bootcamp - MainframeDevOps.pptxTraining Bootcamp - MainframeDevOps.pptx
Training Bootcamp - MainframeDevOps.pptxNashet Ali
 
Lyra Infosystems - GitLab Overview Deck 2020
Lyra Infosystems - GitLab Overview Deck 2020Lyra Infosystems - GitLab Overview Deck 2020
Lyra Infosystems - GitLab Overview Deck 2020Lyra Infosystems Pvt. Ltd
 
JavaOne 2015: Top Performance Patterns Deep Dive
JavaOne 2015: Top Performance Patterns Deep DiveJavaOne 2015: Top Performance Patterns Deep Dive
JavaOne 2015: Top Performance Patterns Deep DiveAndreas Grabner
 

Similar a Ship code like a keptn (20)

Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for you
 
Agile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAgile & DevOps - It's all about project success
Agile & DevOps - It's all about project success
 
Cloud and Network Transformation using DevOps methodology : Cisco Live 2015
Cloud and Network Transformation using DevOps methodology : Cisco Live 2015Cloud and Network Transformation using DevOps methodology : Cisco Live 2015
Cloud and Network Transformation using DevOps methodology : Cisco Live 2015
 
How Azure DevOps can boost your organization's productivity
How Azure DevOps can boost your organization's productivityHow Azure DevOps can boost your organization's productivity
How Azure DevOps can boost your organization's productivity
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
 
DevOps and Build Automation
DevOps and Build AutomationDevOps and Build Automation
DevOps and Build Automation
 
JUG Poznan - 2017.01.31
JUG Poznan - 2017.01.31 JUG Poznan - 2017.01.31
JUG Poznan - 2017.01.31
 
Next Level DevOps Implementation with GitOps
Next Level DevOps Implementation with GitOpsNext Level DevOps Implementation with GitOps
Next Level DevOps Implementation with GitOps
 
From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]
 
#ESPC19 How to do #DevOps with #SPFx
#ESPC19 How to do #DevOps with #SPFx#ESPC19 How to do #DevOps with #SPFx
#ESPC19 How to do #DevOps with #SPFx
 
Cloud-Native Fundamentals: Accelerating Development with Continuous Integration
Cloud-Native Fundamentals: Accelerating Development with Continuous IntegrationCloud-Native Fundamentals: Accelerating Development with Continuous Integration
Cloud-Native Fundamentals: Accelerating Development with Continuous Integration
 
Model-Based Testing for ALM Octane: Better tests, built faster
Model-Based Testing for ALM Octane: Better tests, built faster Model-Based Testing for ALM Octane: Better tests, built faster
Model-Based Testing for ALM Octane: Better tests, built faster
 
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareLessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
 
Technical debt strategy
Technical debt strategyTechnical debt strategy
Technical debt strategy
 
Dev Ops for systems of record - Talk at Agile Australia 2015
Dev Ops for systems of record - Talk at Agile Australia 2015Dev Ops for systems of record - Talk at Agile Australia 2015
Dev Ops for systems of record - Talk at Agile Australia 2015
 
Cloud continuous integration- A distributed approach using distinct services
Cloud continuous integration- A distributed approach using distinct servicesCloud continuous integration- A distributed approach using distinct services
Cloud continuous integration- A distributed approach using distinct services
 
SCM Transformation Challenges and How to Overcome Them
SCM Transformation Challenges and How to Overcome ThemSCM Transformation Challenges and How to Overcome Them
SCM Transformation Challenges and How to Overcome Them
 
Training Bootcamp - MainframeDevOps.pptx
Training Bootcamp - MainframeDevOps.pptxTraining Bootcamp - MainframeDevOps.pptx
Training Bootcamp - MainframeDevOps.pptx
 
Lyra Infosystems - GitLab Overview Deck 2020
Lyra Infosystems - GitLab Overview Deck 2020Lyra Infosystems - GitLab Overview Deck 2020
Lyra Infosystems - GitLab Overview Deck 2020
 
JavaOne 2015: Top Performance Patterns Deep Dive
JavaOne 2015: Top Performance Patterns Deep DiveJavaOne 2015: Top Performance Patterns Deep Dive
JavaOne 2015: Top Performance Patterns Deep Dive
 

Último

Governance in SharePoint Premium:What's in the box?
Governance in SharePoint Premium:What's in the box?Governance in SharePoint Premium:What's in the box?
Governance in SharePoint Premium:What's in the box?Juan Carlos Gonzalez
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaborationbruanjhuli
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
99.99% of Your Traces Are (Probably) Trash (SRECon NA 2024).pdf
99.99% of Your Traces  Are (Probably) Trash (SRECon NA 2024).pdf99.99% of Your Traces  Are (Probably) Trash (SRECon NA 2024).pdf
99.99% of Your Traces Are (Probably) Trash (SRECon NA 2024).pdfPaige Cruz
 
The Kubernetes Gateway API and its role in Cloud Native API Management
The Kubernetes Gateway API and its role in Cloud Native API ManagementThe Kubernetes Gateway API and its role in Cloud Native API Management
The Kubernetes Gateway API and its role in Cloud Native API ManagementNuwan Dias
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 
Valere | Digital Solutions & AI Transformation Portfolio | 2024
Valere | Digital Solutions & AI Transformation Portfolio | 2024Valere | Digital Solutions & AI Transformation Portfolio | 2024
Valere | Digital Solutions & AI Transformation Portfolio | 2024Alexander Turgeon
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAshyamraj55
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
IEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK GuideIEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK GuideHironori Washizaki
 
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...Daniel Zivkovic
 

Último (20)

Governance in SharePoint Premium:What's in the box?
Governance in SharePoint Premium:What's in the box?Governance in SharePoint Premium:What's in the box?
Governance in SharePoint Premium:What's in the box?
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
99.99% of Your Traces Are (Probably) Trash (SRECon NA 2024).pdf
99.99% of Your Traces  Are (Probably) Trash (SRECon NA 2024).pdf99.99% of Your Traces  Are (Probably) Trash (SRECon NA 2024).pdf
99.99% of Your Traces Are (Probably) Trash (SRECon NA 2024).pdf
 
The Kubernetes Gateway API and its role in Cloud Native API Management
The Kubernetes Gateway API and its role in Cloud Native API ManagementThe Kubernetes Gateway API and its role in Cloud Native API Management
The Kubernetes Gateway API and its role in Cloud Native API Management
 
20230104 - machine vision
20230104 - machine vision20230104 - machine vision
20230104 - machine vision
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 
Valere | Digital Solutions & AI Transformation Portfolio | 2024
Valere | Digital Solutions & AI Transformation Portfolio | 2024Valere | Digital Solutions & AI Transformation Portfolio | 2024
Valere | Digital Solutions & AI Transformation Portfolio | 2024
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
IEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK GuideIEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
 
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
 

Ship code like a keptn

  • 1. Shipping code like a @keptnProject https://keptn.sh https://github.com/keptn Rob.Jahn@Dynatrace.com Technical Partner Manager & Keptn Advocate
  • 2. 2 Every CIOs vision of their Cloud Native investment
  • 3. 3 The unfortunate reality for most…. 1. Complexity 2. Manual operations 3. Lack information 4. People 5. Identifying root cause
  • 4. 4* based on our ACM survey
  • 5. 5 Maturity Questions Mean Time to Innovation (MTTI) 1. Are you on two week sprints?​ 2. Do you also release 25 times a year?​ 3. How long does it take you to deploy a new release to production?​ 4. Do you measure feature adoption? Mean Time to Remediate (MTTR) 1. How long does it take to rollback/roll forward a faulty release?​ 2. To release any software in your organization, how many manual steps does it take?​
  • 6. 6 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 it! https://dynatrace.ai/acsurvey Only < 5% is „Cloud Native“
  • 7. 7 That is why we are building Because cloud native delivery and operations is a BIG challenge for enterprises! Cloud Native
  • 9. 9 Common Pipeline delivery challenges 1. Pipelines are semi-automated 2. Each team building duplicate delivery & integration mechanisms 3. Changing tooling causes a ton pipeline re-work 4. Lack software architecture for DevOps automation 5. Lack auditing support for customized tool integrations 6. Lack of standards 7. Too many technologies to keep up with 8. What else ????
  • 10. 10 So what is this thing? • Open source initiative to make continuous delivery and operations automation a commodity for modern cloud-native applications • Enterprise-grade event-based framework for shipping and operating cloud- native applications built to run on any Kubernetes cluster • With Keptn ... • Developers can focus on code instead of creating YAML files • DevOps can focus on tools instead of building pipelines • SREs can enforce processes instead of debugging problems
  • 11. 11 Automated OperationsContinuous Deployment Core Capabilities -- accelerates building autonomous clouds Event-drivenrunbook automation Productionproblemscan beautomatically remediatedin real-timebyexecuting runbooksthatrequirenomanual intervention. Self-healing blue/green deployments Deploymentsthatfollowthe“Operationsas Code”paradigmautomaticallyremediate problemsandgetyourdeploymentpipeline workingagainin underaminute. Automatedmulti-stage unbreakable pipelines GitOps-enableddeliverypipelineswith automatedqualitygatessupportautomated testingandmonitoring-as-a-service.
  • 12. 12 First: solves the Continuous Delivery Problem! Many approaches today are brittle, error-prone and hard to maintain
  • 13. 13 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
  • 14. 14 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!
  • 15. 15 Design Principals – follows patterns for modern applications GitOps-based collaboration Operator patterns for all logic components Monitoring and operations ascode Built onandfor Kubernetes Event-drivenandserverless Pluggabletooling
  • 16. 16 Keptn architecture Platform keptn cli api eventbroker REST API bridge 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 Mini-kube AWS EKS Azure AKS Google GKE Openshift Pivotal PKS
  • 17. 17 Keptn Use Cases - Installation 1. One-Line Installation: on most popular k8s platforms 2. Zero-Touch Toolchain Integration: No custom tool integrations needed 3. Zero-Touch Cloud Native Services: Enables GitOps event-driven CD/CO for your services
  • 18. 18 Config ChatOps IT Autom Deploy Test Observe One-Line Installation: $ keptn install --platform=[aks, gke, openshift] 1. Keptn installer pod 2. Keptn pods and services(such as logging, keptn bridge,event broker) 3. Keptn routes (such asauthenticator, bridge, gate-keeper,helm service) 4. Keptn channels (such as configuration-changed, deployment-finished, evaluation-done) 5. Istio and knative pods
  • 19. 19 Config ChatOps IT Autom Deploy Test Observe Zero-Touch Toolchain Integration: $ keptn wear uniform uniform.yaml uniform.yaml services: - name: "dockerhub" - name: "jenkins-service" subscribedchannels: - new-artifact - deployment-finished -name: "slack-service”
  • 20. 20 Zero-Touch Toolchain Integration: Config ChatOps IT Autom Deploy Test Observe Pluggable tooling All tools leveraged by keptn can be replaced based on your tool preferences.
  • 21. Keptn Orders Demo -- tool chain ”uniform” Config ChatOps IT Autom Deploy Test Observe • Configuration:GitHub • Deploy:Helm • Chat:Slack& MS Teams • IT Automation:None • Test:Jmeter • Observe:PitometerQualityGates
  • 22. Keptn Orders Demo Setup DockerRegistrywithpre-builtimages GitHub Org Staging Production Update GitHub repositories - front-end - catalog-service - customer-service - catalog-service Dev https://github.com/keptn-orders
  • 23. 23 Keptn Use Cases – Continuous Delivery 1. Re-Think Pipelines: Gone are the days of custom pipeline coding! 2. Automated Multi-Stage Delivery: Risk-Free auto deployment through multi-stage delivery pipelines 3. Automated Quality Gates: stops bad changes before production using Pitometer 4. Self-Healing Blue/Green Deployments: reverts bad changes before impacting end- users 5. Zero-Touch Toolchain Updates: Add/Remove/Replace tools without custom coding 6. Mastering Continuous Delivery: Risk-Free Automated Deployments
  • 24. 24 Config ChatOps IT Autom Deploy Test Observe Re-Think Pipelines: $ keptn create project keptn-sample shipyard.yaml S T A G I N G P R O D DirectUpdateC D Blue/GreenUpdateC D
  • 25. 25 Config ChatOps IT Autom Deploy Test Observe Zero-Touch Cloud Native Services: $ keptn onboard service myservice [values.yaml] S T A G I N G P R O D DirectUpdateC D Blue/GreenUpdateC D PLACEHOLDER PLACEHOLDER
  • 26. As a developer, I want to safely deploy a new version by just providing my docker image
  • 27. 27 Config ChatOps IT Autom Deploy Test Observe Automated Multi-Stage Delivery: $ keptn new artifact myservice:1.0.0 S T A G I N G P R O D ScoreDirect PerformanceUpdate Promote?C D T O ScoreBlue/GreenUpdate 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
  • 28. 28 Config ChatOps IT Autom Deploy Test Observe Automated Quality Gates: $ keptn new artifact myservice:2.0.0 S T A G I N G P R O D ScoreDirect PerformanceUpdate Promote?C D T O ScoreBlue/GreenUpdate 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
  • 29. Pitometer ??? devices used to measure a ship's speed relative to the water. They are used on both surface ships and submarines. Data from the pitometer log is usually fed directly into the ship's navigation system. (Wikipedia)
  • 30. 30 A Quick word on Keptn Quality Gates: Automated Deployment Validation Metric Source & Query Grading Details & Metric Score Pitometer Specfile Total Scoring Objectives 2GB Allocated Bytes (from Prometheus) > 2GB: 0 Points < 2GB: 20 Points 5% 2% < 2%: 0 Points < 5%: 10 Points > 5%: 20 Points Conversion Rate (Dynatrace) GraderSource If value: 3GB Score: 0 If value: 3.9% Score: 10 Total Score: 10
  • 31. 31 Automated Quality Gates with Keptn’s Pitometer #1 Call Pitometer Library Pass / Fail Promote? Quality Gates as Code • First extensions by https://www.dynatrace.com/news/blog/automated-deployment-and-architectural-validation-with-pitometer-and-keptn/
  • 32. 32 Pitometer Client  Evaluates & Scores results  Community can build more  1 to many modules as required  Queries data for requested indicators  Community can build more Pitometer Module  Core library for Data, sources, graders and perfspec file parsing PerfSpec JSON Grader Module Graders Graders Data Module(s) Custom Code  Logic to assemble and configure modules. Read file and pass to Pitometer functions Pitometer JSON Results Keptn Pitometer: Extensible design using NodeJS Modules https://github.com/keptn/pitometer
  • 33. 33 Quality Gate Examples and Metrics Check 1 • Is bad coding leading to higher costs? Check 2 • New dependencies? On Purpose? • Services connecting accurately? • Number of container instances needed? Check 3 • Are we jeopardizing our SLAs? • Does load balancing work? • Difference between Canaries? Check 4 • Did we introduce new “hidden” exceptions? Metrics  Memory usage  Bytes sent / received  Overall CPU  CPU per transaction type Metrics  Number of incoming / outgoing dependencies  Number of instances running on containers  Metrics  Response Time (Percentiles)  Throughput & Perf per Instance / Canary  Metrics  Total Exceptions  Exceptions by Class & Service
  • 34. 34 Config ChatOps IT Autom Deploy Test Observe Self-Healing Blue/Green Deployments: $ keptn new artifact myservice:3.0.0 S T A G I N G P R O D ScoreDirect PerformanceUpdate Promote?C D T O ScoreBlue/GreenUpdate 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
  • 35. As a DevOps Engineer, I want switch tools without writing custom pipeline code
  • 36. 36 Config ChatOps IT Autom Deploy Test Observe Zero-Touch Toolchain Updates: $ keptn update uniform <+neo,+end2end,+spinnaker> S T A G I N G P R O D ScoreDirect PerformanceUpdate Promote?C D T O ScoreBlue/GreenUpdate Keep?C D O 1.0.0 1 1 1.0.0 1 1 1 2.0.0 2 2 3.0.0 3 3 End2EndT
  • 37. 37 Config ChatOps IT Autom Deploy Test Observe Mastering Continuous Delivery: $ keptn new artifact myservice:4.0.0 S T A G I N G P R O D ScoreDirect PerformanceUpdate Promote?C D T O ScoreBlue/GreenUpdate Keep?C D O 1.0.0 1 1 1.0.0 1 1 1 2.0.0 2 2 3.0.0 3 3 4 4 4 End2EndT 4.0.0 4.0.0 4 4 95 / 100 90 / 100 K E E P P R O M O T E
  • 38. 38 Keptn Use Cases – Continuous Operations 1. Self-Healing Production: Automated Problem Remediation (Scale-Up, Scale- Down, ...) 2. Self-Healing/Continuous BizDevOps: Automated Business Operations Optimization, Turn on/off feature flags based on conversion rates ... 3. Auto-Protect Production & Business: Stop DDOS attacks, Redirect Bot Traffic ... 4. Chaos-Driven Operation Readiness: Chaos Engineering to validate your production self-healing
  • 39. As an SRE, I want production to auto- remediate problems detected by monitioring
  • 40. 40 4 4 Self-Healing Production: $ keptn new problem <Services, Root Cause> P R O D Evaluate Decide Act Notify 4 Escalate 4 4 #1 Evaluate Problem #3 Execute Action #4 Notify on Success #5 Escalate on Failure#2 Decide on Remediation
  • 41. 41 • https://github.com/keptn/community • Twitter - @keptnproject • Slack - keptn.slack.com • Biweekly community meetings • Zoom https://dynatrace.zoom.us/j/578828410 • Notes https://tinyurl.com/keptn-meeting-notes • Blogs– http://medium.com/keptn • Web – http://keptn.sh • Email- keptn@dynatrace.com Jointhe community Rob.Jahn@Dynatrace.com Technical PartnerManager & KeptnAdvocate
  • 42. 42
  • 43. 43 Keptn Orders Application • Order processing application • Web UI with 3 java spring boot microservices with embedded databases • Components pre-compiled, built as a Docker image, and staged on dockerhub.com • All source code can be found at https://github.com/keptn-orders
  • 44. 44 Keptn-Orders GitHub Repo Structure App Repos front-end customer- service order-service catalog- service /jmeter/ basiccheck.jmx front-end_load.jmx /perfspec/ perfspec.json Other files * Source Code * CI Build pipeline files * Dockerfile * Build scripts Same structure as front-end Same structure as front-end Same structure as front-end orders- project Dev Branch /Helm-Charts/ chart values files /templates/ istio virtual gateway YAML service YAML deployment YAML environment gateway YAML Staging Branch Same structure and files as Dev Branch Production Branch Same structure and files as Dev Branch Folders &Files Keptn Repo Folders &Files https://github.com/jahn-keptn-orders-aks2
  • 45. 45 VM Worker Pool NAME SPACES Kubernetes Demo Cluster Setup with Keptn & Deployed Keptn-Orders Application Node 1 Dynatrace Keptn Staging Production front-end front-end customer- service order-service catalog- service bridge OneAgent Operator OneAgent (node 1) front-end customer- service order-service catalog- service gatekeeper Jmeter- service helm-service … Dev front-end customer- service order-service catalog- service Node X

Notas del editor

  1. We did a survey with most of our attendees at PERFORM 2019 in Las Vegas – asking them questions around their cloud native projects. Please take the URL and do the survey as well! I looked at two metrics that tell me how mature an organization is: MTTI: how long does it take to get a newly built and already tested feature from pre-prod into production? 1 hour was the benchmark that our CTO gave us internally! MTTR: how long does it take to remediate any problems that may come up? This should be in the range of minutes, not hours or days! The shocking truth of this survey was that only 5% of our customers are reaping the benefits of new technology. The majority is in the bottom left half where they would have assumed that new technology gets them to the top right „magic quadrant“
  2. Lack of change caused by a combination of conflicting motivations, processes, and tooling
  3. Many teams we spoken with build their own Deployment Pipelines: Combination of OpenSource & Commercial Tools for Deployment Automation! Testing Pipelines: Combination of OpenSource & Commerical Tools for Test Execution Quality Gates: Most often done manual. Some are investing in automated validation! Auto Remediation: Mostly done manual with a trend towards simply remediation actions
  4. Currently, keptn install command is doing this using a default set of keptn services. Coming soon, a uniform file will be declarative and run using the keptn cli
  5. We took the implementation from Jenkins and „externalized“ it into a core library of keptn called Pitometer. Pitometer follows the same „Quality Gate as Code“ approach but alows you to pull data from multiple data sources. Each evaluated metric will be scored and the total score will be evaluated with the key objective! Check out the blog and keptn for more details. Pitometer allows you to enable autoamted quality gates in EVERY CI/CD tool