Amazon Web Services (AWS) established an open-source project for Infrastructure as Code (IaC) models geared toward making it easier for customers to configure and deploy consistent, batteries-included Amazon Elastic Kubernetes Services (Amazon EKS) clusters across accounts and regions. The project is called Amazon EKS Blueprints. Portworx recently contributed an add-on for Amazon EKS Blueprints that meets the unique demands of stateful application customers using Hashicorp Terraform.
Amazon EKS Blueprints helps you configure complete, fully bootstrapped Amazon EKS clusters with the operational software needed to deploy and operate workloads. You can describe the configuration for the desired state of your Amazon EKS cluster—such as the control plane, worker nodes, and Kubernetes add-ons—as an IaC blueprint. Once a blueprint is configured, you can use it to deploy consistent environments across multiple AWS accounts and regions using continuous deployment automation.
More information about the Amazon EKS Blueprints projects can be found at the following AWS blog.
Benefits of Amazon EKS Blueprints
Amazon EKS Blueprints provides benefits in three major categories. First, it allows customizable and extensible pre-packaged portfolios to deliver different needs from customers. Potentially, cost can be reduced by not only lowering the enterprise infrastructure expenditures, but also improving personnel and operational efficiencies from realizing the benefits of repeatable tasks. Second, having an automated one-click solution deployment can quickly and easily bring up new Amazon EKS clusters in a timely and efficient manner, many times across different environments and AWS accounts. Lastly, having a repeatable, auditable, and reliable deployment process can eliminate end user direct access to the Amazon EKS cluster to provision non-approved add-ons, which includes malicious actors trying to harm the infrastructure. Possible human error like typos and other misconfigurations during infrastructure deployment can be reduced.
With the above benefits, Amazon EKS Blueprints can be the key components to enabling enterprises to move to DevOps as part of their “shift left” journey. Operations become more involved earlier in the development process to provide developers with a consistent Amazon EKS cluster configuration that meets production deployment guidelines. On the other hand, developers become more familiar with the defined Amazon EKS cluster configuration standard and have a consistent deployment method to incorporate into their workflows. With Amazon EKS Blueprints, Amazon EKS cluster deployments can be easily integrated into the Continuous Integration/Continuous Delivery (CI/CD) pipeline such that developers and operations can use the same deployment mechanisms through the full DevOps lifecycle: from application development through production deployment.
Portworx Amazon EKS Blueprints Add-on
Portworx Enterprise Platform has been recognized as the leader in cloud-native Kubernetes data storage for 3 years in a row, as per GigaOM Radar Report 2022. The Portworx Enterprise Platform provides data management, disaster recovery, and data protection for the applications running on Amazon EKS clusters. With the Portworx Amazon EKS Blueprints add-on developers and operations will have access to the same data management capabilities across all Amazon EKS clusters created via continuous deployment.
Portworx Enterprise platform allows customers to be able to make use of the appropriate replication factors for the given stage in delivery. For example, in development the data does not need to be protected against failure and a replication factor of 1 is appropriate. In production, protection against failure needs to be accounted for and a replication factor of 3 may be more appropriate. In addition to right-sizing the data replication factor the same capabilities to set the io_profile for the application can be used so that performance can be tested earlier in development and have the same capabilities when deployed into production. Another important factor to consider when deploying Amazon EKS clusters with Portworx is high availability. In development a single Availability Zone (AZ) may be used to save on costs, but when deploying to production a multi-AZ deployment is critical to maintaining availability of the replicas in case of failure. These are just a few examples of how using the right data management platform through the entire lifecycle of application development are important.
The Portworx add-on for Amazon EKS Blueprints has been developed to give an example of how to deploy the following components, as needed:
- Amazon Virtual Private Cloud (Amazon VPC), which includes a private and public subnet, internet gateway, route table, network address translation (NAT) gateway, network interfaces, and network access control lists (ACL)
- Amazon EKS cluster
- Amazon EKS multi-node managed node groups
- AWS Identity and Access Management (IAM) policy that allows Portworx to create and manage Amazon Elastic Block Store (Amazon EBS) volumes
- Portworx Enterprise cluster, including the capability to utilize AWS Marketplace for licensing
Full documentation is available on the Portworx Documentation site which has detailed steps showcasing how to deploy all the above components.
The Portworx add-on for Amazon EKS Blueprints gives you the ability to bring up a repeatable, consistent, and batteries-included Amazon EKS cluster, helping you create an Amazon EKS cluster with a data management platform. The end result is a streamlined and standardized application lifecycle—from development, testing, user acceptance testing, and deployment into production—that will help you reduce your costs, increase your speeds, and reduce your risks.