SlideShare a Scribd company logo
Kubernetes + Jenkins X: a Cloud Native Approach
OUR SPONSORS
NEW SPONSOR
https://www.noris.gr/jobs
https://www.noris.gr
PROPOSALS FOR PRESENTATIONS
https://tinyurl.com/y6nm4l9w
FOLLOW US
Slack: https://tinyurl.com/y2al2a2m
FOLLOW US
LinkedIn:
https://www.linkedin.com
/company/thessaloniki-
software-qa-meetup
FOLLOW US
Facebook:
https://www.facebook.com/
qathess
https://istqb.training
ISTQB Foundation in Thessaloniki
• 08.07.2020 – 10.07.2020 (Exams 11.07.2020)
• 04.11.2020 – 06.11.2020 (Exams 07.11.2020)
Agile Training in Thessaloniki
• 02.11.2020 – 03.11.2020 (Exams 03.11.2020, 17:00)
https://istqb.training
Voucher 20 % until 30.07
summer2020
Kubernetes + Jenkins X: a Cloud Native Approach
 More than 2 years of experience as a QA Engineer
 DevOps Enthusiast
 CI/CD with Jenkins
 Test Automation with Selenium
 Software Development background
 AWS Certified Cloud Practitioner (CLF-C01)
 Kubernetes Application Developer (CKAD)
 Certified Jenkins Engineer (CJE)
 ISTQB Agile Tester
ABOUT ME
Slide 1 of 40
 Fully automate a CD pipeline with zero lines of code
 Use dynamic test environments with minimum effort
 See the actual impact of a code change, before merging the code
 No need of CI/CD server, so no maintenance needed
 Self-healing infrastructure, updates with zero downtime, super easy to scale up/down
➢ What does this mean for our CI/CD processes?
OBJECTIVES
Slide 2 of 40
MONOLITHIC APPLICATIONS
 Single-tiered
 Self-contained
 Independent
Slide 3 of 40
CI/CD ON MONOLITHIC APPLICATIONS
Slide 4 of 40
Slide 5 of 40
CI/CD INFRASTRUCTURE
Slide 6 of 40
DISTRIBUTED SYSTEMS
 Components distributed on different networks
 Complex infrastructure with remote servers and APIs
 Communication and data exchange involve many parts
 API gateways and Middleware systems help with connectivity
 Widely used on data migrations and integrations to bigger systems
Slide 7 of 40
PROBLEMS OF THE TRADITIONAL INFRASTRUCTURE
 Complexity – too much effort to automate everything
 Hard to maintain – too many dependencies, difficult to debug and extend
 Delivery pipelines –manage environment configurations and deploy the code
 Error prone – too many different configurations and permission settings
 Reliability – “it works on my machine”, single point of failure
 Cost – the servers/environments are “always on”
➢ We need a new, more dynamic infrastructure for our CI/CD processes
Slide 8 of 40
WHAT IS THE CLOUD NATIVE APPROACH
➢ Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments
such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and
declarative APIs exemplify this approach (CNCF).
Source: https://docs.microsoft.com/en-us/dotnet/architecture/cloud-native/definition
Company Services in production Deployment frequency
Netflix 600+ Hundred times per day
Uber 1,000+ Thousand times each week
WeChat 300+ 1,000 times a day
Slide 9 of 40
CHARACTERISTICS OF CLOUD NATIVE
 Applications are packaged in containers
 The application is broken down into microservices
 A service mesh applies logic to service-to-service communication
 The services are not modified after they are deployed
 The infrastructure is described in declarative language
Slide 10 of 40
VIRTUAL MACHINES VS CONTAINERS
Slide 11 of 40
ADVANTAGES OF CONTAINERS
 Distribute applications in self-contained environments
 Isolated code execution is faster and more reliable
 Environments can be setup with “Configuration as a Code”
 Easy and fast deployment of applications
 Create/destroy multi-container applications with just 1 command
 Great for dynamic environments creation
Slide 12 of 40
SINGLE CONTAINER APPLICATION
How to interact with a container:
 with the Entrypoint
 with Volume mapping
 with Port mapping
Slide 13 of 40
MULTI CONTAINER APPLICATION
Slide 14 of 40
CONTAINER ORCHESTRATION
An orchestration platform that automates:
 Resource allocation and scheduling
 Provision and deployment of containers
 Load balancing and traffic routing
 Scaling activities based on workloads
 Health monitoring of containers
Slide 15 of 40
BENEFITS OF KUBERNETES
 Follows the “Infrastructure as a Code” paradigm
 Version control of the whole infrastructure
 Optimized resource usage
 Zero downtime with rolling updates
 Self-healing in case of failures
 Easy scale up/down with just 1 command
Slide 16 of 40
Slide 17 of 40
Slide 18 of 40
SERVICE TYPES
Slide 19 of 40
Slide 20 of 40
Slide 21 of 40
DESCRIBE OBJECTS WITH YAML
Slide 22 of 40
STATEFUL APPLICATION
 ReplicaSets
 ConfigMaps and Secrets
 Persistent Volumes and Claims
 Readiness and Liveness Probes
 Jobs and Cronjobs
 Network Policies and Ingress
Slide 23 of 40
MANAGE YOUR APPLICATIONS EASILY
Description Command
Apply rolling update container image in the deployment kubectl set image deployment/frontend www=image:v2
Check the history of deployments kubectl rollout history deployment/frontend
Rollback to the previous deployment kubectl rollout undo deployment/frontend
Autoscale a deployment kubectl autoscale deployment foo --min=2 --max=10
Update deployment properties in realtime Kubectl edit deployment frontend
Slide 24 of 40
BREAK TIME !
Source: https://www.jenkins.io/artwork/
Slide 25 of 40
Jenkins Cosmonaut
EXTENDING KUBERNETES
 Kubernetes Operators with custom resource definitions
 Helm Charts package manager with templates and values
https://helm.sh
Slide 26 of 40
GITOPS PRINCIPLES
 Automates cluster management and application delivery
 The system consists of the cluster state and the application state
 The cluster state and application are described declaratively
 Git is the “single source of truth” and everything is version controlled
 Approved changes are applied automatically to the system
 The system always matches desired state with agents
Slide 27 of 40
Slide 28 of 40
JENKINS X
 A cloud native CI/CD solution built on Kubernetes
 Includes fully automated default pipelines for quickstart projects
 Jenkins X pipelines are serverless (better resource utilization)
 Automatically creates preview environments for pull requests
 See the actual impact of a code change, before merging the code
 Follows GitOps principles for environment promotion
Slide 29 of 40
JENKINS X REQUIREMENTS
 Kubernetes cluster in Google Cloud or AWS
 Dynamic provisioning enabled in the cluster
 LoadBalancer with available IPs
 GitHub organization account
 GitHub bot account
 Bot personal access token
Slide 30 of 40
DEPLOYMENT, ENVIRONMENTS AND PROMOTION
Slide 31 of 40
Slide 32 of 40
JENKINS X AND GITOPS
 Deployment repositories describe cluster objects
 Cluster objects make up different environments
 Environment examples: dev, stage, production
 Application repositories describe applications
 Changes in repositories trigger pipelines
 Automated Build, Package, Deploy stages
Slide 33 of 40
HOW JENKINS X WORKS
Slide 34 of 40
Slide 35 of 40
JENKINS X BUILDPACKS
 BuildPacks describe the stages to Build, Package and Deploy
 A buildPack includes: agent, env, pipelines, stages, steps
 Jenkins X autodetects the buildPack to use based on the source code
 Jenkins X pulls Git repositories with default buildBacks
 We can override this and specify a base buildPack with inheritance
 We can then add custom steps or replace the steps of a stage
Slide 36 of 40
JENKINS X BENEFITS AND CHALLENGES
Benefits
 Cloud native solution for Kubernetes clusters
 Automation of CD pipeline allows to “shift left”
 Simple, “ready-to-go” pipelines
 The team can move fast with small lifecycles
 Go from releases per week to releases per day
Challenges
 Does not fully support Kubernetes “bare metal”
 Effort for migrating pipelines to the new platform
 Traditional Jenkins plugins are not supported
 No production-ready UI with dashboards
Slide 37 of 40
 Fully automate a CD pipeline with zero lines of code
 Use dynamic test environments with minimum effort
 See the actual impact of a code change, before merging the code
 No need of CI/CD server, so no maintenance needed
 Self-healing infrastructure, updates with zero downtime, super easy to scale up/down
➢ All these can be accomplished with a Cloud Native CI/CD approach: Kubernetes + Jenkins X
OBJECTIVES
Slide 38 of 40
IS THE CLOUD NATIVE APPROACH, RIGHT FOR YOU?
Benefits
 Great for dynamic scaling based on workloads
 Deployments can be fast and more frequently
 Reduced risk with progressive delivery
 No need to manage the underlying infrastructure
 Reduced cost by paying only for what you use
Challenges
 Time and cost to re-architecture the application
 The need to re-establish processes and workflows
 Not suitable for legacy applications that work well with the
“traditional approach”
Slide 39 of 40
THANK YOU! QUESTIONS ??? KUBERNETES + JENKINS X: A CLOUD NATIVE APPROACH
Slide 40 of 40
Kubernetes + Jenkins X: a Cloud Native Approach

More Related Content

PPTX
Dockercon 2019 Developing Apps with Containers, Functions and Cloud Services
PDF
DevOps Digital Transformation: A real life use case enabled by Alien4Cloud
PDF
DevOps@Morpho for ParisDevOps - 2nd of December 2014
PDF
Docker Enables DevOps
PDF
Linux Collaboration Summit Keynote: Transformation: It Takes a Platform
PDF
Using Rancher and Docker with RightScale at Industrie IT
PPTX
Learning the Alphabet: A/B, CD and [E-Z] in the Docker Datacenter by Brett Ti...
PPTX
KubeCon China 2019 - Building Apps with Containers, Functions and Managed Ser...
Dockercon 2019 Developing Apps with Containers, Functions and Cloud Services
DevOps Digital Transformation: A real life use case enabled by Alien4Cloud
DevOps@Morpho for ParisDevOps - 2nd of December 2014
Docker Enables DevOps
Linux Collaboration Summit Keynote: Transformation: It Takes a Platform
Using Rancher and Docker with RightScale at Industrie IT
Learning the Alphabet: A/B, CD and [E-Z] in the Docker Datacenter by Brett Ti...
KubeCon China 2019 - Building Apps with Containers, Functions and Managed Ser...

What's hot (17)

PDF
Microsoft and DevOps - Presented by Atidan
PDF
The Evolving Design Patterns of Puppet Enterprise - PuppetConf 2014
PPTX
Kubernetes VS. App Service: When the orchestrator challenges the platform
PPTX
Ultimate DevOps: OpenShift Dedicated With CloudBees Jenkins Platform (Andy Pe...
PPTX
Docker EE 2.0 Choice, Security & Agility
PDF
DevOps and BigData Analytics
PDF
Building scalable applications using serverless on the cloud
PDF
Maintaining SLOs of Cloud-native Applications via Self-Adaptive Resource Sharing
PPTX
KubeCon 2019 - Scaling your cluster (both ways)
PPTX
CF Summit North America 2017 - Technical Keynote
PDF
DevOps Fest 2020. Андрей Шишенко. CI/CD for AWS Lambdas with Serverless frame...
PPTX
Driving Enterprise Architecture Redesign: Cloud-Native Platforms, APIs, and D...
PDF
Kubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-native
PDF
DockerCon 18 Cool Hacks: solo.io
PPTX
CF Days 2017 - NYC - Keynote
PPTX
Removing Barriers Between Dev and Ops
PDF
Transform Digital Business with DevOps
Microsoft and DevOps - Presented by Atidan
The Evolving Design Patterns of Puppet Enterprise - PuppetConf 2014
Kubernetes VS. App Service: When the orchestrator challenges the platform
Ultimate DevOps: OpenShift Dedicated With CloudBees Jenkins Platform (Andy Pe...
Docker EE 2.0 Choice, Security & Agility
DevOps and BigData Analytics
Building scalable applications using serverless on the cloud
Maintaining SLOs of Cloud-native Applications via Self-Adaptive Resource Sharing
KubeCon 2019 - Scaling your cluster (both ways)
CF Summit North America 2017 - Technical Keynote
DevOps Fest 2020. Андрей Шишенко. CI/CD for AWS Lambdas with Serverless frame...
Driving Enterprise Architecture Redesign: Cloud-Native Platforms, APIs, and D...
Kubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-native
DockerCon 18 Cool Hacks: solo.io
CF Days 2017 - NYC - Keynote
Removing Barriers Between Dev and Ops
Transform Digital Business with DevOps
Ad

Similar to Kubernetes + Jenkins X: a Cloud Native Approach (20)

PPTX
Containers and the Docker EE Difference and usecases
PDF
8 - OpenShift - A look at a container platform: what's in the box
PPTX
Using Azure DevOps to continuously build, test, and deploy containerized appl...
PPTX
SoCal DevOps Meetup 1/26/2017 - Habitat by Chef
PPTX
Microsoft, Linux, Open Source, DevOps
PDF
Using Blueprints to Overcome Multi-speed IT Challenges
PDF
Pivotal CloudFoundry on Google cloud platform
PDF
Kubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-native
PDF
Yohanes Widi Sono - Modern Development for Business Agility
PDF
Why Kubernetes? Cloud Native and Developer Experience at Zalando - Enterprise...
PPTX
Modern CI/CD in the microservices world with Kubernetes
PPTX
WITS 2022_ModernizationAndInfrastructureAsCode.pptx
PDF
Migrating to Microservices – It's Easier Than You Think
PDF
Devops automation using Docker, Kubernetes and Openshift
PPTX
Microsoft, Linux, Open Source, DevOps
PDF
Tampere Docker meetup - Happy 5th Birthday Docker
PDF
Kubernetes - Cloud Native Application Orchestration - Catalin Jora
PDF
Kubernetes vs App Service
PPTX
Erik Baardse - Bringing Agility to Traditional application by docker
PDF
Jenkins: An open-source automation server powering CI/CD Automation
Containers and the Docker EE Difference and usecases
8 - OpenShift - A look at a container platform: what's in the box
Using Azure DevOps to continuously build, test, and deploy containerized appl...
SoCal DevOps Meetup 1/26/2017 - Habitat by Chef
Microsoft, Linux, Open Source, DevOps
Using Blueprints to Overcome Multi-speed IT Challenges
Pivotal CloudFoundry on Google cloud platform
Kubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-native
Yohanes Widi Sono - Modern Development for Business Agility
Why Kubernetes? Cloud Native and Developer Experience at Zalando - Enterprise...
Modern CI/CD in the microservices world with Kubernetes
WITS 2022_ModernizationAndInfrastructureAsCode.pptx
Migrating to Microservices – It's Easier Than You Think
Devops automation using Docker, Kubernetes and Openshift
Microsoft, Linux, Open Source, DevOps
Tampere Docker meetup - Happy 5th Birthday Docker
Kubernetes - Cloud Native Application Orchestration - Catalin Jora
Kubernetes vs App Service
Erik Baardse - Bringing Agility to Traditional application by docker
Jenkins: An open-source automation server powering CI/CD Automation
Ad

More from Thessaloniki Software Testing and QA meetup (9)

PDF
A Journey Inside a React Native App No Pain No Gain
PDF
MoT Athens meets Thessaloniki Software Testing & QA meetup
PPTX
Service Testing - Workshop Thessaloniki Meetup
PPTX
Service testing - Introduction to SoapUI & groovy
PPTX
Selenium for java developers
PPT
PPTX
It’s a world of bugs after all
PDF
GUI, Performance, Load and API testing with Test Studio
PPTX
A Journey Inside a React Native App No Pain No Gain
MoT Athens meets Thessaloniki Software Testing & QA meetup
Service Testing - Workshop Thessaloniki Meetup
Service testing - Introduction to SoapUI & groovy
Selenium for java developers
It’s a world of bugs after all
GUI, Performance, Load and API testing with Test Studio

Recently uploaded (20)

PPTX
Big Data Technologies - Introduction.pptx
PDF
Approach and Philosophy of On baking technology
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Cloud computing and distributed systems.
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Encapsulation theory and applications.pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Electronic commerce courselecture one. Pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Big Data Technologies - Introduction.pptx
Approach and Philosophy of On baking technology
“AI and Expert System Decision Support & Business Intelligence Systems”
Reach Out and Touch Someone: Haptics and Empathic Computing
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Building Integrated photovoltaic BIPV_UPV.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Cloud computing and distributed systems.
Review of recent advances in non-invasive hemoglobin estimation
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Encapsulation theory and applications.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Encapsulation_ Review paper, used for researhc scholars
Understanding_Digital_Forensics_Presentation.pptx
Electronic commerce courselecture one. Pdf
Chapter 3 Spatial Domain Image Processing.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...

Kubernetes + Jenkins X: a Cloud Native Approach

  • 8. https://istqb.training ISTQB Foundation in Thessaloniki • 08.07.2020 – 10.07.2020 (Exams 11.07.2020) • 04.11.2020 – 06.11.2020 (Exams 07.11.2020) Agile Training in Thessaloniki • 02.11.2020 – 03.11.2020 (Exams 03.11.2020, 17:00)
  • 11.  More than 2 years of experience as a QA Engineer  DevOps Enthusiast  CI/CD with Jenkins  Test Automation with Selenium  Software Development background  AWS Certified Cloud Practitioner (CLF-C01)  Kubernetes Application Developer (CKAD)  Certified Jenkins Engineer (CJE)  ISTQB Agile Tester ABOUT ME Slide 1 of 40
  • 12.  Fully automate a CD pipeline with zero lines of code  Use dynamic test environments with minimum effort  See the actual impact of a code change, before merging the code  No need of CI/CD server, so no maintenance needed  Self-healing infrastructure, updates with zero downtime, super easy to scale up/down ➢ What does this mean for our CI/CD processes? OBJECTIVES Slide 2 of 40
  • 13. MONOLITHIC APPLICATIONS  Single-tiered  Self-contained  Independent Slide 3 of 40
  • 14. CI/CD ON MONOLITHIC APPLICATIONS Slide 4 of 40
  • 17. DISTRIBUTED SYSTEMS  Components distributed on different networks  Complex infrastructure with remote servers and APIs  Communication and data exchange involve many parts  API gateways and Middleware systems help with connectivity  Widely used on data migrations and integrations to bigger systems Slide 7 of 40
  • 18. PROBLEMS OF THE TRADITIONAL INFRASTRUCTURE  Complexity – too much effort to automate everything  Hard to maintain – too many dependencies, difficult to debug and extend  Delivery pipelines –manage environment configurations and deploy the code  Error prone – too many different configurations and permission settings  Reliability – “it works on my machine”, single point of failure  Cost – the servers/environments are “always on” ➢ We need a new, more dynamic infrastructure for our CI/CD processes Slide 8 of 40
  • 19. WHAT IS THE CLOUD NATIVE APPROACH ➢ Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach (CNCF). Source: https://docs.microsoft.com/en-us/dotnet/architecture/cloud-native/definition Company Services in production Deployment frequency Netflix 600+ Hundred times per day Uber 1,000+ Thousand times each week WeChat 300+ 1,000 times a day Slide 9 of 40
  • 20. CHARACTERISTICS OF CLOUD NATIVE  Applications are packaged in containers  The application is broken down into microservices  A service mesh applies logic to service-to-service communication  The services are not modified after they are deployed  The infrastructure is described in declarative language Slide 10 of 40
  • 21. VIRTUAL MACHINES VS CONTAINERS Slide 11 of 40
  • 22. ADVANTAGES OF CONTAINERS  Distribute applications in self-contained environments  Isolated code execution is faster and more reliable  Environments can be setup with “Configuration as a Code”  Easy and fast deployment of applications  Create/destroy multi-container applications with just 1 command  Great for dynamic environments creation Slide 12 of 40
  • 23. SINGLE CONTAINER APPLICATION How to interact with a container:  with the Entrypoint  with Volume mapping  with Port mapping Slide 13 of 40
  • 25. CONTAINER ORCHESTRATION An orchestration platform that automates:  Resource allocation and scheduling  Provision and deployment of containers  Load balancing and traffic routing  Scaling activities based on workloads  Health monitoring of containers Slide 15 of 40
  • 26. BENEFITS OF KUBERNETES  Follows the “Infrastructure as a Code” paradigm  Version control of the whole infrastructure  Optimized resource usage  Zero downtime with rolling updates  Self-healing in case of failures  Easy scale up/down with just 1 command Slide 16 of 40
  • 32. DESCRIBE OBJECTS WITH YAML Slide 22 of 40
  • 33. STATEFUL APPLICATION  ReplicaSets  ConfigMaps and Secrets  Persistent Volumes and Claims  Readiness and Liveness Probes  Jobs and Cronjobs  Network Policies and Ingress Slide 23 of 40
  • 34. MANAGE YOUR APPLICATIONS EASILY Description Command Apply rolling update container image in the deployment kubectl set image deployment/frontend www=image:v2 Check the history of deployments kubectl rollout history deployment/frontend Rollback to the previous deployment kubectl rollout undo deployment/frontend Autoscale a deployment kubectl autoscale deployment foo --min=2 --max=10 Update deployment properties in realtime Kubectl edit deployment frontend Slide 24 of 40
  • 35. BREAK TIME ! Source: https://www.jenkins.io/artwork/ Slide 25 of 40 Jenkins Cosmonaut
  • 36. EXTENDING KUBERNETES  Kubernetes Operators with custom resource definitions  Helm Charts package manager with templates and values https://helm.sh Slide 26 of 40
  • 37. GITOPS PRINCIPLES  Automates cluster management and application delivery  The system consists of the cluster state and the application state  The cluster state and application are described declaratively  Git is the “single source of truth” and everything is version controlled  Approved changes are applied automatically to the system  The system always matches desired state with agents Slide 27 of 40
  • 39. JENKINS X  A cloud native CI/CD solution built on Kubernetes  Includes fully automated default pipelines for quickstart projects  Jenkins X pipelines are serverless (better resource utilization)  Automatically creates preview environments for pull requests  See the actual impact of a code change, before merging the code  Follows GitOps principles for environment promotion Slide 29 of 40
  • 40. JENKINS X REQUIREMENTS  Kubernetes cluster in Google Cloud or AWS  Dynamic provisioning enabled in the cluster  LoadBalancer with available IPs  GitHub organization account  GitHub bot account  Bot personal access token Slide 30 of 40
  • 41. DEPLOYMENT, ENVIRONMENTS AND PROMOTION Slide 31 of 40
  • 43. JENKINS X AND GITOPS  Deployment repositories describe cluster objects  Cluster objects make up different environments  Environment examples: dev, stage, production  Application repositories describe applications  Changes in repositories trigger pipelines  Automated Build, Package, Deploy stages Slide 33 of 40
  • 44. HOW JENKINS X WORKS Slide 34 of 40
  • 46. JENKINS X BUILDPACKS  BuildPacks describe the stages to Build, Package and Deploy  A buildPack includes: agent, env, pipelines, stages, steps  Jenkins X autodetects the buildPack to use based on the source code  Jenkins X pulls Git repositories with default buildBacks  We can override this and specify a base buildPack with inheritance  We can then add custom steps or replace the steps of a stage Slide 36 of 40
  • 47. JENKINS X BENEFITS AND CHALLENGES Benefits  Cloud native solution for Kubernetes clusters  Automation of CD pipeline allows to “shift left”  Simple, “ready-to-go” pipelines  The team can move fast with small lifecycles  Go from releases per week to releases per day Challenges  Does not fully support Kubernetes “bare metal”  Effort for migrating pipelines to the new platform  Traditional Jenkins plugins are not supported  No production-ready UI with dashboards Slide 37 of 40
  • 48.  Fully automate a CD pipeline with zero lines of code  Use dynamic test environments with minimum effort  See the actual impact of a code change, before merging the code  No need of CI/CD server, so no maintenance needed  Self-healing infrastructure, updates with zero downtime, super easy to scale up/down ➢ All these can be accomplished with a Cloud Native CI/CD approach: Kubernetes + Jenkins X OBJECTIVES Slide 38 of 40
  • 49. IS THE CLOUD NATIVE APPROACH, RIGHT FOR YOU? Benefits  Great for dynamic scaling based on workloads  Deployments can be fast and more frequently  Reduced risk with progressive delivery  No need to manage the underlying infrastructure  Reduced cost by paying only for what you use Challenges  Time and cost to re-architecture the application  The need to re-establish processes and workflows  Not suitable for legacy applications that work well with the “traditional approach” Slide 39 of 40
  • 50. THANK YOU! QUESTIONS ??? KUBERNETES + JENKINS X: A CLOUD NATIVE APPROACH Slide 40 of 40