SlideShare a Scribd company logo
1 of 23
Download to read offline
Bart Plasmeijer / @bartplasmeijer
Software Architect @ Sitecore
November 2020
Sitecore on Containers
and AKS
© 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners.
Container based CI/CD Flow
Users
IDE
Source Control
Build / CI
Container Registry
Release / CD AKS
Base Images
Developers
Commit
Specs
Content
© 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners.
A standardized unit of software.
Develop
Ship
Run anywhere
What is a Container?
https://www.docker.com/resources/what-containers
“Package Software into Standardized
Units for Development, Shipment and
Deployment.”
© 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners.
Why Start Using Containers Now
5 Reasons You Need to Start Using Containers Now -- Virtualization Reviewhttps://kubernetes.io/docs
• TAKE 1 - They Are the Future
• TAKE 2 - They Are Secure
• TAKE 3 - A Plethora of Tools
• TAKE 4 - CI/CD is an Advantageous Process
• TAKE 5 - Containers have evolved and developed to the point where
you can safely place your bets on their technology and tools. …
© 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners.
“Kubernetes is a portable, extensible, open-source platform for managing
containerized workloads and services, that facilitates both declarative
configuration and automation. It has a large, rapidly growing ecosystem.
Kubernetes services, support, and tools are widely available.”
What is Kubernetes (K8s)
https://kubernetes.io/docs
© 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners.
Why do you need K8s?
• Service discovery and load balancing
• Storage orchestration
• Automated rollouts and rollbacks
• Self-healing
• Secret and configuration management
© 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners.
What is Azure Kubernetes Service (AKS)?
AKS: Microsoft's managed Kubernetes service
• No charge for Control Plane
• Azure VMs for nodes (Linux or Windows)
• Backed by Azure Networking
© 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners.
Do I need to learn K8s?
https://azure.microsoft.com/en-us/product-categories/containers/
© 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners.
Do I need to learn K8s?
https://azure.microsoft.com/en-us/product-categories/containers/
© 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners.
Do I need to learn K8s?
https://azure.microsoft.com/en-us/product-categories/containers/
© 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners.
Cluster
Node
K8s Concepts
Pod Pod
Cluster
A cluster is the Kubernetes
foundation. All the Kubernetes
objects that represent your
containerized applications all run on
top of a cluster.
Node
Pod Pod
© 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners.
Node
K8s Concepts
Pod
Node
A Node is a worker machine
in Kubernetes and may be either a
virtual or a physical machine,
depending on the cluster.
Container
Container
Pod
Container
Container
© 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners.
K8s Concepts
Pod
Pod
A Pod is the smallest and simplest unit in
the Kubernetes object model. One or
multiple containers that are working
closely together are bundled in a Pod
together.
Container Container
Container Container
© 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners.
K8s Concepts
Deployment
A Deployment represents a desired
state for one or more pods.
Pod
Container
Container
Pod
Container
Container
Pod
Container
Container
Deployment
“I want three pods running my application”
© 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners.
K8s Concepts
Container
A container image is a ready-to-run
software package, containing
everything needed to run an
application.
Container
Application
Dependencies / Libraries
Configuration
Other requirements
https://containers.doc.sitecore.com/docs/intro
© 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners.
NodeNode
Service
K8s Concepts
Pod PodPod Pod
Service
A Service provides an abstract way
to expose an application running on
a set of Pods as a network service.
© 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners.
K8s Concepts
Ingress
An API object that manages
external access to the services in a
cluster, typically HTTP.
NodeNode
Service
Pod PodPod Pod
Service
© 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners.
Namespace
Namespace
K8s Concepts
Namespace
A namespace is used to group
related resources within a cluster.
Node
Pod Pod
Service
Node
Pod Pod
Service
Node
Pod Pod
Node
Pod Pod
Service
© 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners.
Secrets
• Kubernetes Secrets let you store and
manage sensitive information, such as:
• Passwords
• OAuth tokens
• SSH keys
• Storing confidential information in a
Secret is safer and more flexible than
storing it directly in a Container Image.
© 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners.
Content Deployment
• Content deserialization provided
by new Sitecore serialization
framework
• Commands issued via new
Sitecore Command Line
Interface (CLI)
• Authentication handled via
Client secret configured with
Identity Server
© 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners.
Automating our Deployment
• Create Namespace
• Deploy External Specifications
• Deploy Init Specifications
• Deploy Application Specifications
• Patch IP restrictions
• Patch Container Versions
• Install Sitecore CLI
• Authenticate with ID
• Deserialize Content
• Publish Content
© 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners.
- Don’t store secrets in your repository
- Use CI variables to populate K8s Secrets
- Use K8s namespaces to group resources
- Plan how to setup your Data Storage roles in production
• SQL, Solr, Redis
- Automate your content deployments as you would with traditional
automated deployments
- For true High Availability plan for multiple AKS clusters in different
regions
Tips & Tricks
Thank you
FOR DISCUSSION PURPOSES ONLY.
Sitecore Confidential and Proprietary. ©2020 Sitecore Corporation
A/S. Sitecore® and Own the Experience® are registered trademarks
of Sitecore Corporation A/S. All other brand names are the property
of their respective owners.
Thank you

More Related Content

What's hot

What do you mean by “API as a Product”?
What do you mean by “API as a Product”?What do you mean by “API as a Product”?
What do you mean by “API as a Product”?Nordic APIs
 
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...Sonatype
 
How to Build an Effective API Security Strategy
How to Build an Effective API Security StrategyHow to Build an Effective API Security Strategy
How to Build an Effective API Security StrategyNordic APIs
 
Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...
Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...
Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...Angel Alberici
 
Introduction To Agile
Introduction To AgileIntroduction To Agile
Introduction To AgileKnoldus Inc.
 
Software Development Standard Operating Procedure
Software Development Standard Operating Procedure Software Development Standard Operating Procedure
Software Development Standard Operating Procedure rupeshchanchal
 
Transforming Organizations with CI/CD
Transforming Organizations with CI/CDTransforming Organizations with CI/CD
Transforming Organizations with CI/CDCprime
 
Agile Transformation - Cultural and Behavioral Challenges
Agile Transformation - Cultural and Behavioral ChallengesAgile Transformation - Cultural and Behavioral Challenges
Agile Transformation - Cultural and Behavioral ChallengesSesh Veeraraghavan
 
Scrum - Product Owner
Scrum - Product OwnerScrum - Product Owner
Scrum - Product OwnerMárcio Oya
 
The Architecture of an API Platform
The Architecture of an API PlatformThe Architecture of an API Platform
The Architecture of an API PlatformJohannes Ridderstedt
 
Agile project kick off from the trenches
Agile project kick off from the trenchesAgile project kick off from the trenches
Agile project kick off from the trenchesGeorge Stamos
 
Agile Contracts by Drew Jemilo (Agile2015)
Agile Contracts by Drew Jemilo (Agile2015)Agile Contracts by Drew Jemilo (Agile2015)
Agile Contracts by Drew Jemilo (Agile2015)Drew Jemilo
 
Platform Engineering
Platform EngineeringPlatform Engineering
Platform EngineeringOpsta
 
Project Deliverables Powerpoint Presentation Slides
Project Deliverables Powerpoint Presentation SlidesProject Deliverables Powerpoint Presentation Slides
Project Deliverables Powerpoint Presentation SlidesSlideTeam
 
Platform Engineering - a 360 degree view
Platform Engineering - a 360 degree viewPlatform Engineering - a 360 degree view
Platform Engineering - a 360 degree viewGiulio Roggero
 
Agile Product Manager/Product Owner Dilemma (PMEC)
Agile Product Manager/Product Owner Dilemma (PMEC)Agile Product Manager/Product Owner Dilemma (PMEC)
Agile Product Manager/Product Owner Dilemma (PMEC)Enthiosys Inc
 

What's hot (20)

What do you mean by “API as a Product”?
What do you mean by “API as a Product”?What do you mean by “API as a Product”?
What do you mean by “API as a Product”?
 
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
 
How to Build an Effective API Security Strategy
How to Build an Effective API Security StrategyHow to Build an Effective API Security Strategy
How to Build an Effective API Security Strategy
 
Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...
Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...
Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...
 
Introduction to Agile and Scrum
Introduction to Agile and ScrumIntroduction to Agile and Scrum
Introduction to Agile and Scrum
 
Introduction To Agile
Introduction To AgileIntroduction To Agile
Introduction To Agile
 
Software Development Standard Operating Procedure
Software Development Standard Operating Procedure Software Development Standard Operating Procedure
Software Development Standard Operating Procedure
 
Transforming Organizations with CI/CD
Transforming Organizations with CI/CDTransforming Organizations with CI/CD
Transforming Organizations with CI/CD
 
Api design best practice
Api design best practiceApi design best practice
Api design best practice
 
Agile Transformation - Cultural and Behavioral Challenges
Agile Transformation - Cultural and Behavioral ChallengesAgile Transformation - Cultural and Behavioral Challenges
Agile Transformation - Cultural and Behavioral Challenges
 
Scrum - Product Owner
Scrum - Product OwnerScrum - Product Owner
Scrum - Product Owner
 
The Architecture of an API Platform
The Architecture of an API PlatformThe Architecture of an API Platform
The Architecture of an API Platform
 
Agile project kick off from the trenches
Agile project kick off from the trenchesAgile project kick off from the trenches
Agile project kick off from the trenches
 
Headless CMS
Headless CMSHeadless CMS
Headless CMS
 
Agile Contracts by Drew Jemilo (Agile2015)
Agile Contracts by Drew Jemilo (Agile2015)Agile Contracts by Drew Jemilo (Agile2015)
Agile Contracts by Drew Jemilo (Agile2015)
 
Platform Engineering
Platform EngineeringPlatform Engineering
Platform Engineering
 
Project Deliverables Powerpoint Presentation Slides
Project Deliverables Powerpoint Presentation SlidesProject Deliverables Powerpoint Presentation Slides
Project Deliverables Powerpoint Presentation Slides
 
Introducing DevOps
Introducing DevOpsIntroducing DevOps
Introducing DevOps
 
Platform Engineering - a 360 degree view
Platform Engineering - a 360 degree viewPlatform Engineering - a 360 degree view
Platform Engineering - a 360 degree view
 
Agile Product Manager/Product Owner Dilemma (PMEC)
Agile Product Manager/Product Owner Dilemma (PMEC)Agile Product Manager/Product Owner Dilemma (PMEC)
Agile Product Manager/Product Owner Dilemma (PMEC)
 

Similar to Sitecore on containers and AKS

Sitecore User Group - JSS & GraphQL
Sitecore User Group - JSS & GraphQLSitecore User Group - JSS & GraphQL
Sitecore User Group - JSS & GraphQLThom Puiman
 
Sitecore loves containers
Sitecore loves containersSitecore loves containers
Sitecore loves containersBart Plasmeijer
 
Managing containers on Oracle Cloud by Jamal Arif
Managing containers on Oracle Cloud by Jamal ArifManaging containers on Oracle Cloud by Jamal Arif
Managing containers on Oracle Cloud by Jamal ArifOracle Developers
 
Gabriele Provinciali/Gabriele Folchi/Luca Postacchini - Sviluppo con piattafo...
Gabriele Provinciali/Gabriele Folchi/Luca Postacchini - Sviluppo con piattafo...Gabriele Provinciali/Gabriele Folchi/Luca Postacchini - Sviluppo con piattafo...
Gabriele Provinciali/Gabriele Folchi/Luca Postacchini - Sviluppo con piattafo...Codemotion
 
Overpowered Kubernetes: CI/CD for K8s on Enterprise IaaS
Overpowered Kubernetes: CI/CD for K8s on Enterprise IaaSOverpowered Kubernetes: CI/CD for K8s on Enterprise IaaS
Overpowered Kubernetes: CI/CD for K8s on Enterprise IaaSJ On The Beach
 
Building and Deploying Cloud Native Applications
Building and Deploying Cloud Native ApplicationsBuilding and Deploying Cloud Native Applications
Building and Deploying Cloud Native ApplicationsManish Kapur
 
Cloud Native Meetup Santa Clara 07-11-2019 by Manish Kapur
Cloud Native Meetup Santa Clara 07-11-2019 by Manish KapurCloud Native Meetup Santa Clara 07-11-2019 by Manish Kapur
Cloud Native Meetup Santa Clara 07-11-2019 by Manish KapurOracle Developers
 
20191201 kubernetes managed weblogic revival - part 2
20191201 kubernetes managed weblogic revival - part 220191201 kubernetes managed weblogic revival - part 2
20191201 kubernetes managed weblogic revival - part 2makker_nl
 
The Kubernetes WebLogic revival (part 2)
The Kubernetes WebLogic revival (part 2)The Kubernetes WebLogic revival (part 2)
The Kubernetes WebLogic revival (part 2)Simon Haslam
 
world's fastest delivery pipeline for Sitecore on Azure
world's fastest delivery pipeline for Sitecore on Azureworld's fastest delivery pipeline for Sitecore on Azure
world's fastest delivery pipeline for Sitecore on AzureBas Lijten
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architectureDaniel Foo
 
Sitecore Install Extensions in Action
Sitecore Install Extensions in ActionSitecore Install Extensions in Action
Sitecore Install Extensions in ActionRobert Senktas
 
Vishwakarma: Terraform modules for deploying EKS and Self-hosting Kubernetes
Vishwakarma: Terraform modules for deploying EKS and Self-hosting KubernetesVishwakarma: Terraform modules for deploying EKS and Self-hosting Kubernetes
Vishwakarma: Terraform modules for deploying EKS and Self-hosting KubernetesAmazon Web Services
 
Running Kubernetes Workloads on Oracle Cloud Infrastructure
Running Kubernetes Workloads on Oracle Cloud InfrastructureRunning Kubernetes Workloads on Oracle Cloud Infrastructure
Running Kubernetes Workloads on Oracle Cloud InfrastructureOracle Developers
 
Microservices and Container
Microservices and ContainerMicroservices and Container
Microservices and ContainerWolfgang Weigend
 
Oracle SOA Suite Everywhere
Oracle SOA Suite EverywhereOracle SOA Suite Everywhere
Oracle SOA Suite EverywhereRupesh Das
 
Get the Exact Identity Solution You Need - In the Cloud - Overview
Get the Exact Identity Solution You Need - In the Cloud - OverviewGet the Exact Identity Solution You Need - In the Cloud - Overview
Get the Exact Identity Solution You Need - In the Cloud - OverviewForgeRock
 
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019AWS Summits
 
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019Amazon Web Services
 

Similar to Sitecore on containers and AKS (20)

Sitecore User Group - JSS & GraphQL
Sitecore User Group - JSS & GraphQLSitecore User Group - JSS & GraphQL
Sitecore User Group - JSS & GraphQL
 
Sitecore loves containers
Sitecore loves containersSitecore loves containers
Sitecore loves containers
 
Managing containers on Oracle Cloud by Jamal Arif
Managing containers on Oracle Cloud by Jamal ArifManaging containers on Oracle Cloud by Jamal Arif
Managing containers on Oracle Cloud by Jamal Arif
 
Gabriele Provinciali/Gabriele Folchi/Luca Postacchini - Sviluppo con piattafo...
Gabriele Provinciali/Gabriele Folchi/Luca Postacchini - Sviluppo con piattafo...Gabriele Provinciali/Gabriele Folchi/Luca Postacchini - Sviluppo con piattafo...
Gabriele Provinciali/Gabriele Folchi/Luca Postacchini - Sviluppo con piattafo...
 
Overpowered Kubernetes: CI/CD for K8s on Enterprise IaaS
Overpowered Kubernetes: CI/CD for K8s on Enterprise IaaSOverpowered Kubernetes: CI/CD for K8s on Enterprise IaaS
Overpowered Kubernetes: CI/CD for K8s on Enterprise IaaS
 
Building and Deploying Cloud Native Applications
Building and Deploying Cloud Native ApplicationsBuilding and Deploying Cloud Native Applications
Building and Deploying Cloud Native Applications
 
Cloud Native Meetup Santa Clara 07-11-2019 by Manish Kapur
Cloud Native Meetup Santa Clara 07-11-2019 by Manish KapurCloud Native Meetup Santa Clara 07-11-2019 by Manish Kapur
Cloud Native Meetup Santa Clara 07-11-2019 by Manish Kapur
 
20191201 kubernetes managed weblogic revival - part 2
20191201 kubernetes managed weblogic revival - part 220191201 kubernetes managed weblogic revival - part 2
20191201 kubernetes managed weblogic revival - part 2
 
JAMStack
JAMStackJAMStack
JAMStack
 
The Kubernetes WebLogic revival (part 2)
The Kubernetes WebLogic revival (part 2)The Kubernetes WebLogic revival (part 2)
The Kubernetes WebLogic revival (part 2)
 
world's fastest delivery pipeline for Sitecore on Azure
world's fastest delivery pipeline for Sitecore on Azureworld's fastest delivery pipeline for Sitecore on Azure
world's fastest delivery pipeline for Sitecore on Azure
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
 
Sitecore Install Extensions in Action
Sitecore Install Extensions in ActionSitecore Install Extensions in Action
Sitecore Install Extensions in Action
 
Vishwakarma: Terraform modules for deploying EKS and Self-hosting Kubernetes
Vishwakarma: Terraform modules for deploying EKS and Self-hosting KubernetesVishwakarma: Terraform modules for deploying EKS and Self-hosting Kubernetes
Vishwakarma: Terraform modules for deploying EKS and Self-hosting Kubernetes
 
Running Kubernetes Workloads on Oracle Cloud Infrastructure
Running Kubernetes Workloads on Oracle Cloud InfrastructureRunning Kubernetes Workloads on Oracle Cloud Infrastructure
Running Kubernetes Workloads on Oracle Cloud Infrastructure
 
Microservices and Container
Microservices and ContainerMicroservices and Container
Microservices and Container
 
Oracle SOA Suite Everywhere
Oracle SOA Suite EverywhereOracle SOA Suite Everywhere
Oracle SOA Suite Everywhere
 
Get the Exact Identity Solution You Need - In the Cloud - Overview
Get the Exact Identity Solution You Need - In the Cloud - OverviewGet the Exact Identity Solution You Need - In the Cloud - Overview
Get the Exact Identity Solution You Need - In the Cloud - Overview
 
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
 
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
 

Recently uploaded

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 

Recently uploaded (20)

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 

Sitecore on containers and AKS

  • 1. Bart Plasmeijer / @bartplasmeijer Software Architect @ Sitecore November 2020 Sitecore on Containers and AKS
  • 2. © 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. Container based CI/CD Flow Users IDE Source Control Build / CI Container Registry Release / CD AKS Base Images Developers Commit Specs Content
  • 3. © 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. A standardized unit of software. Develop Ship Run anywhere What is a Container? https://www.docker.com/resources/what-containers “Package Software into Standardized Units for Development, Shipment and Deployment.”
  • 4. © 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. Why Start Using Containers Now 5 Reasons You Need to Start Using Containers Now -- Virtualization Reviewhttps://kubernetes.io/docs • TAKE 1 - They Are the Future • TAKE 2 - They Are Secure • TAKE 3 - A Plethora of Tools • TAKE 4 - CI/CD is an Advantageous Process • TAKE 5 - Containers have evolved and developed to the point where you can safely place your bets on their technology and tools. …
  • 5. © 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. “Kubernetes is a portable, extensible, open-source platform for managing containerized workloads and services, that facilitates both declarative configuration and automation. It has a large, rapidly growing ecosystem. Kubernetes services, support, and tools are widely available.” What is Kubernetes (K8s) https://kubernetes.io/docs
  • 6. © 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. Why do you need K8s? • Service discovery and load balancing • Storage orchestration • Automated rollouts and rollbacks • Self-healing • Secret and configuration management
  • 7. © 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. What is Azure Kubernetes Service (AKS)? AKS: Microsoft's managed Kubernetes service • No charge for Control Plane • Azure VMs for nodes (Linux or Windows) • Backed by Azure Networking
  • 8. © 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. Do I need to learn K8s? https://azure.microsoft.com/en-us/product-categories/containers/
  • 9. © 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. Do I need to learn K8s? https://azure.microsoft.com/en-us/product-categories/containers/
  • 10. © 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. Do I need to learn K8s? https://azure.microsoft.com/en-us/product-categories/containers/
  • 11. © 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. Cluster Node K8s Concepts Pod Pod Cluster A cluster is the Kubernetes foundation. All the Kubernetes objects that represent your containerized applications all run on top of a cluster. Node Pod Pod
  • 12. © 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. Node K8s Concepts Pod Node A Node is a worker machine in Kubernetes and may be either a virtual or a physical machine, depending on the cluster. Container Container Pod Container Container
  • 13. © 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. K8s Concepts Pod Pod A Pod is the smallest and simplest unit in the Kubernetes object model. One or multiple containers that are working closely together are bundled in a Pod together. Container Container Container Container
  • 14. © 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. K8s Concepts Deployment A Deployment represents a desired state for one or more pods. Pod Container Container Pod Container Container Pod Container Container Deployment “I want three pods running my application”
  • 15. © 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. K8s Concepts Container A container image is a ready-to-run software package, containing everything needed to run an application. Container Application Dependencies / Libraries Configuration Other requirements https://containers.doc.sitecore.com/docs/intro
  • 16. © 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. NodeNode Service K8s Concepts Pod PodPod Pod Service A Service provides an abstract way to expose an application running on a set of Pods as a network service.
  • 17. © 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. K8s Concepts Ingress An API object that manages external access to the services in a cluster, typically HTTP. NodeNode Service Pod PodPod Pod Service
  • 18. © 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. Namespace Namespace K8s Concepts Namespace A namespace is used to group related resources within a cluster. Node Pod Pod Service Node Pod Pod Service Node Pod Pod Node Pod Pod Service
  • 19. © 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. Secrets • Kubernetes Secrets let you store and manage sensitive information, such as: • Passwords • OAuth tokens • SSH keys • Storing confidential information in a Secret is safer and more flexible than storing it directly in a Container Image.
  • 20. © 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. Content Deployment • Content deserialization provided by new Sitecore serialization framework • Commands issued via new Sitecore Command Line Interface (CLI) • Authentication handled via Client secret configured with Identity Server
  • 21. © 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. Automating our Deployment • Create Namespace • Deploy External Specifications • Deploy Init Specifications • Deploy Application Specifications • Patch IP restrictions • Patch Container Versions • Install Sitecore CLI • Authenticate with ID • Deserialize Content • Publish Content
  • 22. © 2001-2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. - Don’t store secrets in your repository - Use CI variables to populate K8s Secrets - Use K8s namespaces to group resources - Plan how to setup your Data Storage roles in production • SQL, Solr, Redis - Automate your content deployments as you would with traditional automated deployments - For true High Availability plan for multiple AKS clusters in different regions Tips & Tricks
  • 23. Thank you FOR DISCUSSION PURPOSES ONLY. Sitecore Confidential and Proprietary. ©2020 Sitecore Corporation A/S. Sitecore® and Own the Experience® are registered trademarks of Sitecore Corporation A/S. All other brand names are the property of their respective owners. Thank you