October 24-28, 2021
Brad McCoy�CNCF Ambassador
Driving Innovation with
Keptn and Interoperability
Photo
Sergio Méndez�DevOps Engineer�Yalo
Problem Statement
Why we choose to adopt Keptn?
Why we choose to adopt Keptn
Why we choose to adopt Keptn
Why we choose to adopt Keptn
Pipeline
each tool can listen to an event in the pipeline
you can swap them as you like
What is Interoperability
Interoperability is the real-time data exchange between different systems communicating in the same language. Incoming data is instantly interpreted and presented in the same state it is received, preserving the original context.
Integration, on the other hand, is the process of combining multiple applications, so they function as one uninterrupted system, which usually involves the use of middleware. Integration facilitates the interaction of products talking to each other in their current state while maintaining compatibility with future versions of themselves.
Why we choose to adopt Keptn
Why we choose to adopt Keptn
Increase In Quality
Standardised Processes
Promote between stages
Auto-Remediation
Release Validation
Triggering Tools via CloudEvents / Orchestrating Tools
Load
Int
QA
Stag
Prod
Environments
apiVersion: apps/v1
kind: Deployment
metadata:
name: podtato-head-left-arm
spec:
template:
spec:
containers:
- name: podtato-head-left-arm
image: ghcr.io/podtato-head/left-arm:0.2.7
Progressive Delivery with GitOps
apiVersion: apps/v1
kind: Deployment
metadata:
name: podtato-head-left-arm
spec:
template:
spec:
containers:
- name: podtato-head-left-arm
env:
- name: PODTATO_PART_NUMBER
value: "02"
version.yaml
settings.yaml
Load
settings.yaml
version.yaml
version.yaml
settings.yaml
settings.yaml
version.yaml
settings.yaml
version.yaml
settings.yaml
version.yaml
Int
QA
Stag
Prod
Progressive Delivery with GitOps
settings.yaml
version.yaml
settings.yaml
version.yaml
What is Interoperability
Interoperability is the ability of disparate and diverse organizations to interact toward mutually beneficial and agreed common goals. It involves the sharing of information and knowledge between the organizations, through the business processes they support, by means of the exchange of data between their respective ICT systems.
Progressive Delivery with GitOps
Shipyard file
apiVersion: "spec.keptn.sh/0.2.3"
kind: "Shipyard"
metadata:
name: "detroit-demo"
spec:
stages:
- name: "load"
sequences:
- name: "performance-test"
tasks:
- name: "load-test"
Shipyard
apiVersion: "spec.keptn.sh/0.2.3"
kind: "Shipyard"
metadata:
name: "detroit-demo"
spec:
stages:
- name: "load"
Why we choose to adopt Keptn
apiVersion: "spec.keptn.sh/0.2.3"
kind: "Shipyard"
metadata:
name: "detroit-demo"
spec:
stages:
- name: "load"
sequences:
- name: "performance-test"
Why we choose to adopt Keptn
apiVersion: "spec.keptn.sh/0.2.3"
kind: "Shipyard"
metadata:
name: "detroit-demo"
spec:
stages:
- name: "load"
sequences:
- name: "performance-test"
tasks:
- name: "load-test"
Shipyard file
Stage
Sequence
task
task
Stage
Sequence
task
task
Sequence
task
task
Shipyard file
Stage
Sequence
task
task
Service
Project
Why we choose to adopt Keptn
Why we choose to adopt Keptn
Load
Int
QA
Stag
Prod
Environments
Load
settings.yaml
version.yaml
version.yaml
settings.yaml
settings.yaml
version.yaml
settings.yaml
version.yaml
settings.yaml
version.yaml
Int
QA
Stag
Prod
Progressive Delivery with GitOps & Keptn
smoke-test
load-test
git-promotion
evaluation
Load
settings.yaml
version.yaml
version.yaml
settings.yaml
settings.yaml
version.yaml
settings.yaml
version.yaml
settings.yaml
version.yaml
Int
QA
Stag
Prod
Progressive Delivery with GitOps & Keptn
smoke-test
load-test
git-promotion
evaluation
smoke-test
load-test
evaluation
Progressive Delivery with GitOps & Keptn
Load
Load
settings.yaml
version.yaml
version.yaml
settings.yaml
settings.yaml
version.yaml
settings.yaml
version.yaml
settings.yaml
version.yaml
Int
QA
Stag
Prod
Progressive Delivery with GitOps & Keptn
smoke-test
load-test
git-promotion
evaluation
api-test
trace-test
evaluation
git-promotion
Load
settings.yaml
version.yaml
version.yaml
settings.yaml
settings.yaml
version.yaml
settings.yaml
version.yaml
settings.yaml
version.yaml
Int
QA
Stag
Prod
Progressive Delivery with GitOps & Keptn
smoke-test
load-test
git-promotion
evaluation
api-test
trace-test
evaluation
git-promotion
api-test
trace-test
evaluation
git-promotion
Load
settings.yaml
version.yaml
version.yaml
settings.yaml
settings.yaml
version.yaml
settings.yaml
version.yaml
settings.yaml
version.yaml
Int
QA
Stag
Prod
Progressive Delivery with GitOps & Keptn
smoke-test
load-test
git-promotion
evaluation
api-test
trace-test
evaluation
git-promotion
api-test
trace-test
evaluation
git-promotion
api-test
trace-test
evaluation
git-promotion
remediation
Load
settings.yaml
version.yaml
version.yaml
settings.yaml
settings.yaml
version.yaml
settings.yaml
version.yaml
settings.yaml
version.yaml
Int
QA
Stag
Prod
Progressive Delivery with GitOps & Keptn
smoke-test
load-test
git-promotion
evaluation
api-test
trace-test
evaluation
git-promotion
api-test
trace-test
evaluation
git-promotion
api-test
trace-test
evaluation
git-promotion
remediation
Thank you!
sh.keptn.event.talk.finished
@bradmccoydev
@sergioarmgpl
keptn.sh
slack.keptn.sh
github.com/keptn