Exploring Managed Kubernetes Services In The Ecosystem

Kubernetes is the portable, extensible solution that is open-sourced and supports building and deploying cloud-native apps with complete orchestration. It is often the right choice to deploy containers on the public cloud via Kubernetes and manage containerized workloads and services through declarative configuration and automation.

List of Providers

  1. Amazon EKS: Amazon has its own managed Kubernetes platform called Amazon Elastic Container for Kubernetes. It can be deployed on AWS Marketplace, currently having about 150+ Kubernetes apps. Moreover, it doesn't require installing and operating a Kubernetes control plane or worker nodes to run.
  2. DigitalOcean: When running and scaling distributed applications, AI & machine learning workloads, hosted services, client websites, or CI/CD environments, DigitalOcean sweeps off as the first choice of many for its intuitive control panel, predictable pricing, team accounts, and more. 
  3. Azure Kubernetes Service (AKS): In 2017, Microsoft came up with its own fully managed container orchestration service Azure Kubernetes Service and Microsoft Azure has a dedicated AKS section
  4. OpenShift: Our go-to container platform - OpenShift - is a family of containerization software developed by RedHat. Its automated installation, upgrades, and lifecycle management throughout the container stack help application developers build with speed, agility, confidence, and choice. 
  5. IBM Cloud Kubernetes Service: A managed offering built for creating a Kubernetes cluster of compute hosts, IBM Cloud® Kubernetes Service provides intelligent scheduling, self-healing, horizontal scaling, and more.
  6. VMware Cloud PKS: Supporting application modernization, VMware brings global visibility, scalable operations, and consistent policy management to your modern apps by centralizing Kubernetes across teams and clouds.
  7. Oracle’s Container Engine: Container Engine for Kubernetes (OKE) is an Oracle-managed container orchestration service. It provides Container Engine for Kubernetes as a free service that runs on higher-performance, lower-cost compute shapes. 
  8. Google Kubernetes Engine: GKE lays the foundations for Enterprise-ready containerized solutions with SREs that continuously monitor your cluster and its computing, networking, and storage resources.
  9. Alibaba Cloud's Container Service for Kubernetes: A fully managed service, ACK is certified by the Certified Kubernetes Conformance Program, ensuring a consistent experience of Kubernetes and workload portability.
  10. Cisco Container Platform: CCP, a robust solution, was jointly developed by an enterprise-level partnership between Cisco and Google Cloud. It is managed and supported by Cisco’s world-class engineering, services, and support teams. 

    While the list can go on, we will be talking in detail about the first four only in this blog. 

 

Getting started with Amazon EKS

Amazon EKS reduces the stress on developers to deploy and run applications on Kubernetes architecture and result in a resilient AWS-managed Kubernetes cluster. It can orchestrate any workload running in the EKS environment for you. As a necessary prerequisite for creating a cluster, you might require creating IAM rules and a VPS. 

Axelerant Team’s view on Amazon EKS:


  • EKS runs the Kubernetes management infrastructure across multiple AWS Availability Zones, automatically. detects and replaces unhealthy control plane nodes, and provides on-demand, zero downtime upgrades, and patching.
  • The simplest way to get started with AWS EKS is using the command-line tool and eksctl to create and maintain eks cluster on AWS.
  • You can use native AWS services for Container Registry, Load Balancing, network isolation, and authentication.
  • Amazon EKS offers ease of scalability when deployed right.
  • When using EKS, the latest security patches applied automatically to the control plane nodes.
  • EKS is more reliable with the four 9s.

Of course, there’s room for improvement in their cluster management workflows. However, it is one of the most popular solutions out there in the marketplace.

 

Our experience with DigitalOcean 

DigitalOcean recently made their managed Kubernetes generally available. The DigitalOcean dashboard is an ideal platform to develop modern applications using Kubernetes as its provisions for a dedicated Kubernetes section allowing you to create a cluster. It gives you various instructions like connecting to your cluster, deploying a workload, and adding additional resources with kubectl.

Axelerant Team’s view on Digital Ocean’s Kubernetes Service:


  • You can add/remove nodes, add/remove node pools and that’s about it.
  • There is a lot of documentation and how-to’s to deploy and manage any application (Istio, Dashboard, Prometheus, etc.) As of now, there is the latest and the most excellent 1.19 version in addition to 1.18 and 1.17 supported (and only DigitalOcean offers this).
  • kubectl autoconfiguration can get tricky if you use other systems in parallel; setting up a production-ready system takes time.
  • DOKS can actually help in excellent cost reduction for the company. 

 

Is Azure the right choice for you?

It offers provisioning, scaling, and upgrades of resources as per requirement or demand without any downtime in the Kubernetes cluster. The AKS interface allows you to create or delete a cluster and to monitor health and logs for both the AKS cluster and the pods running on the cluster.

Integration with the Kubernetes Dashboard is installed by default where you run an Azure CLI command. The best part about Azure is that there is no charge for Kubernetes cluster management and the master nodes. You only pay for the resources like virtual machine instances, storage and networking consumed. 

Axelerant Team’s view on Azure Kubernetes Service:


  • Azure has elastic provisioning of capacity without the need to manage the infrastructure and with the ability to add event-driven auto-scaling and triggers through KEDA, similar to AWS Cloudwatch Events.
  • Well-integrated development experience through Visual Studio Code Kubernetes tools, Azure DevOps, and Azure Monitor making it easier to adopt. 
  • Advanced identity and access management using Azure Active Directory and dynamic rules enforcement across multiple clusters with Azure Policy.
  • AKS enables out-of-the-box CI/CD workflows, allowing you to set up a canary deployment strategy in just a few clicks through routine tasks. 
  • We can also use Azure Advisor to optimize AKS deployments with real-time, personalized recommendations, which enable customers to save on costs by using deeply discounted capacity with Azure Spot.
  • AKS also offers serverless Kubernetes, which provides worry-free Infrastructure management.

 

How good is OpenShift by RedHat?

RedHat Openshift offers automated installation, upgrades, and lifecycle management throughout the container stack. It is focused on security at every level of the container stack and throughout the application lifecycle. 

With RedHat Openshift Managed Kubernetes Solution, operational complexity will be reduced, which gives us the flexibility to focus on building and scaling applications. 

Axelerant Team’s view on RedHat OpenShift Managed Kubernetes Service:


  • This Service provides a holistic solution and provides complete application development, deployment, and runtime platform by adding features such as build pipelines, monitoring, logging, security, service mesh on top of upstream Kubernetes.
  • RedHat manages the full stack, not just the Kubernetes control plane.
  • RedHat OpenShift Managed services are available on every major public cloud. 


Our Take on Kubernetes

Quote
“Our team has deployed applications on Managed Kubernetes services and on self-hosted K8s clusters, the experience of deploying applications is way faster on a managed Kubernetes service and is great for such needs.”
Sharath-Vutpala
Sharath V.
Site Reliability Engineer
a comparison table for three managed kubernetes

 

Conclusion

At Axelerant, we use different Kubernetes solutions for various needs like hosting our Internal Gitlab Cluster, Deploying development, and test environments of Drupal Applications. However, we primarily use AWS EKS and Digital Ocean’s DOKS. 

Want more insights on our DevOps practices? Start with our Beginner’s guide on Docker and Kubernetes.