Introduction to CloudOps for Kubernetes
CloudOps for Kubernetes is an infrastructure-as-code asset available to Self Managed Commerce customers to assist with Self Managed Commerce infrastructure development and deployment.
With CloudOps for Kubernetes you receive
- A solution that provides several options and alternatives for deploying and configuring Self Managed Commerce infrastructure.
- A solution that takes time and effort to evaluate, understand, customize and operate.
- A solution with technical architecture and technology choices that are suitable for many Self Managed Commerce customers.
- A solution with infrastructure source code that you can extend and modify to meet your unique requirements.
Other Infrastructure Options
CloudOps for Kubernetes is not the only option available for deploying Self Managed Commerce infrastructure. For more information about the available options, see the Self Managed Commerce Deployment Solutions documentation.
Evaluating CloudOps for Kubernetes
The CloudOps for Kubernetes asset is complex and deploys a wide variety of AWS cloud and Kubernetes infrastructure in a prescriptive way. Evaluate the following before using CloudOps for Kubernetes:
- The technology choices, design decisions and capabilities of CloudOps for Kubernetes.
- The technical architecture of the infrastructure that is provisioned by CloudOps for Kubernetes.
- The alignment of the technology choices and architecture to your available skills, corporate technology standards, and other infrastructure requirements.
- The effort and skills required to modify the asset to meet any custom requirements.
- The effort and skills required to deploy and configure the infrastructure.
- The effort and skills required to maintain and operate the infrastructure.
- The effort and skills required to understand, operate and maintain the build infrastructure and the continuous integration (CI) and code promotion jobs.
important
When a Self Managed Commerce customer chooses to use the CloudOps for Kubernetes asset to build and deploy their Self Managed Commerce solution they take on the following responsibilities:
- Be accountable and responsible for the ongoing health, operation and maintenance of all components and services deployed through the use of CloudOps for Kubernetes.
- Understand and troubleshoot the Infrastructure-As-Code technologies used in CloudOps for Kubernetes, such as Terraform, Docker, Helm and eksctl.
- Understand the technical architecture of the infrastructure that is provisioned by CloudOps for Kubernetes.
- Maintain the knowledge and skills necessary to navigate, troubleshoot and operate the cloud infrastructure technologies. These are provisioned and deployed by CloudOps for Kubernetes, such as Amazon EKS and Amazon Aurora, and Kubernetes and Cloud-Native technologies.
- Understand the CloudOps for Kubernetes Support Lifecycle.
Customizing CloudOps for Kubernetes
Elastic Path does not intend or expect that CloudOps for Kubernetes will fulfill all requirements for every customer or meet the needs of all Self Managed Commerce customers. Customers who choose to use CloudOps for Kubernetes as the basis for their infrastructure development often extend or customize it to meet their unique goals and requirements. Self Managed Commerce customers can extend or customize the CloudOps for Kubernetes code, creating a fork of the CloudOps for Kubernetes code.
important
When you fork the CloudOps for Kubernetes code, you are responsible to:
- Ensure the proper design, implementation and functionality of modifications and extensions.
- Troubleshoot and resolve any issues with Self Managed Commerce or CloudOps for Kuberernetes resulting from the modifications and extensions.
- Maintain and update the fork of the CloudOps for Kubernetes code by implementing code fixes and merging CloudOps for Kubernetes updates provided by Elastic Path.
Infrastructure
The infrastructure deployed by CloudOps for Kubernetes includes the following items:
- A managed Amazon Elastic Kubernetes Service (EKS) cluster in its own Amazon Virtual Private Cloud (VPC).
- Kubernetes services for ingress control, cluster autoscaling, and pod autoscaling.
- A Jenkins server and other build infrastructure, running in the Kubernetes cluster.
- Jenkins pipeline jobs for building, testing and publishing Self Managed Commerce artifacts, including Self Managed Commerce docker images.
- Jenkins pipeline jobs for deploying and managing Self Managed Commerce services in the Kubernetes cluster, and the cloud resources required by the Self Managed Commerce services.
- The option to deploy and Prometheus and Grafana for additional metrics and insight.
CloudOps for Kubernetes uses technology that is common in Kubernetes and cloud infrastrucutre development, such as Terraform and Helm. The VPC and EKS cluster are deployed with a command line tool called eksctl
and all Self Managed Commerce services are deployed and managed by Terraform. The provided Jenkins jobs enable DevOps engineers to quickly build, configure and deploy Self Managed Commerce services.
Given the broad adoption and standardization on Kubernetes for containerized workloads, CloudOps for Kubernetes provides an approach that many DevOps engineers are comfortable with and can customize to adapt to their needs.
Build, Test and Continuous Integration
Self Managed Commerce is provided as source code. Self Managed Commerce customers regularly extend and customize that source code to meet their unique and evolving business requirements. Self Managed Commerce projects are software development projects requiring software build and integration tools. CloudOps for Kubernetes provides tooling and includes Jenkins pipelines for continuous integration (CI), promotion and deployment of Self Managed Commerce code changes.
With the Jenkins server included in CloudOps for Kubernetes, you can:
- Run various types of software tests to validate your Self Managed Commerce source code customizations.
- Perform development and integration builds.
- Build Docker images from Self Managed Commerce source code and push the images into the Amazon ECR (Elastic Container Registry) docker-registry service.
- Promote Self Managed Commerce Docker images from one account to the other.
Deployment Features
In addition to allowing you to build and validate your Self Managed Commerce code changes, CloudOps for Kubernetes includes Jenkins jobs to provision and manage the Self Managed Commerce environments. Those Jenkins jobs use Terraform to:
- Provision and manage the cloud services required by Self Managed Commerce environments.
- Provision and manage Self Managed Commerce databases.
- For development, test, and production-like environments, you can deploy, update and manage Self Managed Commerce Kubernetes services.
Review the Architecture section for an overview of the architecture of Elastic Path environments deployed and managed with CloudOps of Kubernetes.
Review the Build Infrastructure section for an overview of the build services deployed as part of CloudOps of Kubernetes.