SlideShare a Scribd company logo
1 of 63
Continuous Delivery the hard
way with Kubernetes
Jeff Hoffer, Developer Experience
github.com/eudaimos
Agenda
1. Why should I deliver continuously?
2. Kubernetes primer
3. GitLab primer
4. “OK, so we’ve got these pieces, how are we
going to put them together?”
5. Let’s iterate on a design!
6. Conclusions
Agenda
1. Why should I deliver continuously?
2. Kubernetes primer
3. GitLab primer
4. “OK, so we’ve got these pieces, how are we
going to put them together?”
5. Let’s iterate on a design!
6. Conclusions
Why should I continuously deliver?
• Microservices
• Conway’s law
• Scaling project, scaling team
• Velocity!
Kubernetes: all you need to know
Pods
containers
ServicesDeployments
Container
Image
Docker container image, contains your application code in an isolated
environment.
Pod A set of containers, sharing network namespace and local volumes,
co-scheduled on one machine. Mortal. Has pod IP. Has labels.
Deployment Specify how many replicas of a pod should run in a cluster. Then
ensures that many are running across the cluster. Has labels.
Service Names things in DNS. Gets virtual IP. Two types: ClusterIP for internal
services, NodePort for publishing to outside. Routes based on labels.
GitLab primer
• Or you can use GitHub, Travis, Circle,
Docker Hub, Quay.io, GCR…
CI system
Docker
registry
GitLab
Version
controlled
code
Version
controlled
code
Version
controlled
code
These are the things that we’ve got
Version
controlled
code
CI system
Docker
registry
Kubernetes
clusterCode
Docker image
Kubernetes YAML
Version
controlled
code
These are the things that we’ve got
Version
controlled
code
CI system
Docker
registry
Kubernetes
clusterCode
Docker image
Kubernetes YAML
git
git + shell docker
registry
API
kubernetes
API
These are the things that we’ve got
Version
controlled
code
CI system
Docker
registry
Kubernetes
clusterCode
Docker image
Kubernetes YAML
V1
Initial deploy (manually)
Version
controlled
code
V1 architecture
Version
controlled
code
CI system
Docker
registry
Kubernetes
cluster
Version
controlled
code
V1 architecture
Version
controlled
code
CI system
Docker
registry
Kubernetes
clusterkubectl apply -f service.yaml
V1
Deploy update (with CI system)
Version
controlled
code
V1 architecture
Version
controlled
code
CI system
Docker
registry
Kubernetes
cluster
Code
Docker image
Version
controlled
code
V1 architecture
Version
controlled
code
CI system
Docker
registry
Kubernetes
clustergit push
master
Version
controlled
code
V1 architecture
Version
controlled
code
CI system
Docker
registry
Kubernetes
clusterdocker build
:a1b2c3
Version
controlled
code
V1 architecture
Version
controlled
code
CI system
Docker
registry
Kubernetes
clusterdocker push
:a1b2c3
Version
controlled
code
V1 architecture
Version
controlled
code
CI system
Docker
registry
Kubernetes
clusterkubectl set image
:a1b2c3
V1
Rollback
Version
controlled
code
V1 architecture
Version
controlled
code
CI system
Docker
registry
Kubernetes
cluster
Version
controlled
code
V1 architecture
Version
controlled
code
CI system
Docker
registry
Kubernetes
cluster
git checkout master
git revert HEAD

git push
Version
controlled
code
V1 architecture
Version
controlled
code
CI system
Docker
registry
Kubernetes
clusterdocker build
:b2c3d4
Version
controlled
code
V1 architecture
Version
controlled
code
CI system
Docker
registry
Kubernetes
clusterdocker push
:b2c3d4
Version
controlled
code
V1 architecture
Version
controlled
code
CI system
Docker
registry
Kubernetes
clusterkubectl set image
:b2c3d4
Demo!
https://www.katacoda.com/courses/weave/flux-training
Downsides
• Building & pushing containers is slow (disk I/O,
network), shouldn’t need to this when rolling back
• Branch per environment required per microservice
(explosion of branches, hard to manage & scale)
• Only a matter of time until you get a git merge mess
• Better to decouple version of code at HEAD from
version deployed…
Version controlled configuration
• users service
• code for users service
• Kubernetes YAML
• orders service
• code for orders
service
• Kubernetes YAML
• config repo
• Kubernetes YAML
for users
• Kubernetes YAML
for orders
• Version controlled config should be the source of truth for your whole
app (all the microservices)
Decoupling versions from releases
Code versions (branches, tags) Environments & releases
• users service
• master
• feature_A
• feature_B
• orders service
• master
• feature_A
• feature_B
• …
• production
• users -> master @ t1
• orders -> master @ t1
• staging
• orders -> master @ t2
• orders -> master @ t2
conflating per-
service code
branches with
environments in
each repo is a
hack, and
doesn’t scale
well
V2
Put all the yamels
in one place
Version
controlled
code
V2 architecture
Version
controlled
code
CI system
Docker
registry
Kubernetes
cluster
Version
controlled
config
Code
Docker image
Kubernetes YAML
Have the CI system update the yamels automatically for you
Version
controlled
code
V2 architecture
Version
controlled
code
CI system
Docker
registry
Kubernetes
cluster
Version
controlled
config
Code
Docker image
Kubernetes YAML
Have the CI system update the yamels automatically for you
Version
controlled
code
V2 architecture
Version
controlled
code
CI system
Docker
registry
Kubernetes
cluster
Version
controlled
config
Code
Docker image
Kubernetes YAML
Have the CI system update the yamels automatically for you
Version
controlled
code
V2 architecture
Version
controlled
code
CI system
Docker
registry
Kubernetes
cluster
Version
controlled
config
Code
Docker image
Kubernetes YAML
Have the CI system update the yamels automatically for you
Version
controlled
code
V2 architecture
Version
controlled
code
CI system
Docker
registry
Kubernetes
cluster
Version
controlled
config
Code
Docker image
Kubernetes YAML
Have the CI system update the yamels automatically for you
Version
controlled
code
V2 architecture
Version
controlled
code
CI system
Docker
registry
Kubernetes
cluster
Version
controlled
config
Code
Docker image
Kubernetes YAML
Have the CI system update the yamels automatically for you
Version
controlled
code
V2 architecture
Version
controlled
code
CI system
Docker
registry
Kubernetes
cluster
Version
controlled
config
Code
Docker image
Kubernetes YAML
Have the CI system update the yamels automatically for you
Version
controlled
code
V2 architecture
Version
controlled
code
CI system
Docker
registry
Kubernetes
cluster
Version
controlled
config
Code
Docker image
Kubernetes YAML
Have the CI system update the yamels automatically for you
Version
controlled
code
Container builder demo
Version
controlled
code
CI system
Docker
registry
Kubernetes
cluster
Version
controlled
config
Code
Docker image
Kubernetes YAML
Have the CI system update the yamels automatically for you
Builder used
as CD
system
Now you can recreate your production environment from the central
YAML repository even if your entire production cluster gets deleted
Demo!
Downsides
• The CI system is responsible for a lot now (design smell – overloaded)
• You can only trigger the CI system by pushing code (we wanted to be able
to rollback without pushing code)
• If you rollback out of band (directly with kubectl), you have to
remember to update the central configuration repo as well
• Parallel builds can tread on eachothers’ toes, not atomic: race between git
checkout and git push (need a global lock)
• Scripting updates of yamels can be a pain… it mangles your yamels
• Developers start asking for more release management features (rollback,
pinning, automation for some envs and manual gating for others, and your
once-simple script keeps growing…)
V3
Refactor architecture
Add “release manager”
Version
controlled
code
V3 architecture
Version
controlled
code
CI system
Docker
registry
Kubernetes
cluster
Version
controlled
config
Release
manager
Code
Docker image
Kubernetes YAML
push
im
age
push
config
pull image
list
images
pull, modify, push config
push code
policy
Version
controlled
code
V3 architecture
Version
controlled
code
CI system
Docker
registry
Kubernetes
cluster
Version
controlled
config
Release
manager
Code
Docker image
Kubernetes YAML
push
im
age
push
config
pull image
list
images
pull, modify, push config
push code
policy
Version
controlled
code
V3 architecture
Version
controlled
code
CI system
Docker
registry
Kubernetes
cluster
Version
controlled
config
Release
manager
Code
Docker image
Kubernetes YAML
push
im
age
push
config
pull image
list
images
pull, modify, push config
push code
policy
Version
controlled
code
V3 architecture
Version
controlled
code
CI system
Docker
registry
Kubernetes
cluster
Version
controlled
config
Release
manager
Code
Docker image
Kubernetes YAML
push
im
age
push
config
pull image
list
images
pull, modify, push config
push code
policy
Version
controlled
code
V3 architecture
Version
controlled
code
CI system
Docker
registry
Kubernetes
cluster
Version
controlled
config
Release
manager
Code
Docker image
Kubernetes YAML
push
im
age
push
config
pull image
list
images
pull, modify, push config
push code
policy
Version
controlled
code
V3 architecture
Version
controlled
code
CI system
Docker
registry
Kubernetes
cluster
Version
controlled
config
Release
manager
Code
Docker image
Kubernetes YAML
push
im
age
push
config
pull image
list
images
pull, modify, push config
push code
policy
Version
controlled
code
V3 architecture
Version
controlled
code
CI system
Docker
registry
Kubernetes
cluster
Version
controlled
config
Release
manager
Code
Docker image
Kubernetes YAML
push
im
age
push
config
pull image
list
images
pull, modify, push config
push code
policy
Version
controlled
code
V3 architecture
Version
controlled
code
CI system
Docker
registry
Kubernetes
cluster
Version
controlled
config
Release
manager
Code
Docker image
Kubernetes YAML
push
im
age
push
config
pull image
list
images
pull, modify, push config
push code
policy
V3
Rollback doesn’t go via CI
Version
controlled
code
V3 architecture
Version
controlled
code
CI system
Docker
registry
Kubernetes
cluster
Version
controlled
config
Release
manager
Code
Docker image
Kubernetes YAML
push
im
age
push
config
pull image
list
images
pull, modify, push config
push code
policy
rollback!
Version
controlled
code
V3 architecture
Version
controlled
code
CI system
Docker
registry
Kubernetes
cluster
Version
controlled
config
Release
manager
Code
Docker image
Kubernetes YAML
push
im
age
push
config
pull image
list
images
pull, modify, push config
push code
policy
rollback!
Version
controlled
code
V3 architecture
Version
controlled
code
CI system
Docker
registry
Kubernetes
cluster
Version
controlled
config
Release
manager
Code
Docker image
Kubernetes YAML
push
im
age
push
config
pull image
list
images
pull, modify, push config
push code
policy
rollback!
Version
controlled
code
V3 architecture
Version
controlled
code
CI system
Docker
registry
Kubernetes
cluster
Version
controlled
config
Release
manager
Code
Docker image
Kubernetes YAML
push
im
age
push
config
pull image
list
images
pull, modify, push config
push code
policy
rollback!
Version
controlled
code
V3 architecture
Version
controlled
code
CI system
Docker
registry
Kubernetes
cluster
Version
controlled
config
Release
manager
Code
Docker image
Kubernetes YAML
push
im
age
push
config
pull image
list
images
pull, modify, push config
push code
policy
rollback!
What does the release manager do?
• Watches for changes in a container registry (output of CI
system)
• Makes commits for you to version controlled configuration
(understands Kubernetes YAML)
• Depending on release policy (per environment), either push
changes continuously or permit manually gated releases
• Allows releases to be rolled back by changing a pointer
• Releases can be “locked” as a social cue
Different environments can have different release policies
(no tight coupling between individual microservices repos
and what’s released)
Demo!
https://www.katacoda.com/courses/weave/flux-training
This is how we deploy
Weave Cloud
Weave Cloud helps
devops iterate faster with:
• observability &
monitoring
• continuous delivery
• container networks &
firewalls
Weave Flux is a release
manager for Kubernetes
Other topics
• Kubernetes 101
• How do I monitor this stuff? (Prometheus)
• Network policy for isolating & firewalling different
microservices
We have talks & trainings on all these topics in the
Weave user group!
Join the Weave user group!
meetup.com/pro/Weave/

Come hang out on Slack!
weave.works/help
Thanks! Questions?
We are hiring!
DX in San Francisco
Engineers in London & SF
weave.works/weave-company/hiring
Check out Flux on GitHub: github.com/weaveworks/flux

More Related Content

What's hot

What's hot (20)

Kubernetes and bluemix
Kubernetes  and  bluemixKubernetes  and  bluemix
Kubernetes and bluemix
 
DCSF 19 Kubernetes and Container Storage Interface Update
DCSF 19 Kubernetes and Container Storage Interface UpdateDCSF 19 Kubernetes and Container Storage Interface Update
DCSF 19 Kubernetes and Container Storage Interface Update
 
Kubernetes 101 and Fun
Kubernetes 101 and FunKubernetes 101 and Fun
Kubernetes 101 and Fun
 
The top 5 Kubernetes metrics to monitor
The top 5 Kubernetes metrics to monitorThe top 5 Kubernetes metrics to monitor
The top 5 Kubernetes metrics to monitor
 
CI Implementation with Kubernetes at LivePerson by Saar Demri
CI Implementation with Kubernetes at LivePerson by Saar DemriCI Implementation with Kubernetes at LivePerson by Saar Demri
CI Implementation with Kubernetes at LivePerson by Saar Demri
 
GlueCon kubernetes & container engine
GlueCon kubernetes & container engineGlueCon kubernetes & container engine
GlueCon kubernetes & container engine
 
KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise
KubeCon EU 2016: ITNW (If This Now What): Orchestrating an EnterpriseKubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise
KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise
 
Kubernetes Architecture and Introduction
Kubernetes Architecture and IntroductionKubernetes Architecture and Introduction
Kubernetes Architecture and Introduction
 
Jenkins & IaC
Jenkins & IaCJenkins & IaC
Jenkins & IaC
 
4K–Kubernetes with Knative, Kafka and Kamel
4K–Kubernetes with Knative, Kafka and Kamel 4K–Kubernetes with Knative, Kafka and Kamel
4K–Kubernetes with Knative, Kafka and Kamel
 
Quick introduction to Kubernetes
Quick introduction to KubernetesQuick introduction to Kubernetes
Quick introduction to Kubernetes
 
Kubernetes and CoreOS @ Athens Docker meetup
Kubernetes and CoreOS @ Athens Docker meetupKubernetes and CoreOS @ Athens Docker meetup
Kubernetes and CoreOS @ Athens Docker meetup
 
Setting up CI/CD pipeline with Kubernetes and Kublr step-by-step
Setting up CI/CD pipeline with Kubernetes and Kublr step-by-stepSetting up CI/CD pipeline with Kubernetes and Kublr step-by-step
Setting up CI/CD pipeline with Kubernetes and Kublr step-by-step
 
Effective Building your Platform with Kubernetes == Keep it Simple
Effective Building your Platform with Kubernetes == Keep it Simple Effective Building your Platform with Kubernetes == Keep it Simple
Effective Building your Platform with Kubernetes == Keep it Simple
 
2016 - Continuously Delivering Microservices in Kubernetes using Jenkins
2016 - Continuously Delivering Microservices in Kubernetes using Jenkins2016 - Continuously Delivering Microservices in Kubernetes using Jenkins
2016 - Continuously Delivering Microservices in Kubernetes using Jenkins
 
DCEU 18: State of the Docker Engine
DCEU 18: State of the Docker EngineDCEU 18: State of the Docker Engine
DCEU 18: State of the Docker Engine
 
[OpenInfra Days Korea 2018] Day 2 - E4 - 핸즈온 워크샵: 서버리스가 컨테이너를 만났을 때
[OpenInfra Days Korea 2018] Day 2 - E4 - 핸즈온 워크샵: 서버리스가 컨테이너를 만났을 때 [OpenInfra Days Korea 2018] Day 2 - E4 - 핸즈온 워크샵: 서버리스가 컨테이너를 만났을 때
[OpenInfra Days Korea 2018] Day 2 - E4 - 핸즈온 워크샵: 서버리스가 컨테이너를 만났을 때
 
Tectonic Summit 2016: Kubernetes 1.5 and Beyond
Tectonic Summit 2016: Kubernetes 1.5 and BeyondTectonic Summit 2016: Kubernetes 1.5 and Beyond
Tectonic Summit 2016: Kubernetes 1.5 and Beyond
 
DevOps Days Boston 2017: Real-world Kubernetes for DevOps
DevOps Days Boston 2017: Real-world Kubernetes for DevOpsDevOps Days Boston 2017: Real-world Kubernetes for DevOps
DevOps Days Boston 2017: Real-world Kubernetes for DevOps
 
DCSF19 How To Build Your Containerization Strategy
DCSF19 How To Build Your Containerization Strategy  DCSF19 How To Build Your Containerization Strategy
DCSF19 How To Build Your Containerization Strategy
 

Similar to Continuous Delivery the Hard Way with Kubernetes

Kubernetes @ meetic
Kubernetes @ meeticKubernetes @ meetic
Kubernetes @ meetic
Sébastien Le Gall
 

Similar to Continuous Delivery the Hard Way with Kubernetes (20)

Continuous Delivery the hard way with Kubernetes
Continuous Delivery the hard way with KubernetesContinuous Delivery the hard way with Kubernetes
Continuous Delivery the hard way with Kubernetes
 
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...
 
A Tail of Two Containers: How docker made ci great again
A Tail of Two Containers: How docker made ci great againA Tail of Two Containers: How docker made ci great again
A Tail of Two Containers: How docker made ci great again
 
Kubernetes @ meetic
Kubernetes @ meeticKubernetes @ meetic
Kubernetes @ meetic
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
 
Использование AzureDevOps при разработке микросервисных приложений
Использование AzureDevOps при разработке микросервисных приложенийИспользование AzureDevOps при разработке микросервисных приложений
Использование AzureDevOps при разработке микросервисных приложений
 
Continuous Deployment with Kubernetes, Docker and GitLab CI
Continuous Deployment with Kubernetes, Docker and GitLab CIContinuous Deployment with Kubernetes, Docker and GitLab CI
Continuous Deployment with Kubernetes, Docker and GitLab CI
 
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
Develop and deploy Kubernetes  applications with Docker - IBM Index 2018Develop and deploy Kubernetes  applications with Docker - IBM Index 2018
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
 
Cont0519
Cont0519Cont0519
Cont0519
 
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware
 
Containerization using docker and its applications
Containerization using docker and its applicationsContainerization using docker and its applications
Containerization using docker and its applications
 
Containerization using docker and its applications
Containerization using docker and its applicationsContainerization using docker and its applications
Containerization using docker and its applications
 
DCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development Pipeline
 
DevOps with Azure, Kubernetes, and Helm Webinar
DevOps with Azure, Kubernetes, and Helm WebinarDevOps with Azure, Kubernetes, and Helm Webinar
DevOps with Azure, Kubernetes, and Helm Webinar
 
Docker in Production: How RightScale Delivers Cloud Applications
Docker in Production: How RightScale Delivers Cloud ApplicationsDocker in Production: How RightScale Delivers Cloud Applications
Docker in Production: How RightScale Delivers Cloud Applications
 
stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...
stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...
stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...
 
HOW TO DRONE.IO IN CI/CD WORLD
HOW TO DRONE.IO IN CI/CD WORLDHOW TO DRONE.IO IN CI/CD WORLD
HOW TO DRONE.IO IN CI/CD WORLD
 
Adf with docker
Adf with dockerAdf with docker
Adf with docker
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
 
Containers, Serverless and Functions in a nutshell
Containers, Serverless and Functions in a nutshellContainers, Serverless and Functions in a nutshell
Containers, Serverless and Functions in a nutshell
 

More from Weaveworks

SRE and GitOps for Building Robust Kubernetes Platforms.pdf
SRE and GitOps for Building Robust Kubernetes Platforms.pdfSRE and GitOps for Building Robust Kubernetes Platforms.pdf
SRE and GitOps for Building Robust Kubernetes Platforms.pdf
Weaveworks
 
How to Avoid Kubernetes Multi-tenancy Catastrophes
How to Avoid Kubernetes Multi-tenancy CatastrophesHow to Avoid Kubernetes Multi-tenancy Catastrophes
How to Avoid Kubernetes Multi-tenancy Catastrophes
Weaveworks
 

More from Weaveworks (20)

Weave AI Controllers (Weave GitOps Office Hours)
Weave AI Controllers (Weave GitOps Office Hours)Weave AI Controllers (Weave GitOps Office Hours)
Weave AI Controllers (Weave GitOps Office Hours)
 
Flamingo: Expand ArgoCD with Flux (Office Hours)
Flamingo: Expand ArgoCD with Flux (Office Hours)Flamingo: Expand ArgoCD with Flux (Office Hours)
Flamingo: Expand ArgoCD with Flux (Office Hours)
 
Webinar: Capabilities, Confidence and Community – What Flux GA Means for You
Webinar: Capabilities, Confidence and Community – What Flux GA Means for YouWebinar: Capabilities, Confidence and Community – What Flux GA Means for You
Webinar: Capabilities, Confidence and Community – What Flux GA Means for You
 
Six Signs You Need Platform Engineering
Six Signs You Need Platform EngineeringSix Signs You Need Platform Engineering
Six Signs You Need Platform Engineering
 
SRE and GitOps for Building Robust Kubernetes Platforms.pdf
SRE and GitOps for Building Robust Kubernetes Platforms.pdfSRE and GitOps for Building Robust Kubernetes Platforms.pdf
SRE and GitOps for Building Robust Kubernetes Platforms.pdf
 
Webinar: End to End Security & Operations with Chainguard and Weave GitOps
Webinar: End to End Security & Operations with Chainguard and Weave GitOpsWebinar: End to End Security & Operations with Chainguard and Weave GitOps
Webinar: End to End Security & Operations with Chainguard and Weave GitOps
 
Flux Beyond Git Harnessing the Power of OCI
Flux Beyond Git Harnessing the Power of OCIFlux Beyond Git Harnessing the Power of OCI
Flux Beyond Git Harnessing the Power of OCI
 
Automated Provisioning, Management & Cost Control for Kubernetes Clusters
Automated Provisioning, Management & Cost Control for Kubernetes ClustersAutomated Provisioning, Management & Cost Control for Kubernetes Clusters
Automated Provisioning, Management & Cost Control for Kubernetes Clusters
 
How to Avoid Kubernetes Multi-tenancy Catastrophes
How to Avoid Kubernetes Multi-tenancy CatastrophesHow to Avoid Kubernetes Multi-tenancy Catastrophes
How to Avoid Kubernetes Multi-tenancy Catastrophes
 
Building internal developer platform with EKS and GitOps
Building internal developer platform with EKS and GitOpsBuilding internal developer platform with EKS and GitOps
Building internal developer platform with EKS and GitOps
 
GitOps Testing in Kubernetes with Flux and Testkube.pdf
GitOps Testing in Kubernetes with Flux and Testkube.pdfGitOps Testing in Kubernetes with Flux and Testkube.pdf
GitOps Testing in Kubernetes with Flux and Testkube.pdf
 
Intro to GitOps with Weave GitOps, Flagger and Linkerd
Intro to GitOps with Weave GitOps, Flagger and LinkerdIntro to GitOps with Weave GitOps, Flagger and Linkerd
Intro to GitOps with Weave GitOps, Flagger and Linkerd
 
Implementing Flux for Scale with Soft Multi-tenancy
Implementing Flux for Scale with Soft Multi-tenancyImplementing Flux for Scale with Soft Multi-tenancy
Implementing Flux for Scale with Soft Multi-tenancy
 
Accelerating Hybrid Multistage Delivery with Weave GitOps on EKS
Accelerating Hybrid Multistage Delivery with Weave GitOps on EKSAccelerating Hybrid Multistage Delivery with Weave GitOps on EKS
Accelerating Hybrid Multistage Delivery with Weave GitOps on EKS
 
The Story of Flux Reaching Graduation in the CNCF
The Story of Flux Reaching Graduation in the CNCFThe Story of Flux Reaching Graduation in the CNCF
The Story of Flux Reaching Graduation in the CNCF
 
Shift Deployment Security Left with Weave GitOps & Upbound’s Universal Crossp...
Shift Deployment Security Left with Weave GitOps & Upbound’s Universal Crossp...Shift Deployment Security Left with Weave GitOps & Upbound’s Universal Crossp...
Shift Deployment Security Left with Weave GitOps & Upbound’s Universal Crossp...
 
Securing Your App Deployments with Tunnels, OIDC, RBAC, and Progressive Deliv...
Securing Your App Deployments with Tunnels, OIDC, RBAC, and Progressive Deliv...Securing Your App Deployments with Tunnels, OIDC, RBAC, and Progressive Deliv...
Securing Your App Deployments with Tunnels, OIDC, RBAC, and Progressive Deliv...
 
Flux’s Security & Scalability with OCI & Helm Slides.pdf
Flux’s Security & Scalability with OCI & Helm Slides.pdfFlux’s Security & Scalability with OCI & Helm Slides.pdf
Flux’s Security & Scalability with OCI & Helm Slides.pdf
 
Flux Security & Scalability using VS Code GitOps Extension
Flux Security & Scalability using VS Code GitOps Extension Flux Security & Scalability using VS Code GitOps Extension
Flux Security & Scalability using VS Code GitOps Extension
 
Deploying Stateful Applications Securely & Confidently with Ondat & Weave GitOps
Deploying Stateful Applications Securely & Confidently with Ondat & Weave GitOpsDeploying Stateful Applications Securely & Confidently with Ondat & Weave GitOps
Deploying Stateful Applications Securely & Confidently with Ondat & Weave GitOps
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Recently uploaded (20)

EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 

Continuous Delivery the Hard Way with Kubernetes