Kubernetes is a production-ready, open source platform designed with Google’s accumulated experience in container orchestration, combined with best-of-breed ideas from the community. It is designed to automate deploying, scaling, and operating application containers.
Kubernetes coordinates a highly available cluster of computers that are connected to work as a single unit. The abstractions in Kubernetes allow you to deploy containerized applications to a cluster without tying them specifically to individual machines.
In short,Kubernetes is
- Portable: public, private, hybrid, multi-cloud
- Extensible: modular, pluggable, hookable, composable
- Self-healing: auto-placement, auto-restart, auto-replication, auto-scaling
Why Managed Kubernetes ?
First off,lets understand why do we want to go Managed Platform.Effort required to set up a single node cluster is different from running a customized multi-node/zone/multi-cloud HA cluster.When your enterprise is ready to scale up to more machines and higher availability in short span, Managed Kubernetes platforms is the right choice to create and maintain.
Lets look at some of the key advantages
- Automated Kubernetes version upgrades and patching
- Easy cluster scaling
- Self-healing hosted control plane (masters)
- Experts take care of ongoing operations management and support for the entire technology stack
- Manage and support the containers, cluster application services such as monitoring, logging, security etc.,
- Multi-cloud portability
- Cost savings — pay only for running agent pool nodes
With this context now,lets check out TOP 7 Managed Kubernetes Platforms on what each one has to offer.
Launched in 2015, Kubernetes Engine builds on Google’s experience of running services like Gmail and YouTube in containers for over 12 years. Kubernetes Engine allows you to get up and running with Kubernetes in no time, by completely eliminating the need to install, manage, and operate your own Kubernetes clusters.
Key Features :
- Kubernetes Engine clusters are fully managed by Google Site Reliability Engineers
- Runs on Container-Optimized OS, a hardened OS built and managed by Google.
- Stackdriver Logging and Stackdriver Monitoring can be integrated with simple checkbox configurations
- Backed by Google security team of over 750 experts and is both HIPAA and PCI DSS 3.1 compliant.
- Support Stateful application support by attaching persistent storage to containers, and even host complete databases.
- Node auto-repair to maintain node health and availability
- Supports the common Docker container format.
- Support for setting up resource limits i.e., you can now specify how much CPU and memory (RAM) each Container needs.
GKE uses Google Compute Engine instances for nodes in the cluster. Hence you would be billed for each of those instances according to Compute Engine’s pricing, until the nodes are deleted. Compute Engine resources are billed on a per-second basis with a 1 minute minimum usage cost.You can use the Google Cloud Platform pricing calculator to create an estimate of your monthly GKE charges, including node pricing.
Amazon EKS runs the Kubernetes management infrastructure across multiple AWS availability zones to eliminate a single point of failure. Amazon EKS is certified Kubernetes conformant, applications running on any standard Kubernetes environment are fully compatible and can be easily migrated to Amazon EKS.
Key Features :
- EKS automatically detects and replaces unhealthy control plane nodes, and provides on-demand upgrades and patching.
- Secure and encrypted communication channels are automatically setup between your worker nodes and the managed control plane, making your infrastructure running on Amazon EKS secure by default.
- EKS is integrated with AWS CloudTrail to provide visibility and audit history of your cluster and user activity.
- Fully compatible with Kubernetes community tools and supports popular Kubernetes add-ons.
- $0.20 per hour for each Amazon EKS cluster
- Pay for AWS resources (e.g. EC2 instances or EBS volumes) for Kubernetes worker nodes according to Amazon EC2 pricing page.
Azure Kubernetes Service (AKS) makes it simple to deploy a managed Kubernetes cluster in Azure. As a hosted Kubernetes service, Azure handles all heavy lifting of all the complexity, operational overhead of managing a Kubernetes cluster for you.
In short, AKS would provide a container hosting environment by using open-source tools and technologies. To this end, standard Kubernetes API standard endpoints are exposed and you can leverage any software that is capable of talking to a Kubernetes cluster.
Key Features :
- Azure Kubernetes Service offers various deployment options like via portal, command line, and template driven deployment options
- Container logs are collected and stored in Log Analytics workspace, and is available through the Azure portal, Azure CLI, or a REST endpoint.
- Support for creation of GPU enabled node pools. Azure currently provides single or multiple GPU enabled VMs.
- Support for community tools like Helm, Draft, and the Kubernetes extension for Visual Studio Code.
- Support for Docker image format.
- Compliant with SOC, ISO, and PCI DSS.
- Free container service & no charges for cluster management.
- Pay only for the virtual machines instances, storage and networking resources consumed by your Kubernetes cluster.
- Estimate the cost of the required resources using Container Services calculator.
Stackpoint cloud provides Kubernetes infrastructure automation and management for multiple public clouds such as AWS,Google Cloud,Azure,Digital Ocean,Packet etc.,
- Seamlessly manage traffic rules in your Istio service mesh across AWS, GKE, Azure, GCP, Digital Ocean, and Packet via our simple to use Istio Dashboard.
- Easy upgrade / Build and manage Kubernetes clusters within minutes.
- Collaborate and push code using GitLab, Fabric8, or any of our other developer platforms.
- In-cluster, self-healing etcd and Kubernetes upgrades.
- Easy to use Dashboard
- $39.95 a month when you commit to a yearly subscription
Platform9 offers managed Kubernetes on-premises or on any public cloud, and provides 24/7 health monitoring and alerting.
- Industry’s only SaaS managed solution that is infrastructure agnostic, working across public clouds and on-premises server infrastructure.
- Several Kubernetes integrations are included out-of-the-box
- Managed Kubernetes creates highly available, multi-master, multi-etcd Kubernetes clusters that can span across availability zones in your private or public cloud environment.
- Simple and elegant user interface that make it easy to manage multiple Kubernetes clusters, different cloud providers, and multiple private datacenters.
IBM Cloud Kubernetes service delivers powerful tools by combining Docker containers, the Kubernetes technology, an intuitive user experience, and built-in security and isolation to automate the deployment, operation, scaling, and monitoring of containerized apps in a cluster of compute hosts.
- Fully managed Kubernetes master that is continuously monitored and updated by IBM
- Automatic scanning of images in your private IBM Cloud registry.
- Cluster dashboard to quickly see and manage the health of your cluster, worker nodes, and container deployments.
- Review logging information by using IBM Cloud Log Analysis to see detailed cluster activities.
- Storage infrastructure isolation
- Pay-As-You-Go or Subscription based pricing: You can create a free trial cluster.
- You can also provision IBM Cloud infrastructure resources to create and use in standard clusters.
Kubermatic is a Cluster-as-a-Service that provides managed Kubernetes for your infrastructure.Kubermatic is directly integrated with leading cloud providers DigitalOcean and Amazon Web Services, as well as any provider offering Ubuntu 16.04 or greater, even in your own datacenter.
- UI-installer with unified cloud and on-prem experience
- Deploy your cluster and add nodes with the click of a button.
- Multi-tenancy and access control
Other notable platform is Canonical Ubuntu Distribution of Kubernetes,key features of CDK are
- Multi-cloud workload portability
- AI and machine learning optimizations with nVidia and Google
- Upgrades guaranteed between K8s releases
- Full OCI compatibility with docker and containerd runtimes
- Prometheus and ELK logging and monitoring included
Choose Right Solution
Well, don’t worry too much about what option is right for you. Kubernetes can run on various platforms either from your laptop, to VMs on a cloud provider, to a rack of bare metal servers. Choosing the right solution depends on your specific needs.If you’re just starting up, you can look at local machine docker-based solutions (ex.minikube).When you are ready to scale up to more machines and higher availability, a hosted solution like the above ones is the easiest to create and maintain.
Following are the key considerations that might help you to choosing right solution
- Multi-cloud workload portability
- Multi zone(AZ) availability
- K8s automated upgrades,conformance
- Deployment options / Dev Tooling support
- Roles & Responsibilities of Platform vs Customer Managed (RBAC)
- Security compliance (ex.HIPAA,PCI DSS etc.,)
- Integrated Logging/Monitoring/Self — healing options
- Pricing options
Like this post? Don’t forget to share it!
Originally published at @upnxtblog.