What does Amazon EKS and swimming have in common? Let me simplify that. When did you learn to swim? (I know what does swimming have to do with containers/Amazon EKS? Stay with me for a minute.) I learned how to swim with my cousins when I was 9 years old. When I went to deeper waters of the pool by myself, I felt I was invincible. A couple of days later my cousins and I went swimming in a pond, and I was surprised by how different it was compared to the pool. In less than 30 seconds I was choking and finding it difficult to stay afloat, and thankfully one of the boys pushed me towards the shallow end. Lesson: Take your time to learn before you leap.
(PS: In case you missed, Amazon announced the general availability of Amazon EKS today!)
A lot of organizations are either entering the world of containers or are seriously thinking about it. It’s even more compelling when your peers or analysts mention containers as the next thing. But many organizations are unsure of where to start: do we run our own orchestrator or use a managed offering? Where should we host our clusters, in the cloud or in the data center? Let’s stick to the ‘shallow end’ of containers in this post and discuss the leading solutions for hosted container offerings. Here are six solutions you can use as the diving board into the container pool:
1.Mesosphere
Mesosphere is by far one of the oldest hosted container management platforms. It has been used for various workloads like machine learning, containers, big data, and legacy workloads. Originally the company only offered Mesos-based services, but they have recently added Kubernetes into the fold as well. General use cases include burstable workloads and disaster recovery across various locations.
2.Amazon Elastic Container Service (ECS)
This is developed by Amazon for containers running on Amazon Web Services. The main advantages of using this is that customers can leverage other AWS services and ease of management along with ECS. No wonder it is highly adopted by customers who already are using EC2 instances. It is free to use and customers are charged for underlying EC2 resources. A great value-add for AWS customers.
3.Amazon Elastic Container Service for Kubernetes (EKS)
First announced at re:Invent and then made generally available this week, EKS is a managed service that allows AWS customers to run Kubernetes without any support requirements for installing and operating Kubernetes clusters. This helps the customers move up the stack in terms of focus since AWS manages everything under the Kubernetes cluster. In other words, the upgrades, patching, and high availability would be addressed by the AWS teams.
4.AWS Fargate
There’s another offering from Amazon Web Services that is widely explored by customers: Amazon Fargate. This is a serverless container execution solution which means customers do not even have to choose server types, cluster scaling or optimization of clusters. All of that is done by AWS Fargate based on the application requirements. This truly transforms the life of a developer since once they package the application and define few basic criteria like CPU and memory they can just push the application without worrying about the infrastructure at all. Once provisioned AWS Fargate will scale up or scale down the required resources. (Fargate is still in preview mode for Amazon EKS customers and generally available for Amazon ECS customers.)
5.Pivotal Container Services (PKS)
Sometimes the best products are a result of a collaboration. PKS was a joint effort between Pivotal Software, VMware, and Google to resolve provisioning, management, and operations for Kubernetes clusters. This solution is used for data centers based on VMware vSphere or for Google Cloud Platform. PKS works very well with Pivotal Cloud Foundry (PaaS solution), Pivotal Application Service (PAS) for traditional PaaS, and Pivotal Function Service for function PaaS. This unique offering allows customers to leverage a cloud-native platform and container management. I would say this is not a very generic offering but very good if your use cases align well.
6.OpenShift
Red Hat came out with OpenShift, a container management platform supporting scheduling and orchestration of Kubernetes, early in 2011. This managed service works in both public clouds and data centers. Further, through the acquisition of CoreOS Red Hat integrated Tectonic (Kubernetes management platform), Quay (container registry engine), and some other open source products like rkt (container engine). Red Hat is here to stay in the container space and everyone is curiously watching their next steps. It has also forged key partnerships with some big players in this space to strengthen the existing enterprise relations.
Containers are enabling developers to be more productive and speed up delivery of new apps and features. Most organizations are supportive and are working towards the next step. On this journey, it is important to start small and scale as you gain more confidence, transforming your development cycle. Are you ready for this transformation?