Deploying in Managed Cloud

Abstract

Learn more about Managed Cloud container deployments.

Managed Cloud supports the use of GitOps: a way of implementing continuous deployment for cloud native applications. With GitOps, you must manage all deployments through a Git repository that controls the deployment. Each repository contains configuration elements for the repository and changes to the deployment must be made by changing the appropriate configuration files in the repository. The Git repositories enable greater reliability and additionally take advantage of Git’s capabilities to support team review and approval mechanisms through pull requests, and the ability to roll back changes to an earlier state in the deployment’s history.

You can also manually reconfigure non-production deployments using the Azure portal but changes are lost the next time the solution is redeployed. Manual changes are not captured in the configuration files.

Production deployments can only be customized by changing the configurations in two repositories:

Both repositories and pipelines are routinely used in the initial provisioning of the deployment by Sitecore.

The following diagram describes the key relationships between the infrastructure repository, the application repository, and many of the key elements of a typical Managed Cloud deployment:

MCC-deployment.png

The Infrastructure repository contains the configuration of infrastructure elements (including Frontdoor) for the deployment as a set of Terraform configuration files.

Infrastructure pipeline

The Infrastructure pipeline uses Terraform to read the configuration and synchronize every element of the deployment to match the settings in the configuration files. When the pipeline has run successfully, the Terraform state file is stored in an Azure Storage account.

Important

Do not delete the storage file or the storage account. The Terraform state file is used to lock the deployment when the Infrastructure pipeline is running, and is needed for Terraform deployments.

For more information about customizing, scaling, or tuning the existing infrastructure elements of the repository, see the topic Configure Managed Cloud .

Frontdoor pipeline

The Frontdoor pipeline deploys Terraform scripts to read the configuration and synchronize every element of the deployment to match the settings in the configuration files. When the pipeline has run successfully, the Frontdoor Terraform state file is stored in an Azure Storage account. After the Frontdoor configuration is updated, you must manually trigger the Frontdoor pipeline.

The Application repository contains the configuration of every container used in the deployment. The Application pipeline uses Ansible scripts to set up the AKS pods that contain each running container.

You must use the Application repository to customize your Sitecore solution and to customize your Managed Cloud instance. You must build customized containers with your application elements, upload them to the ACR, and change references to use your new customized images.

For more information about customizing, scaling, or tuning the existing Kubernetes pods running each container, see the topic Configure Managed Cloud .

For more information about building your custom solution and creating custom images, see the topic Build your solution from the DevEx Containers Documentation.

For more information about building a CI/CD pipeline to build and deploy your custom solution and images, see the topic Docker and Continuous Integration.