SlideShare a Scribd company logo
CatalinJora – 09/febr/2021
Lessons learned from
running Pega in Kubernetes
Who am I
2
Catalin Jora
• DevOps engineer inTribeWonen | SpecialAsset Management area
• Certified Kubernetes Admin *
• Docker community leader Netherlands
https://linkedin.com/in/jocatalin
https://twitter.com/jocatalin
Agenda
3
• Pega architecture in Kubernetes
• Lessons learned
• Provisioning
• Implementationdecisions
• Installationchoices
• App customizations(Docker &Config Maps)
• CI/CD
• Debugging
Why you should run Pega in K8s?
4
Modern stack
Control over the entire lifecycle
Portability
Costs
Pega
Architecture
in K8s
5
Source: https://community.pega.com/knowledgebase/articles/client-managed-cloud/83/understanding-pega-deployment-architecture
On Provisioning
6
Pre-requisites for running Pega in K8s:
• you need a K8s cluster
On Provisioning
7
Pre-requisites for running Pega in K8s:
• you need a K8s cluster
On Provisioning
8
Pre-requisites for running Pega in K8s:
• you need a K8s cluster (production ready)
• you need a (skilled)team that will manage the cluster(s)
• 2 - 3 engineer are needed to run a cluster that offers 24/7 SLA
• starting from scratch (what is Docker?) will take you +1 year to get to a production
ready cluster:
• level of automation
• implementation team skills (K8s, terraform, etc)
Implementation decisions to be made
9
• container registry
• K8s implementation (managed or self-provisioned)
• proximity to DB
• ingress controller l traffic routing
• logging I monitoring
• secret management
• developer access
Installing Pega in K8s: how
10
• Helm Chart :
https://github.com/pegasystems/pega-helm-charts
• Pega Docker images:
docker pull pega-docker.downloads.pega.com/platform/pega:<version>
Installing Pega in K8s: who
11
• who will do the upgrade/install/deploy?
• How often?
• image vulnerabilities?
• what is their level of knowledge with K8s, Pega, helm, docker?
Installing Pega in K8s: how
12
• Helm Chart :
https://github.com/pegasystems/pega-helm-charts
But is helm the right tool for this?
You can get the manifests out of the chart and deploy the yaml directly
(Kustomize)
Advantage: get rid of helm
On Database
13
Are you also changing the database?
• NO:
• 1-on-1 migrationsis the simplestchoice(eg.Oracle-> Oracle, PostgreSQL ->
PostgreSQL)
On Database
14
Are you also changing the database?
• YES
• You need to research the migrationtools
• Need to have peoplewho are familiarwith both DB's (source/target) and
businesslogic
• this can be a major pain
• live or offlinemigration
On customizing the Pega image
15
• Docker image can be customized
• The base image is not open (Dockerfileis not available)
• Changes are applied in config maps objects
On customizing the Pega config maps
16
• What can be changed in config maps:
• Prconfig.xml
• Context.xml
• Prlog4j2.xml
• Pega uses dockerize inside the image to inject real values at run time
into the templated files.
• In the docker entry point scriptonly the above filesare templated
On CI/CD
17
• Azure DevOps Pipelines is logical choice for deployments to AKS
• There are predefinedtasks for deploymentsto k8s
• other tools will work as well (Jenkins, ArgoCD, Flux, etc)
On CI/CD
18
On CI/CD
19
• Changing a config map will not redeploy a pod in Kubernetes
• how to fix?
• redeploy when needed: Kubectl rollout restart
• helm annotationchecksum/config
• kind: Deployment
• spec:
• template:
• metadata:
• annotations:
• checksum/config: {{ include (print $.Template.BasePath
"/configmap.yaml") . | sha256sum }}
• [...]
•
Rollout strategies
20
• rolling Updates:
• maxSurge: 25%
• maxUnavailability:25%
Speed up a
restart
21
• tweak the
readiness probes
Debugging
22
• based on developer access
• Kubectl + logs + MicrosoftCode(with K8s plugins)
Thanks
23
• Learn K8s resources:
• https://www.katacoda.com/courses/kubernetes
• https://kubernetes.io/docs/tutorials/
• Pega architecture for K8s: https://community.pega.com/knowledgebase/articles/client-
managed-cloud/83/understanding-pega-deployment-architecture

More Related Content

What's hot

Monolithic architecture
Monolithic architectureMonolithic architecture
Monolithic architecture
SRM University Delhi-NCR sonepat
 
Postman.ppt
Postman.pptPostman.ppt
Postman.ppt
ParrotBAD
 
Building APIs with the OpenApi Spec
Building APIs with the OpenApi SpecBuilding APIs with the OpenApi Spec
Building APIs with the OpenApi Spec
Pedro J. Molina
 
What is an API Gateway?
What is an API Gateway?What is an API Gateway?
What is an API Gateway?
LunchBadger
 
The Architecture of an API Platform
The Architecture of an API PlatformThe Architecture of an API Platform
The Architecture of an API Platform
Johannes Ridderstedt
 
API Testing
API TestingAPI Testing
API Testing
Bikash Sharma
 
Api Testing
Api TestingApi Testing
Api Testing
Vishwanath KC
 
apidays Paris 2022 - Generating APIs from business models, Frederic Fontanet,...
apidays Paris 2022 - Generating APIs from business models, Frederic Fontanet,...apidays Paris 2022 - Generating APIs from business models, Frederic Fontanet,...
apidays Paris 2022 - Generating APIs from business models, Frederic Fontanet,...
apidays
 
What is No-Code/Low-Code App Development and Why Should Your Business Care?
What is No-Code/Low-Code App Development and Why Should Your Business Care?What is No-Code/Low-Code App Development and Why Should Your Business Care?
What is No-Code/Low-Code App Development and Why Should Your Business Care?
kintone
 
Rest API with Swagger and NodeJS
Rest API with Swagger and NodeJSRest API with Swagger and NodeJS
Rest API with Swagger and NodeJS
Luigi Saetta
 
Postman. From simple API test to end to end scenario
Postman. From simple API test to end to end scenarioPostman. From simple API test to end to end scenario
Postman. From simple API test to end to end scenario
HYS Enterprise
 
API as-a-Product with Azure API Management (APIM)
API as-a-Product with Azure API Management (APIM)API as-a-Product with Azure API Management (APIM)
API as-a-Product with Azure API Management (APIM)
Bishoy Demian
 
Peeling the Onion: Making Sense of the Layers of API Security
Peeling the Onion: Making Sense of the Layers of API SecurityPeeling the Onion: Making Sense of the Layers of API Security
Peeling the Onion: Making Sense of the Layers of API Security
Matt Tesauro
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
rajdeep
 
Highlights of WSO2 API Manager 4.0.0
Highlights of WSO2 API Manager 4.0.0Highlights of WSO2 API Manager 4.0.0
Highlights of WSO2 API Manager 4.0.0
WSO2
 
REST API Design & Development
REST API Design & DevelopmentREST API Design & Development
REST API Design & Development
Ashok Pundit
 
Postman Introduction
Postman IntroductionPostman Introduction
Postman Introduction
Rahul Agarwal
 
Api testing
Api testingApi testing
Api testing
HamzaMajid13
 
API Testing Presentations.pptx
API Testing Presentations.pptxAPI Testing Presentations.pptx
API Testing Presentations.pptx
ManmitSalunke
 
Kong
KongKong

What's hot (20)

Monolithic architecture
Monolithic architectureMonolithic architecture
Monolithic architecture
 
Postman.ppt
Postman.pptPostman.ppt
Postman.ppt
 
Building APIs with the OpenApi Spec
Building APIs with the OpenApi SpecBuilding APIs with the OpenApi Spec
Building APIs with the OpenApi Spec
 
What is an API Gateway?
What is an API Gateway?What is an API Gateway?
What is an API Gateway?
 
The Architecture of an API Platform
The Architecture of an API PlatformThe Architecture of an API Platform
The Architecture of an API Platform
 
API Testing
API TestingAPI Testing
API Testing
 
Api Testing
Api TestingApi Testing
Api Testing
 
apidays Paris 2022 - Generating APIs from business models, Frederic Fontanet,...
apidays Paris 2022 - Generating APIs from business models, Frederic Fontanet,...apidays Paris 2022 - Generating APIs from business models, Frederic Fontanet,...
apidays Paris 2022 - Generating APIs from business models, Frederic Fontanet,...
 
What is No-Code/Low-Code App Development and Why Should Your Business Care?
What is No-Code/Low-Code App Development and Why Should Your Business Care?What is No-Code/Low-Code App Development and Why Should Your Business Care?
What is No-Code/Low-Code App Development and Why Should Your Business Care?
 
Rest API with Swagger and NodeJS
Rest API with Swagger and NodeJSRest API with Swagger and NodeJS
Rest API with Swagger and NodeJS
 
Postman. From simple API test to end to end scenario
Postman. From simple API test to end to end scenarioPostman. From simple API test to end to end scenario
Postman. From simple API test to end to end scenario
 
API as-a-Product with Azure API Management (APIM)
API as-a-Product with Azure API Management (APIM)API as-a-Product with Azure API Management (APIM)
API as-a-Product with Azure API Management (APIM)
 
Peeling the Onion: Making Sense of the Layers of API Security
Peeling the Onion: Making Sense of the Layers of API SecurityPeeling the Onion: Making Sense of the Layers of API Security
Peeling the Onion: Making Sense of the Layers of API Security
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
Highlights of WSO2 API Manager 4.0.0
Highlights of WSO2 API Manager 4.0.0Highlights of WSO2 API Manager 4.0.0
Highlights of WSO2 API Manager 4.0.0
 
REST API Design & Development
REST API Design & DevelopmentREST API Design & Development
REST API Design & Development
 
Postman Introduction
Postman IntroductionPostman Introduction
Postman Introduction
 
Api testing
Api testingApi testing
Api testing
 
API Testing Presentations.pptx
API Testing Presentations.pptxAPI Testing Presentations.pptx
API Testing Presentations.pptx
 
Kong
KongKong
Kong
 

Similar to Lessons learned from running Pega in Kubernetes

What's coming in Airflow 2.0? - NYC Apache Airflow Meetup
What's coming in Airflow 2.0? - NYC Apache Airflow MeetupWhat's coming in Airflow 2.0? - NYC Apache Airflow Meetup
What's coming in Airflow 2.0? - NYC Apache Airflow Meetup
Kaxil Naik
 
ODI 12c Installation and New Features
ODI 12c Installation and New FeaturesODI 12c Installation and New Features
ODI 12c Installation and New Features
Canburak Tümer
 
Greenplum for Kubernetes - Greenplum Summit 2019
Greenplum for Kubernetes - Greenplum Summit 2019Greenplum for Kubernetes - Greenplum Summit 2019
Greenplum for Kubernetes - Greenplum Summit 2019
VMware Tanzu
 
dbt Python models - GoDataFest by Guillermo Sanchez
dbt Python models - GoDataFest by Guillermo Sanchezdbt Python models - GoDataFest by Guillermo Sanchez
dbt Python models - GoDataFest by Guillermo Sanchez
GoDataDriven
 
Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)
Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)
Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)
Gabriele Bartolini
 
CI/CD Development in Kubernetes - Skaffold
CI/CD Development in Kubernetes -  SkaffoldCI/CD Development in Kubernetes -  Skaffold
CI/CD Development in Kubernetes - Skaffold
Suman Chakraborty
 
Pydata 2020 containers meetup
Pydata  2020 containers meetup Pydata  2020 containers meetup
Pydata 2020 containers meetup
Walid Shaari
 
Operating PostgreSQL at Scale with Kubernetes
Operating PostgreSQL at Scale with KubernetesOperating PostgreSQL at Scale with Kubernetes
Operating PostgreSQL at Scale with Kubernetes
Jonathan Katz
 
20150425 experimenting with openstack sahara on docker
20150425 experimenting with openstack sahara on docker20150425 experimenting with openstack sahara on docker
20150425 experimenting with openstack sahara on docker
Wei Ting Chen
 
Scalable Clusters On Demand
Scalable Clusters On DemandScalable Clusters On Demand
Scalable Clusters On Demand
Bogdan Kyryliuk
 
Python and GIS: Improving Your Workflow
Python and GIS: Improving Your WorkflowPython and GIS: Improving Your Workflow
Python and GIS: Improving Your Workflow
John Reiser
 
141204 upload
141204 upload141204 upload
141204 upload
Quey-Liang Kao
 
DevOps Supercharged with Docker on Exadata
DevOps Supercharged with Docker on ExadataDevOps Supercharged with Docker on Exadata
DevOps Supercharged with Docker on Exadata
MarketingArrowECS_CZ
 
Kubernetes Internals
Kubernetes InternalsKubernetes Internals
Kubernetes Internals
Shimi Bandiel
 
Fun with Kubernetes and Payara Micro 5
Fun with Kubernetes and Payara Micro 5Fun with Kubernetes and Payara Micro 5
Fun with Kubernetes and Payara Micro 5
Payara
 
2014 11-05 hpcac-kniep_christian_dockermpi
2014 11-05 hpcac-kniep_christian_dockermpi2014 11-05 hpcac-kniep_christian_dockermpi
2014 11-05 hpcac-kniep_christian_dockermpi
QNIB Solutions
 
Environment management in a continuous delivery world (3)
Environment management in a continuous delivery world (3)Environment management in a continuous delivery world (3)
Environment management in a continuous delivery world (3)
Victor Iglesias
 
CI/CD Development in Kubernetes - Skaffold
CI/CD Development in Kubernetes -  SkaffoldCI/CD Development in Kubernetes -  Skaffold
CI/CD Development in Kubernetes - Skaffold
Suman Chakraborty
 
Kubernetes Manchester - 6th December 2018
Kubernetes Manchester - 6th December 2018Kubernetes Manchester - 6th December 2018
Kubernetes Manchester - 6th December 2018
David Stockton
 
[FOSDEM 2020] Lazy distribution of container images
[FOSDEM 2020] Lazy distribution of container images[FOSDEM 2020] Lazy distribution of container images
[FOSDEM 2020] Lazy distribution of container images
Akihiro Suda
 

Similar to Lessons learned from running Pega in Kubernetes (20)

What's coming in Airflow 2.0? - NYC Apache Airflow Meetup
What's coming in Airflow 2.0? - NYC Apache Airflow MeetupWhat's coming in Airflow 2.0? - NYC Apache Airflow Meetup
What's coming in Airflow 2.0? - NYC Apache Airflow Meetup
 
ODI 12c Installation and New Features
ODI 12c Installation and New FeaturesODI 12c Installation and New Features
ODI 12c Installation and New Features
 
Greenplum for Kubernetes - Greenplum Summit 2019
Greenplum for Kubernetes - Greenplum Summit 2019Greenplum for Kubernetes - Greenplum Summit 2019
Greenplum for Kubernetes - Greenplum Summit 2019
 
dbt Python models - GoDataFest by Guillermo Sanchez
dbt Python models - GoDataFest by Guillermo Sanchezdbt Python models - GoDataFest by Guillermo Sanchez
dbt Python models - GoDataFest by Guillermo Sanchez
 
Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)
Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)
Agile Oracle to PostgreSQL migrations (PGConf.EU 2013)
 
CI/CD Development in Kubernetes - Skaffold
CI/CD Development in Kubernetes -  SkaffoldCI/CD Development in Kubernetes -  Skaffold
CI/CD Development in Kubernetes - Skaffold
 
Pydata 2020 containers meetup
Pydata  2020 containers meetup Pydata  2020 containers meetup
Pydata 2020 containers meetup
 
Operating PostgreSQL at Scale with Kubernetes
Operating PostgreSQL at Scale with KubernetesOperating PostgreSQL at Scale with Kubernetes
Operating PostgreSQL at Scale with Kubernetes
 
20150425 experimenting with openstack sahara on docker
20150425 experimenting with openstack sahara on docker20150425 experimenting with openstack sahara on docker
20150425 experimenting with openstack sahara on docker
 
Scalable Clusters On Demand
Scalable Clusters On DemandScalable Clusters On Demand
Scalable Clusters On Demand
 
Python and GIS: Improving Your Workflow
Python and GIS: Improving Your WorkflowPython and GIS: Improving Your Workflow
Python and GIS: Improving Your Workflow
 
141204 upload
141204 upload141204 upload
141204 upload
 
DevOps Supercharged with Docker on Exadata
DevOps Supercharged with Docker on ExadataDevOps Supercharged with Docker on Exadata
DevOps Supercharged with Docker on Exadata
 
Kubernetes Internals
Kubernetes InternalsKubernetes Internals
Kubernetes Internals
 
Fun with Kubernetes and Payara Micro 5
Fun with Kubernetes and Payara Micro 5Fun with Kubernetes and Payara Micro 5
Fun with Kubernetes and Payara Micro 5
 
2014 11-05 hpcac-kniep_christian_dockermpi
2014 11-05 hpcac-kniep_christian_dockermpi2014 11-05 hpcac-kniep_christian_dockermpi
2014 11-05 hpcac-kniep_christian_dockermpi
 
Environment management in a continuous delivery world (3)
Environment management in a continuous delivery world (3)Environment management in a continuous delivery world (3)
Environment management in a continuous delivery world (3)
 
CI/CD Development in Kubernetes - Skaffold
CI/CD Development in Kubernetes -  SkaffoldCI/CD Development in Kubernetes -  Skaffold
CI/CD Development in Kubernetes - Skaffold
 
Kubernetes Manchester - 6th December 2018
Kubernetes Manchester - 6th December 2018Kubernetes Manchester - 6th December 2018
Kubernetes Manchester - 6th December 2018
 
[FOSDEM 2020] Lazy distribution of container images
[FOSDEM 2020] Lazy distribution of container images[FOSDEM 2020] Lazy distribution of container images
[FOSDEM 2020] Lazy distribution of container images
 

More from Catalin Jora

Docker + WASM.pdf
Docker + WASM.pdfDocker + WASM.pdf
Docker + WASM.pdf
Catalin Jora
 
FikaWorks Collective - Rejekts 2022 - Building Tech Communities Inside Companies
FikaWorks Collective - Rejekts 2022 - Building Tech Communities Inside CompaniesFikaWorks Collective - Rejekts 2022 - Building Tech Communities Inside Companies
FikaWorks Collective - Rejekts 2022 - Building Tech Communities Inside Companies
Catalin Jora
 
Killing technical debt and reducing costs with Docker
Killing technical debt and reducing costs with DockerKilling technical debt and reducing costs with Docker
Killing technical debt and reducing costs with Docker
Catalin Jora
 
Amsteram Docker meetup - Cloud Native Storage - Chris Brandon
Amsteram Docker meetup -  Cloud Native Storage - Chris BrandonAmsteram Docker meetup -  Cloud Native Storage - Chris Brandon
Amsteram Docker meetup - Cloud Native Storage - Chris Brandon
Catalin Jora
 
Kubernetes in docker for mac
Kubernetes in docker for macKubernetes in docker for mac
Kubernetes in docker for mac
Catalin Jora
 
Cloud native with kubernetes
Cloud native with kubernetesCloud native with kubernetes
Cloud native with kubernetes
Catalin Jora
 
Microservices continuous delivery with mantl & shipped
Microservices continuous delivery with mantl & shippedMicroservices continuous delivery with mantl & shipped
Microservices continuous delivery with mantl & shipped
Catalin Jora
 

More from Catalin Jora (7)

Docker + WASM.pdf
Docker + WASM.pdfDocker + WASM.pdf
Docker + WASM.pdf
 
FikaWorks Collective - Rejekts 2022 - Building Tech Communities Inside Companies
FikaWorks Collective - Rejekts 2022 - Building Tech Communities Inside CompaniesFikaWorks Collective - Rejekts 2022 - Building Tech Communities Inside Companies
FikaWorks Collective - Rejekts 2022 - Building Tech Communities Inside Companies
 
Killing technical debt and reducing costs with Docker
Killing technical debt and reducing costs with DockerKilling technical debt and reducing costs with Docker
Killing technical debt and reducing costs with Docker
 
Amsteram Docker meetup - Cloud Native Storage - Chris Brandon
Amsteram Docker meetup -  Cloud Native Storage - Chris BrandonAmsteram Docker meetup -  Cloud Native Storage - Chris Brandon
Amsteram Docker meetup - Cloud Native Storage - Chris Brandon
 
Kubernetes in docker for mac
Kubernetes in docker for macKubernetes in docker for mac
Kubernetes in docker for mac
 
Cloud native with kubernetes
Cloud native with kubernetesCloud native with kubernetes
Cloud native with kubernetes
 
Microservices continuous delivery with mantl & shipped
Microservices continuous delivery with mantl & shippedMicroservices continuous delivery with mantl & shipped
Microservices continuous delivery with mantl & shipped
 

Recently uploaded

How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 

Recently uploaded (20)

How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 

Lessons learned from running Pega in Kubernetes

  • 1. CatalinJora – 09/febr/2021 Lessons learned from running Pega in Kubernetes
  • 2. Who am I 2 Catalin Jora • DevOps engineer inTribeWonen | SpecialAsset Management area • Certified Kubernetes Admin * • Docker community leader Netherlands https://linkedin.com/in/jocatalin https://twitter.com/jocatalin
  • 3. Agenda 3 • Pega architecture in Kubernetes • Lessons learned • Provisioning • Implementationdecisions • Installationchoices • App customizations(Docker &Config Maps) • CI/CD • Debugging
  • 4. Why you should run Pega in K8s? 4 Modern stack Control over the entire lifecycle Portability Costs
  • 6. On Provisioning 6 Pre-requisites for running Pega in K8s: • you need a K8s cluster
  • 7. On Provisioning 7 Pre-requisites for running Pega in K8s: • you need a K8s cluster
  • 8. On Provisioning 8 Pre-requisites for running Pega in K8s: • you need a K8s cluster (production ready) • you need a (skilled)team that will manage the cluster(s) • 2 - 3 engineer are needed to run a cluster that offers 24/7 SLA • starting from scratch (what is Docker?) will take you +1 year to get to a production ready cluster: • level of automation • implementation team skills (K8s, terraform, etc)
  • 9. Implementation decisions to be made 9 • container registry • K8s implementation (managed or self-provisioned) • proximity to DB • ingress controller l traffic routing • logging I monitoring • secret management • developer access
  • 10. Installing Pega in K8s: how 10 • Helm Chart : https://github.com/pegasystems/pega-helm-charts • Pega Docker images: docker pull pega-docker.downloads.pega.com/platform/pega:<version>
  • 11. Installing Pega in K8s: who 11 • who will do the upgrade/install/deploy? • How often? • image vulnerabilities? • what is their level of knowledge with K8s, Pega, helm, docker?
  • 12. Installing Pega in K8s: how 12 • Helm Chart : https://github.com/pegasystems/pega-helm-charts But is helm the right tool for this? You can get the manifests out of the chart and deploy the yaml directly (Kustomize) Advantage: get rid of helm
  • 13. On Database 13 Are you also changing the database? • NO: • 1-on-1 migrationsis the simplestchoice(eg.Oracle-> Oracle, PostgreSQL -> PostgreSQL)
  • 14. On Database 14 Are you also changing the database? • YES • You need to research the migrationtools • Need to have peoplewho are familiarwith both DB's (source/target) and businesslogic • this can be a major pain • live or offlinemigration
  • 15. On customizing the Pega image 15 • Docker image can be customized • The base image is not open (Dockerfileis not available) • Changes are applied in config maps objects
  • 16. On customizing the Pega config maps 16 • What can be changed in config maps: • Prconfig.xml • Context.xml • Prlog4j2.xml • Pega uses dockerize inside the image to inject real values at run time into the templated files. • In the docker entry point scriptonly the above filesare templated
  • 17. On CI/CD 17 • Azure DevOps Pipelines is logical choice for deployments to AKS • There are predefinedtasks for deploymentsto k8s • other tools will work as well (Jenkins, ArgoCD, Flux, etc)
  • 19. On CI/CD 19 • Changing a config map will not redeploy a pod in Kubernetes • how to fix? • redeploy when needed: Kubectl rollout restart • helm annotationchecksum/config • kind: Deployment • spec: • template: • metadata: • annotations: • checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }} • [...] •
  • 20. Rollout strategies 20 • rolling Updates: • maxSurge: 25% • maxUnavailability:25%
  • 21. Speed up a restart 21 • tweak the readiness probes
  • 22. Debugging 22 • based on developer access • Kubectl + logs + MicrosoftCode(with K8s plugins)
  • 23. Thanks 23 • Learn K8s resources: • https://www.katacoda.com/courses/kubernetes • https://kubernetes.io/docs/tutorials/ • Pega architecture for K8s: https://community.pega.com/knowledgebase/articles/client- managed-cloud/83/understanding-pega-deployment-architecture