SlideShare una empresa de Scribd logo
1 de 13
Andreas Grabner
DevOps Activist @ Dynatrace
DevRel & Maintainer @ Keptn
@grabnerandi, https://linkedin.at/grabnerandi
@keptnProject, https://www.keptn.sh
Observability and Orchestration of your Deployments
Taming the operational complexity of GitOps with Keptn
KeptnV1: General Purpose Orchestration for Cloud and Non-Cloud-Native Tooling on K8s
Keptn can connect to any of your tools through an open event standard
to automate delivery and remediation sequences
Started in 2019 and since 2022 we are proud to be a
But in the recent past, Cloud Native GitOps has shifted complexity from Dev to Ops
Complex Dev & Continuous Integration (CI): Composition, Validation, Security
Feature A
Feature B
Backend
Svc
Authentication
Service
Frontend
Components
Service A (v1)
Service B (v2, v3)
Service C (v1)
Service D (v3,v4)
Infra & Cloud (vY)
Svc A (v1)
Svc B (v2)
Svc C (v1)
Svc D (v3)
Istio/Prom/
xxx X
Monolithic
World
Cloud
Native
World
Simpler Ops: Deploy, observe and operate a well-defined app
Simpler Dev: Service-based Continuous Delivery (CD) Complex Ops: Composition, Validation, Security, Observability, Orchestration
Svc A (v1)
Svc B (v3)
Svc C (v1)
Svc D (v3)
Istio/Prom/
xxx Y
Well-defined Infra, e.g: VMWare, EC2 …
with diff flavors (EKS, AKS, OpenShift …)
Test Security
Test, security, validation not part of GitOps
Validate
This shift also brought us a lot of feedback for KeptnV1
Single Pod-Ready != Application Ready
That’s why 90% Keptn Users adopted our SLO-based Validation
Zero Integration
It’s hard integrating new tools into EVERY pipeline. Especially in
organizations with > 800 Global Dev Teams. Need a zero-integration
approach
Configuration as CRDs
Many teams are adopting ArgoCD, Flux … non CRDs in external
repository doesn’t work in a “GitOps world”
OpenObservability
The CNCF community has agreed on OpenTelemetry and
Prometheus for observability data. Why store it in MongoDB?
Application Awareness
While we deploy individual workloads (=microservices) we need
visibility into applications that are made up of one or many services
Solution: A K8s Operator* to Observe and Orchestrate App-aware Workload Lifecycle
My-Application:2.0 **
Frontend-Svc:2.0
Backend-Svc:1.5
Storage-Svc:1.0
Post
Pre
Post
Pre
Post
Pre
Timespan & Result for each single deployment
Pre-App-Deployment
Post-App-Deployment
Timespan Time & Result for whole app deployment
Tasks: Dependency, Env Health,
Certificates, Approval, ...
Evaluations: SLOs, Error
Budgets ...
Timespan & result of
each task / evaluation
Tasks: Tests, Security Scans,
Cleanups, Promote ...
Evaluations: SLOs, User
Experience, Adoption ...
Timespan & result of
each task / evaluation
* K8s Operators can leverage K8s webhooks and extend K8s scheduler for pre- and post-deployment hooks
** K8s doesn’t yet have a standard application concept but Delivery SIG is working on it
Observe: Metrics (DORA) & Traces
Orchestrate: Pre-Deploy Orchestrate: Post-Deploy
Introducing Keptn Lifecycle Toolkit:
App-aware Workload Lifecycle Observability and Orchestration
kind: Deployment
name: simplenode
...
template:
metadata:
annotations:
keptn.sh/workload: simplenode
keptn.sh/version: 3.0.1
keptn.sh/pre-tasks: notify
keptn.sh/pre-eval: check-error-budget
keptn.sh/post-tasks: api-tests, notify
keptn.sh/post-eval: evaluate-slo
...
kind: KeptnApp
name: simplenode-app
spec:
workloads:
- name: simplenode-frontend-svc
version: 3.0.1
- name: simplenode-backend-svc
version: 2.0.1
pre-task: check-approval
pre-eval: check-error-budget
post-tasks: functests, notify
post-eval: evaluate-slo
Example from upcoming Live Demo: Single deployment with Keptn annotations, Keptn Tasks and optional Keptn App
Step 1: Annotate your Deployment & StatefulSets! Step 2: Define Keptn Tasks and Evaluations!
kind: KeptnTaskDefinition
name: notify
...
spec:
function: |
let text = Deno.env.get("SECURE_DATA");
let context = Deno.env.get("CONTEXT");
let resp = await fetch("https://hooks.slack.com/xxxx");
console.log("Sending slack message")
Step 3: (optional) KeptnApp for app-awareness !
kind: KeptnEvaluation
name: evaluate-slo
Spec:
source: prometheus
objectives:
- name: cpu capacity
query: "sum(kube_node_status_capacity{resource='cpu’} "
evaluationTarget: ">4"
Keptn Lifecycle Toolkit: App-aware Workload Lifecycle OpenTelemetry Trace
Pre-
App
Post-
App
Application
Post-
WL 1
Pre-
WL 1
Pre-App Pre-WL 1 Deploy 1 Post-WL 1 Post-App
Pre-WL X Deploy X Post-WL X
$ kubectl apply *.yaml
Workload
Keptn Lifecycle Toolkit: App-aware Workload Lifecycle Prometheus Metrics (DORA Metrics)
Keptn Lifecycle Toolkit: Keptn CRDs visualized in ArgoCD
Live Demo
Keptn Lifecycle Toolkit: Observing and Orchestrating Lifecycle of K8s Deployments
Your GitOps
Your Deployment:
image: mysvc:1.0
Your Observability tool
Dev Staging Prod
Visibility across all stages using observability standards
promote promote
deployment-traces deployment-traces
notify notify notify
on-pre: dependency
Keptn-Task: (tooling for cluster)
name: dependency
function: exec.checkDBAvail()
---
name: notify
function: slack.send()
---
name: validate_slo
promql: errors<5% && rt<100ms
Keptn-App: (app-scope checks)
name: mybusinessapp
workloads: mysvc,yoursvc,xsvc
on-post: validate_slo,notify
on-post-success: promote
Extend your GitOps
Day2Ops
on-pre-deploy
dependency
on-pre-deploy
dependency
on-pre-deploy
dependency
approval
sync
on-post-deploy
api_tests
validate_slo
on-post-deploy
perf_tests
security
validate_slo
on-post-deploy
func_tests
security
validate_slo
cleanup
$
$ git add “keptn CRD files”
$ git commit
$ kubectl apply –f install_keptn.yaml
Keptn Lifecycle Toolkit installed!
Keptn Lifecycle Toolkit tames the complexity that GitOps shifted towards Ops
Cloud
Native
World
Simpler Dev: Service-based Continuous Delivery (CD) Simpler Ops: Deploy, observe and operate a well-defined app
Service A (v1)
Service B (v2, v3)
Service C (v1)
Service D (v3,v4)
Infra & Cloud (vY)
Svc A (v1)
Svc B (v2)
Svc C (v1)
Svc D (v3)
Istio/Prom/
xxx X
Svc A (v1)
Svc B (v3)
Svc C (v1)
Svc D (v3)
Istio/Prom/
xxx Y
-native on any flavor and tooling
Extends GitOps with Test, security, validation
Declarative in Git
Andreas Grabner
DevOps Activist @ Dynatrace
DevRel & Maintainer @ Keptn
@grabnerandi, https://linkedin.at/grabnerandi
@keptnProject, https://www.keptn.sh
Observability and Orchestration of your Deployments
Taming the operational complexity of GitOps with Keptn

Más contenido relacionado

Similar a Observability and Orchestration of your GitOps Deployments with Keptn

Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)QAware GmbH
 
8 - OpenShift - A look at a container platform: what's in the box
8 - OpenShift - A look at a container platform: what's in the box8 - OpenShift - A look at a container platform: what's in the box
8 - OpenShift - A look at a container platform: what's in the boxKangaroot
 
Chicago DevOps Meetup Nov2019
Chicago DevOps Meetup Nov2019Chicago DevOps Meetup Nov2019
Chicago DevOps Meetup Nov2019Mike Villiger
 
給 RD 的 Kubernetes 初體驗
給 RD 的 Kubernetes 初體驗給 RD 的 Kubernetes 初體驗
給 RD 的 Kubernetes 初體驗William Yeh
 
Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Microsoft
 
Sumo Logic Cert Jam - Advanced Metrics with Kubernetes
Sumo Logic Cert Jam - Advanced Metrics with KubernetesSumo Logic Cert Jam - Advanced Metrics with Kubernetes
Sumo Logic Cert Jam - Advanced Metrics with KubernetesSumo Logic
 
KubeCon EU 2022 Istio, Flux & Flagger.pdf
KubeCon EU 2022 Istio, Flux & Flagger.pdfKubeCon EU 2022 Istio, Flux & Flagger.pdf
KubeCon EU 2022 Istio, Flux & Flagger.pdfWeaveworks
 
Introduction to Eclipse Microprofile
Introduction to Eclipse MicroprofileIntroduction to Eclipse Microprofile
Introduction to Eclipse MicroprofileRed Hat Developers
 
Red Hat and kubernetes: awesome stuff coming your way
Red Hat and kubernetes:  awesome stuff coming your wayRed Hat and kubernetes:  awesome stuff coming your way
Red Hat and kubernetes: awesome stuff coming your wayJohannes Brännström
 
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitThe DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitMarco Ferrigno
 
The DevOps Paradigm
The DevOps ParadigmThe DevOps Paradigm
The DevOps ParadigmNaLUG
 
Cisco at v mworld 2015 shipped-vmworld
Cisco at v mworld 2015 shipped-vmworldCisco at v mworld 2015 shipped-vmworld
Cisco at v mworld 2015 shipped-vmworldldangelo0772
 
Swift at IBM: Mobile, open source and the drive to the cloud
Swift at IBM: Mobile, open source and the drive to the cloudSwift at IBM: Mobile, open source and the drive to the cloud
Swift at IBM: Mobile, open source and the drive to the cloudDev_Events
 
Kubernetes deep dive - - Huawei 2015-10
Kubernetes deep dive - - Huawei 2015-10Kubernetes deep dive - - Huawei 2015-10
Kubernetes deep dive - - Huawei 2015-10Vishnu Kannan
 
Live Coding 12 Factor App
Live Coding 12 Factor AppLive Coding 12 Factor App
Live Coding 12 Factor AppEmily Jiang
 
2022-05-23-DevOps pro Europe - Managing Apps at scale.pdf
2022-05-23-DevOps pro Europe - Managing Apps at scale.pdf2022-05-23-DevOps pro Europe - Managing Apps at scale.pdf
2022-05-23-DevOps pro Europe - Managing Apps at scale.pdfŁukasz Piątkowski
 
Ultimate Guide to Microservice Architecture on Kubernetes
Ultimate Guide to Microservice Architecture on KubernetesUltimate Guide to Microservice Architecture on Kubernetes
Ultimate Guide to Microservice Architecture on Kuberneteskloia
 
GCP Meetup #3 - Approaches to Cloud Native Architectures
GCP Meetup #3 - Approaches to Cloud Native ArchitecturesGCP Meetup #3 - Approaches to Cloud Native Architectures
GCP Meetup #3 - Approaches to Cloud Native Architecturesnine
 

Similar a Observability and Orchestration of your GitOps Deployments with Keptn (20)

Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
 
8 - OpenShift - A look at a container platform: what's in the box
8 - OpenShift - A look at a container platform: what's in the box8 - OpenShift - A look at a container platform: what's in the box
8 - OpenShift - A look at a container platform: what's in the box
 
Balaji Resume
Balaji ResumeBalaji Resume
Balaji Resume
 
Chicago DevOps Meetup Nov2019
Chicago DevOps Meetup Nov2019Chicago DevOps Meetup Nov2019
Chicago DevOps Meetup Nov2019
 
給 RD 的 Kubernetes 初體驗
給 RD 的 Kubernetes 初體驗給 RD 的 Kubernetes 初體驗
給 RD 的 Kubernetes 初體驗
 
Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015
 
Sumo Logic Cert Jam - Advanced Metrics with Kubernetes
Sumo Logic Cert Jam - Advanced Metrics with KubernetesSumo Logic Cert Jam - Advanced Metrics with Kubernetes
Sumo Logic Cert Jam - Advanced Metrics with Kubernetes
 
KubeCon EU 2022 Istio, Flux & Flagger.pdf
KubeCon EU 2022 Istio, Flux & Flagger.pdfKubeCon EU 2022 Istio, Flux & Flagger.pdf
KubeCon EU 2022 Istio, Flux & Flagger.pdf
 
Introduction to Eclipse Microprofile
Introduction to Eclipse MicroprofileIntroduction to Eclipse Microprofile
Introduction to Eclipse Microprofile
 
Red Hat and kubernetes: awesome stuff coming your way
Red Hat and kubernetes:  awesome stuff coming your wayRed Hat and kubernetes:  awesome stuff coming your way
Red Hat and kubernetes: awesome stuff coming your way
 
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitThe DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
 
The DevOps Paradigm
The DevOps ParadigmThe DevOps Paradigm
The DevOps Paradigm
 
Cisco at v mworld 2015 shipped-vmworld
Cisco at v mworld 2015 shipped-vmworldCisco at v mworld 2015 shipped-vmworld
Cisco at v mworld 2015 shipped-vmworld
 
Internship Report
Internship ReportInternship Report
Internship Report
 
Swift at IBM: Mobile, open source and the drive to the cloud
Swift at IBM: Mobile, open source and the drive to the cloudSwift at IBM: Mobile, open source and the drive to the cloud
Swift at IBM: Mobile, open source and the drive to the cloud
 
Kubernetes deep dive - - Huawei 2015-10
Kubernetes deep dive - - Huawei 2015-10Kubernetes deep dive - - Huawei 2015-10
Kubernetes deep dive - - Huawei 2015-10
 
Live Coding 12 Factor App
Live Coding 12 Factor AppLive Coding 12 Factor App
Live Coding 12 Factor App
 
2022-05-23-DevOps pro Europe - Managing Apps at scale.pdf
2022-05-23-DevOps pro Europe - Managing Apps at scale.pdf2022-05-23-DevOps pro Europe - Managing Apps at scale.pdf
2022-05-23-DevOps pro Europe - Managing Apps at scale.pdf
 
Ultimate Guide to Microservice Architecture on Kubernetes
Ultimate Guide to Microservice Architecture on KubernetesUltimate Guide to Microservice Architecture on Kubernetes
Ultimate Guide to Microservice Architecture on Kubernetes
 
GCP Meetup #3 - Approaches to Cloud Native Architectures
GCP Meetup #3 - Approaches to Cloud Native ArchitecturesGCP Meetup #3 - Approaches to Cloud Native Architectures
GCP Meetup #3 - Approaches to Cloud Native Architectures
 

Más de Andreas Grabner

KCD Munich - Cloud Native Platform Dilemma - Turning it into an Opportunity
KCD Munich - Cloud Native Platform Dilemma - Turning it into an OpportunityKCD Munich - Cloud Native Platform Dilemma - Turning it into an Opportunity
KCD Munich - Cloud Native Platform Dilemma - Turning it into an OpportunityAndreas Grabner
 
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
 
Adding Security to your SLO-based Release Validation with Keptn
Adding Security to your SLO-based Release Validation with KeptnAdding Security to your SLO-based Release Validation with Keptn
Adding Security to your SLO-based Release Validation with KeptnAndreas Grabner
 
A Guide to Event-Driven SRE-inspired DevOps
A Guide to Event-Driven SRE-inspired DevOpsA Guide to Event-Driven SRE-inspired DevOps
A Guide to Event-Driven SRE-inspired DevOpsAndreas Grabner
 
Jenkins Online Meetup - Automated SLI based Build Validation with Keptn
Jenkins Online Meetup - Automated SLI based Build Validation with KeptnJenkins Online Meetup - Automated SLI based Build Validation with Keptn
Jenkins Online Meetup - Automated SLI based Build Validation with KeptnAndreas Grabner
 
Continuous Delivery and Automated Operations on k8s with keptn
Continuous Delivery and Automated Operations on k8s with keptnContinuous Delivery and Automated Operations on k8s with keptn
Continuous Delivery and Automated Operations on k8s with keptnAndreas Grabner
 
Keptn - Automated Operations & Continuous Delivery for k8s
Keptn - Automated Operations & Continuous Delivery for k8sKeptn - Automated Operations & Continuous Delivery for k8s
Keptn - Automated Operations & Continuous Delivery for k8sAndreas Grabner
 
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
 
Top Performance Problems in Distributed Architectures
Top Performance Problems in Distributed ArchitecturesTop Performance Problems in Distributed Architectures
Top Performance Problems in Distributed ArchitecturesAndreas Grabner
 
Applying AI to Performance Engineering: Shift-Left, Shift-Right, Self-Healing
Applying AI to Performance Engineering: Shift-Left, Shift-Right, Self-HealingApplying AI to Performance Engineering: Shift-Left, Shift-Right, Self-Healing
Applying AI to Performance Engineering: Shift-Left, Shift-Right, Self-HealingAndreas Grabner
 
Monitoring as a Self-Service in Atlassian DevOps Toolchain
Monitoring as a Self-Service in Atlassian DevOps ToolchainMonitoring as a Self-Service in Atlassian DevOps Toolchain
Monitoring as a Self-Service in Atlassian DevOps ToolchainAndreas Grabner
 
How to explain DevOps to your mom
How to explain DevOps to your momHow to explain DevOps to your mom
How to explain DevOps to your momAndreas Grabner
 
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code DeploysDevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code DeploysAndreas Grabner
 
AWS Summit - Trends in Advanced Monitoring for AWS environments
AWS Summit - Trends in Advanced Monitoring for AWS environmentsAWS Summit - Trends in Advanced Monitoring for AWS environments
AWS Summit - Trends in Advanced Monitoring for AWS environmentsAndreas Grabner
 
DevOps Transformation at Dynatrace and with Dynatrace
DevOps Transformation at Dynatrace and with DynatraceDevOps Transformation at Dynatrace and with Dynatrace
DevOps Transformation at Dynatrace and with DynatraceAndreas Grabner
 
DevOps Pipelines and Metrics Driven Feedback Loops
DevOps Pipelines and Metrics Driven Feedback LoopsDevOps Pipelines and Metrics Driven Feedback Loops
DevOps Pipelines and Metrics Driven Feedback LoopsAndreas Grabner
 
Boston DevOps Days 2016: Implementing Metrics Driven DevOps - Why and How
Boston DevOps Days 2016: Implementing Metrics Driven DevOps - Why and HowBoston DevOps Days 2016: Implementing Metrics Driven DevOps - Why and How
Boston DevOps Days 2016: Implementing Metrics Driven DevOps - Why and HowAndreas Grabner
 
Top Java Performance Problems and Metrics To Check in Your Pipeline
Top Java Performance Problems and Metrics To Check in Your PipelineTop Java Performance Problems and Metrics To Check in Your Pipeline
Top Java Performance Problems and Metrics To Check in Your PipelineAndreas Grabner
 
Metrics Driven DevOps - Automate Scalability and Performance Into your Pipeline
Metrics Driven DevOps - Automate Scalability and Performance Into your PipelineMetrics Driven DevOps - Automate Scalability and Performance Into your Pipeline
Metrics Driven DevOps - Automate Scalability and Performance Into your PipelineAndreas Grabner
 
Four Practices to Fix Your Top .NET Performance Problems
Four Practices to Fix Your Top .NET Performance ProblemsFour Practices to Fix Your Top .NET Performance Problems
Four Practices to Fix Your Top .NET Performance ProblemsAndreas Grabner
 

Más de Andreas Grabner (20)

KCD Munich - Cloud Native Platform Dilemma - Turning it into an Opportunity
KCD Munich - Cloud Native Platform Dilemma - Turning it into an OpportunityKCD Munich - Cloud Native Platform Dilemma - Turning it into an Opportunity
KCD Munich - Cloud Native Platform Dilemma - Turning it into an Opportunity
 
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
 
Adding Security to your SLO-based Release Validation with Keptn
Adding Security to your SLO-based Release Validation with KeptnAdding Security to your SLO-based Release Validation with Keptn
Adding Security to your SLO-based Release Validation with Keptn
 
A Guide to Event-Driven SRE-inspired DevOps
A Guide to Event-Driven SRE-inspired DevOpsA Guide to Event-Driven SRE-inspired DevOps
A Guide to Event-Driven SRE-inspired DevOps
 
Jenkins Online Meetup - Automated SLI based Build Validation with Keptn
Jenkins Online Meetup - Automated SLI based Build Validation with KeptnJenkins Online Meetup - Automated SLI based Build Validation with Keptn
Jenkins Online Meetup - Automated SLI based Build Validation with Keptn
 
Continuous Delivery and Automated Operations on k8s with keptn
Continuous Delivery and Automated Operations on k8s with keptnContinuous Delivery and Automated Operations on k8s with keptn
Continuous Delivery and Automated Operations on k8s with keptn
 
Keptn - Automated Operations & Continuous Delivery for k8s
Keptn - Automated Operations & Continuous Delivery for k8sKeptn - Automated Operations & Continuous Delivery for k8s
Keptn - Automated Operations & Continuous Delivery for k8s
 
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
 
Top Performance Problems in Distributed Architectures
Top Performance Problems in Distributed ArchitecturesTop Performance Problems in Distributed Architectures
Top Performance Problems in Distributed Architectures
 
Applying AI to Performance Engineering: Shift-Left, Shift-Right, Self-Healing
Applying AI to Performance Engineering: Shift-Left, Shift-Right, Self-HealingApplying AI to Performance Engineering: Shift-Left, Shift-Right, Self-Healing
Applying AI to Performance Engineering: Shift-Left, Shift-Right, Self-Healing
 
Monitoring as a Self-Service in Atlassian DevOps Toolchain
Monitoring as a Self-Service in Atlassian DevOps ToolchainMonitoring as a Self-Service in Atlassian DevOps Toolchain
Monitoring as a Self-Service in Atlassian DevOps Toolchain
 
How to explain DevOps to your mom
How to explain DevOps to your momHow to explain DevOps to your mom
How to explain DevOps to your mom
 
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code DeploysDevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
 
AWS Summit - Trends in Advanced Monitoring for AWS environments
AWS Summit - Trends in Advanced Monitoring for AWS environmentsAWS Summit - Trends in Advanced Monitoring for AWS environments
AWS Summit - Trends in Advanced Monitoring for AWS environments
 
DevOps Transformation at Dynatrace and with Dynatrace
DevOps Transformation at Dynatrace and with DynatraceDevOps Transformation at Dynatrace and with Dynatrace
DevOps Transformation at Dynatrace and with Dynatrace
 
DevOps Pipelines and Metrics Driven Feedback Loops
DevOps Pipelines and Metrics Driven Feedback LoopsDevOps Pipelines and Metrics Driven Feedback Loops
DevOps Pipelines and Metrics Driven Feedback Loops
 
Boston DevOps Days 2016: Implementing Metrics Driven DevOps - Why and How
Boston DevOps Days 2016: Implementing Metrics Driven DevOps - Why and HowBoston DevOps Days 2016: Implementing Metrics Driven DevOps - Why and How
Boston DevOps Days 2016: Implementing Metrics Driven DevOps - Why and How
 
Top Java Performance Problems and Metrics To Check in Your Pipeline
Top Java Performance Problems and Metrics To Check in Your PipelineTop Java Performance Problems and Metrics To Check in Your Pipeline
Top Java Performance Problems and Metrics To Check in Your Pipeline
 
Metrics Driven DevOps - Automate Scalability and Performance Into your Pipeline
Metrics Driven DevOps - Automate Scalability and Performance Into your PipelineMetrics Driven DevOps - Automate Scalability and Performance Into your Pipeline
Metrics Driven DevOps - Automate Scalability and Performance Into your Pipeline
 
Four Practices to Fix Your Top .NET Performance Problems
Four Practices to Fix Your Top .NET Performance ProblemsFour Practices to Fix Your Top .NET Performance Problems
Four Practices to Fix Your Top .NET Performance Problems
 

Último

Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 

Último (20)

Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 

Observability and Orchestration of your GitOps Deployments with Keptn

  • 1. Andreas Grabner DevOps Activist @ Dynatrace DevRel & Maintainer @ Keptn @grabnerandi, https://linkedin.at/grabnerandi @keptnProject, https://www.keptn.sh Observability and Orchestration of your Deployments Taming the operational complexity of GitOps with Keptn
  • 2. KeptnV1: General Purpose Orchestration for Cloud and Non-Cloud-Native Tooling on K8s Keptn can connect to any of your tools through an open event standard to automate delivery and remediation sequences Started in 2019 and since 2022 we are proud to be a
  • 3. But in the recent past, Cloud Native GitOps has shifted complexity from Dev to Ops Complex Dev & Continuous Integration (CI): Composition, Validation, Security Feature A Feature B Backend Svc Authentication Service Frontend Components Service A (v1) Service B (v2, v3) Service C (v1) Service D (v3,v4) Infra & Cloud (vY) Svc A (v1) Svc B (v2) Svc C (v1) Svc D (v3) Istio/Prom/ xxx X Monolithic World Cloud Native World Simpler Ops: Deploy, observe and operate a well-defined app Simpler Dev: Service-based Continuous Delivery (CD) Complex Ops: Composition, Validation, Security, Observability, Orchestration Svc A (v1) Svc B (v3) Svc C (v1) Svc D (v3) Istio/Prom/ xxx Y Well-defined Infra, e.g: VMWare, EC2 … with diff flavors (EKS, AKS, OpenShift …) Test Security Test, security, validation not part of GitOps Validate
  • 4. This shift also brought us a lot of feedback for KeptnV1 Single Pod-Ready != Application Ready That’s why 90% Keptn Users adopted our SLO-based Validation Zero Integration It’s hard integrating new tools into EVERY pipeline. Especially in organizations with > 800 Global Dev Teams. Need a zero-integration approach Configuration as CRDs Many teams are adopting ArgoCD, Flux … non CRDs in external repository doesn’t work in a “GitOps world” OpenObservability The CNCF community has agreed on OpenTelemetry and Prometheus for observability data. Why store it in MongoDB? Application Awareness While we deploy individual workloads (=microservices) we need visibility into applications that are made up of one or many services
  • 5. Solution: A K8s Operator* to Observe and Orchestrate App-aware Workload Lifecycle My-Application:2.0 ** Frontend-Svc:2.0 Backend-Svc:1.5 Storage-Svc:1.0 Post Pre Post Pre Post Pre Timespan & Result for each single deployment Pre-App-Deployment Post-App-Deployment Timespan Time & Result for whole app deployment Tasks: Dependency, Env Health, Certificates, Approval, ... Evaluations: SLOs, Error Budgets ... Timespan & result of each task / evaluation Tasks: Tests, Security Scans, Cleanups, Promote ... Evaluations: SLOs, User Experience, Adoption ... Timespan & result of each task / evaluation * K8s Operators can leverage K8s webhooks and extend K8s scheduler for pre- and post-deployment hooks ** K8s doesn’t yet have a standard application concept but Delivery SIG is working on it Observe: Metrics (DORA) & Traces Orchestrate: Pre-Deploy Orchestrate: Post-Deploy
  • 6. Introducing Keptn Lifecycle Toolkit: App-aware Workload Lifecycle Observability and Orchestration kind: Deployment name: simplenode ... template: metadata: annotations: keptn.sh/workload: simplenode keptn.sh/version: 3.0.1 keptn.sh/pre-tasks: notify keptn.sh/pre-eval: check-error-budget keptn.sh/post-tasks: api-tests, notify keptn.sh/post-eval: evaluate-slo ... kind: KeptnApp name: simplenode-app spec: workloads: - name: simplenode-frontend-svc version: 3.0.1 - name: simplenode-backend-svc version: 2.0.1 pre-task: check-approval pre-eval: check-error-budget post-tasks: functests, notify post-eval: evaluate-slo Example from upcoming Live Demo: Single deployment with Keptn annotations, Keptn Tasks and optional Keptn App Step 1: Annotate your Deployment & StatefulSets! Step 2: Define Keptn Tasks and Evaluations! kind: KeptnTaskDefinition name: notify ... spec: function: | let text = Deno.env.get("SECURE_DATA"); let context = Deno.env.get("CONTEXT"); let resp = await fetch("https://hooks.slack.com/xxxx"); console.log("Sending slack message") Step 3: (optional) KeptnApp for app-awareness ! kind: KeptnEvaluation name: evaluate-slo Spec: source: prometheus objectives: - name: cpu capacity query: "sum(kube_node_status_capacity{resource='cpu’} " evaluationTarget: ">4"
  • 7. Keptn Lifecycle Toolkit: App-aware Workload Lifecycle OpenTelemetry Trace Pre- App Post- App Application Post- WL 1 Pre- WL 1 Pre-App Pre-WL 1 Deploy 1 Post-WL 1 Post-App Pre-WL X Deploy X Post-WL X $ kubectl apply *.yaml Workload
  • 8. Keptn Lifecycle Toolkit: App-aware Workload Lifecycle Prometheus Metrics (DORA Metrics)
  • 9. Keptn Lifecycle Toolkit: Keptn CRDs visualized in ArgoCD
  • 11. Keptn Lifecycle Toolkit: Observing and Orchestrating Lifecycle of K8s Deployments Your GitOps Your Deployment: image: mysvc:1.0 Your Observability tool Dev Staging Prod Visibility across all stages using observability standards promote promote deployment-traces deployment-traces notify notify notify on-pre: dependency Keptn-Task: (tooling for cluster) name: dependency function: exec.checkDBAvail() --- name: notify function: slack.send() --- name: validate_slo promql: errors<5% && rt<100ms Keptn-App: (app-scope checks) name: mybusinessapp workloads: mysvc,yoursvc,xsvc on-post: validate_slo,notify on-post-success: promote Extend your GitOps Day2Ops on-pre-deploy dependency on-pre-deploy dependency on-pre-deploy dependency approval sync on-post-deploy api_tests validate_slo on-post-deploy perf_tests security validate_slo on-post-deploy func_tests security validate_slo cleanup $ $ git add “keptn CRD files” $ git commit $ kubectl apply –f install_keptn.yaml Keptn Lifecycle Toolkit installed!
  • 12. Keptn Lifecycle Toolkit tames the complexity that GitOps shifted towards Ops Cloud Native World Simpler Dev: Service-based Continuous Delivery (CD) Simpler Ops: Deploy, observe and operate a well-defined app Service A (v1) Service B (v2, v3) Service C (v1) Service D (v3,v4) Infra & Cloud (vY) Svc A (v1) Svc B (v2) Svc C (v1) Svc D (v3) Istio/Prom/ xxx X Svc A (v1) Svc B (v3) Svc C (v1) Svc D (v3) Istio/Prom/ xxx Y -native on any flavor and tooling Extends GitOps with Test, security, validation Declarative in Git
  • 13. Andreas Grabner DevOps Activist @ Dynatrace DevRel & Maintainer @ Keptn @grabnerandi, https://linkedin.at/grabnerandi @keptnProject, https://www.keptn.sh Observability and Orchestration of your Deployments Taming the operational complexity of GitOps with Keptn

Notas del editor

  1. Find more: https://www.keptn.sh/ https://lifecycle.keptn.sh/ https://github.com/keptn-sandbox/klt-on-k3s-with-argocd/ https://twitter.com/keptnProject https://slack.keptn.sh
  2. Find more: https://www.keptn.sh/ https://lifecycle.keptn.sh/ https://github.com/keptn-sandbox/klt-on-k3s-with-argocd/ https://twitter.com/keptnProject https://slack.keptn.sh