As many organizations have grown their cloud applications, they have found a need to scale their environments quickly in response to increased demand by their customer base. Several software offerings in the market have attempted to address this by offering container orchestration services which work by managing infrastructure and container deployments when certain thresholds have been met. None have been adopted so quickly or have been so popular than the open-sourced container orchestration tool Kubernetes.
Created in 2014 by Google resources, the tool gained a rapid following and has been popular in large part to how well it works in conjunction with Docker. Because of its open-sourced nature, many companies have leveraged Kubernetes in their AWS environments because of its ability to scale out quickly. However, because of its third-party status, configuring and managing Kubernetes in AWS has been an activity that takes place outside of AWS.
With the recent introduction of a managed and elastic version of Kubernetes in AWS in June 2018, this integration allows for a more coupled experience when auto-scaling infrastructure and container orchestration efforts.
The Challenge – Implementing Containers
One of the recent clients of ClearScale needed to build out a more robust and scalable solution for its service. The client was already an AWS customer and had deployed their product on AWS Elastic Beanstalk. Unfortunately, that implementation was causing issues not only with their inability to scale up their solution quickly to meet the increasing demands from their customer base, but they struggled to find a way to quickly release updates.
With increased demand year over year for their solution, the long deployment times were impacting their ability to deliver. They knew they needed to implement a containerized solution and approached ClearScale to see how they could execute this vision and adopt a more streamlined Continuous Integration/Continuous Deployment (CI/CD) model and allow them to realize a Blue/Green deployment model.
The Solution – Amazon EKS
As luck would have it, around the same time as the client engaged with ClearScale, AWS was launching their Elastic Kubernetes Service (EKS) in response to a community need to have a tightly coupled Kubernetes solution in AWS. With EKS, Amazon has integrated Kubernetes directly into the AWS ecosystem, thus allowing for a fully managed solution that is scalable, secure, and highly available out-of-the-box. Because of the nature of how Amazon has encapsulated Kubernetes into its own AWS service, the overhead inherent to a third-party Kubernetes deployment in AWS is now absent; this allows EKS to be leveraged with minimal configuration effort so that clients can utilize it quickly.
Moreover, any client of AWS that already has a Kubernetes deployment within AWS can easily migrate into AWS EKS, including any existing tooling or plugins. EKS already is built to operate across multiple AWS Availability Zones and can automatically detect and replace any unhealthy control nodes. EKS is also highly secure and automatically sets up any necessary secure or encrypted communication channels that are needed. Because of how EKS was developed, any client can create microservice applications with deep ties to other AWS Services while inheriting the robust and scalable qualities that Kubernetes provides. Finally, any other Kubernetes deployments that clients have inside or outside of AWS are easily compatible with AWS EKS, thereby allowing for a more robust hybrid container deployment.
By leveraging this new AWS Service, ClearScale was able to quickly demonstrate the effectiveness of EKS for the client. By moving away from AWS Elastic Beanstalk and onto AWS EKS, the client saw immediate results in their deployment time. This allowed them to realize and adopt a true Blue/Green deployment model and, in turn, made the deployments more predictable and reliable.
Testing of the deployment can now be done in reasonable time frames prior to switching the active instance of the application from the older version to the newly deployed version. The end result is that the overall user experience for those leveraging the client’s service has improved significantly and the reliability of the service is something the customer base can count on.
In the relatively short window of time between when the new AWS service was launched to when ClearScale was able to implement a client on the newly-minted service, ClearScale has demonstrated again that viable, scalable, and reliable solutions can be developed and brought to market regardless of the complexity. ClearScale resources were able to quickly ascertain the effectiveness of AWS EKS, and design and implement a solution that was a positive outcome for the client’s immediate and long-term needs. Partnering with ClearScale means that the solutions that are delivered are built to address any type of requirement or need.