Kuberiter White Paper. Kubernetes. Cloud Provider Comparison Chart. Lawrence Manickam Kuberiter Inc

Similar documents
VMWARE PIVOTAL CONTAINER SERVICE

VMWARE PKS. What is VMware PKS? VMware PKS Architecture DATASHEET

EASILY DEPLOY AND SCALE KUBERNETES WITH RANCHER

VMWARE ENTERPRISE PKS

Containers, Serverless and Functions in a nutshell. Eugene Fedorenko

WHITE PAPER. RedHat OpenShift Container Platform. Benefits: Abstract. 1.1 Introduction

Kubernetes: Twelve KeyFeatures

Container Orchestration on Amazon Web Services. Arun

Developing Microsoft Azure Solutions (70-532) Syllabus

YOUR APPLICATION S JOURNEY TO THE CLOUD. What s the best way to get cloud native capabilities for your existing applications?

Running MarkLogic in Containers (Both Docker and Kubernetes)

Kubernetes Integration Guide

Security & Compliance in the AWS Cloud. Amazon Web Services

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

Enterprise Kubernetes

Important DevOps Technologies (3+2+3days) for Deployment

Overview of Container Management

Security & Compliance in the AWS Cloud. Vijay Rangarajan Senior Cloud Architect, ASEAN Amazon Web

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

Real-life technical decision points in using cloud & container technology:

Defining Security for an AWS EKS deployment

Deploying and Operating Cloud Native.NET apps

How to Keep UP Through Digital Transformation with Next-Generation App Development

CONTAINERS AND MICROSERVICES WITH CONTRAIL

Qualys Cloud Platform

Securing Microservices Containerized Security in AWS

Exam : Implementing Microsoft Azure Infrastructure Solutions

The Path to GPU as a Service in Kubernetes Renaud Gaubert Lead Kubernetes Engineer

Mesosphere and Percona Server for MongoDB. Jeff Sandstrom, Product Manager (Percona) Ravi Yadav, Tech. Partnerships Lead (Mesosphere)

Course Outline. Module 1: Microsoft Azure for AWS Experts Course Overview

Getting Started with AWS Security

Kubernetes: Integration vs Native Solution

Cisco Container Platform

Kontejneri u Azureu uz pomoć Kubernetesa što i kako? Tomislav Tipurić Partner Technology Strategist Microsoft

Microsoft Azure for AWS Experts

Mesosphere and Percona Server for MongoDB. Peter Schwaller, Senior Director Server Eng. (Percona) Taco Scargo, Senior Solution Engineer (Mesosphere)

DEPLOY MODERN APPS WITH KUBERNETES AS A SERVICE

Kubernetes made easy with Docker EE. Patrick van der Bleek Sr. Solutions Engineer NEMEA

Azure DevOps. Randy Pagels Intelligent Cloud Technical Specialist Great Lakes Region

An Introduction to Kubernetes

[MS10992]: Integrating On-Premises Core Infrastructure with Microsoft Azure

Designing MQ deployments for the cloud generation

Microservices. GCPUG Tokyo Kubernetes Engine

Kuber-what?! Learn about Kubernetes

ALIENVAULT USM FOR AWS SOLUTION GUIDE

DEPLOY MODERN APPS WITH KUBERNETES AS A SERVICE

Deploying and Operating Cloud Native.NET apps

Architecting Microsoft Azure Solutions (proposed exam 535)

DevOps Tooling from AWS

Introduction to Cloud Computing

JFOKUS 2017 EXPERIENCES FROM USING DISCOVERY SERVICES IN A MICROSERVICE LANDSCAPE

CyberPosture Intelligence for Your Hybrid Infrastructure

Cisco CloudCenter Use Case Summary

No Limits Cloud Introducing the HPE Helion Cloud Suite July 28, Copyright 2016 Vivit Worldwide

[MS20533]: Implementing Microsoft Azure Infrastructure Solutions

Cisco Cloud Application Centric Infrastructure

Managing and Auditing Organizational Migration to the Cloud TELASA SECURITY

Amazon Web Services (AWS) Solutions Architect Intermediate Level Course Content

70-532: Developing Microsoft Azure Solutions

Cisco CloudCenter Solution with Cisco ACI: Common Use Cases

What s New in K8s 1.3

Top Nine Kubernetes Settings You Should Check Right Now to Maximize Security

A10 HARMONY CONTROLLER

Onto Petaflops with Kubernetes

São Paulo. August,

Architecting for Greater Security in AWS

Agenda. This Session: Azure Networking Basics, On-prem connectivity options DEMO Create VNET/Gateway Cost-estimation for VNET/Gateways

Why Kubernetes Matters

SIEMLESS THREAT DETECTION FOR AWS

Developing Microsoft Azure Solutions (70-532) Syllabus

ENHANCE APPLICATION SCALABILITY AND AVAILABILITY WITH NGINX PLUS AND THE DIAMANTI BARE-METAL KUBERNETES PLATFORM

Cloud I - Introduction

Training on Amazon AWS Cloud Computing. Course Content

40390: Microsoft Azure for AWS Experts

Docker Universal Control Plane Deploy and Manage On-Premises, Your Dockerized Distributed Applications

Kubernetes 1.8 and Beyond

Introduction to AWS GoldBase. A Solution to Automate Security, Compliance, and Governance in AWS

Implementing Microsoft Azure Infrastructure Solutions (20533)

LINUX, WINDOWS(MCSE),

Growth of Docker hub pulls

Lessons Learned: Building Scalable & Elastic Akka Clusters on Google Managed Kubernetes. - Timo Mechler & Charles Adetiloye

Container-Native Storage

WHITEPAPER. Embracing Containers & Microservices for future-proof application modernization

Faculté Polytechnique

Kubernetes on Azure. Daniel Neumann Technology Solutions Professional Microsoft. Build, run and monitor your container applications

Security Camp 2016 Cloud Security. August 18, 2016

WHITEPAPER. MemSQL Enterprise Feature List

Full Scalable Media Cloud Solution with Kubernetes Orchestration. Zhenyu Wang, Xin(Owen)Zhang

Amazon Web Services Training. Training Topics:

Cloud & container monitoring , Lars Michelsen Check_MK Conference #4

Docker and Oracle Everything You Wanted To Know

AZURE CONTAINER INSTANCES

Kubernetes 101. Doug Davis, STSM September, 2017

Kubernetes Integration with Virtuozzo Storage

Introduction to Kubernetes

About Intellipaat. About the Course. Why Take This Course?

Enroll Now to Take online Course Contact: Demo video By Chandra sir

Amazon EC2 Container Service: Manage Docker-Enabled Apps in EC2

Zero to Microservices in 5 minutes using Docker Containers. Mathew Lodge Weaveworks

Launching StarlingX. The Journey to Drive Compute to the Edge Pilot Project Supported by the OpenStack

Transcription:

Kuberiter White Paper Kubernetes Cloud Provider Comparison Chart Lawrence Manickam Kuberiter Inc Oct 2018

Executive Summary Kubernetes (K8S) has become the de facto standard for Cloud Application Deployments. It opens up innovation, speed to market and resilient capabilities for your applications in the MultiCloud. Containerization enables organizations to effectively use DevOps processes to speed to market their applications at MultiCloud to stay competitive in this digital era. The DevOps concepts such as Continuous Integration/Continuous Delivery (CI/CD) and Infrastructure as a Code (IaC) saves time and money for the customers from Project Management, Deployment, ITIL and Operational perspectives. The Public Cloud providers such as AWS, Azure and GCP have their own set of Kubernetes hosting environment that enhances the users to focus on their core DevOps and Application development work. While Kubernetes features vary among providers, other factors such as cost, monitoring, availability, cluster management are important to consider before choosing the Cloud Provider Kubernetes hosting environment. Kuberiter is a Kubernetes as a Service company that provides K8S provisioning, Object Management, Cluster Management, Helm Packaging at Amazon Web Services, Microsoft Azure and Google Cloud Platform. Kuberiter evaluated Amazon Elastic Container Service for Kubernetes (Amazon EKS), Azure Kubernetes Service (AKS) and Google Kubernetes Engine (GKE) hosting environments and used that information to create comprehensive comparison chart between these three K8S hosting environments. Our analysis found advantages and disadvantages of each K8S hosting environments that gives the potential customer to make the right decision. Though Public Cloud Providers gives a pre-installed Kubernetes hosting environment with a User Interface and Command Line Interface (CLI) to deploy your applications at Kubernetes, the ecosystem around K8S is keep growing and the technicalities may lock the customer into the respective K8S hosting environment for a long time. It is advisable to install, configure and operate vanilla Kubernetes at your Cloud environment. Based upon the results and knowledge, then you should consider using the Cloud Provider hosted K8S environment.

Why Kubernetes? Containers allows applications to be decomposed as Microservices. It s an image package for the underlying OS libraries, application and environment variables. This modular approach enables the applications to speed to market and isolate dependencies. It requires a system to integrate, provision and run them. That system is Kubernetes! Kubernetes is a Software tool that provision the Containerized Applications into hundreds of virtual machines at the Cloud to provide 24x7 service. It eliminates Infrastructure lock-in by wrapping your applications and core functionalities into Pods (Group of Containers). The Containers in a Pod share system resources such as file systems, name spaces, IP address and other OS libraries. By keeping these system parameters at the Pod level, K8S removes the complexity at a Container Image. The Service object in Kubernetes is used to group together a collection of Pods that perform a similar function. A K8S Service object can be easily configured for discoverability, horizontal scaling, and load balancing. Kubernetes simplifies a few specific application deployment and release operations. These include the following: Automatic binpacking Automatically allocate CPU, RAM to containers without compromising high availability. Horizontal scaling Automatically scale up and down your application based on CPU usage. Automated application roll outs and backups K8S progressively rolls out your applications and configuration while monitoring application health without compromising SLA requirements. Storage orchestration Automatically mount the storage for your containers. Self-healing Automatically restart the failed containers. Automatically replaces and reschedule the containers when node become unavailable. Auto kill containers that don t respond to user requests. Service discovery and load balancing Auto discovery of containers that has dependency with other containers. No need to write your own program logic. Automatically assigns IP addresses to the containers and load balancing.

Secret and Configuration Management Automatically deploys and updates your secrets and configuration without rebuilding the containers. Jobs Automatically manage your batch and CI workloads, replacing containers that fail, if desired. Replication Automatically replicate your application containers at the Cloud to provide 24x7 service to the customers. In a nutshell Kubernetes is an Auto Pilot DevOps tool. Kubernetes handles your Nonfunctional factors in the Cloud automatically. Kubernetes replicates your application containers in the Cloud to provide 24x7 service. Kubernetes and Containers lays the foundation for Cloud Native Applications. A Cloud Native application is loosely coupled, service oriented, containerized, declarative and independent Microservices. The concept of Kubernetes supports Heroku s 12 factor Cloud Native Application standards that enable organizations to utilize Cloud Native functionalities for their applications. Cloud native applications do not rely on humans. They require self-service resources abstracted away from underlying Cloud complexities and depend upon service discovery and network communication to provide a Highly Available experience. Kubernetes allows DevOps teams to utilize containers and build cloud-native applications that can run anywhere, independent of Cloud provider specific technicalities. Containers have become the standard packaging and run time format to deploy and distributed cloudnative applications in the MultiCloud environment. While containers don t provide nonfunctional advantages to applications, Kubernetes and its related projects, such as Kuberiter provide the non-functional advantages that used to be part of the deployment, monitoring, cluster management and operations.

Amazon EKS Features Amazon Elastic Container Service for Kubernetes (EKS) is a managed Kubernetes service that makes it easy for you to run Kubernetes on AWS without needing to install, operate, and maintain your own Kubernetes control plane (Master and Kubelet processes). It includes the following: Managed Kubernetes Control Plane Amazon EKS automatically manages the availability and scalability of the Kubernetes control plane nodes that are responsible for starting and stopping containers, scheduling containers on virtual machines, storing cluster data, and other tasks. Amazon EKS runs the Kubernetes control plane across three Availability Zones in order to ensure high availability, and it automatically detects and replaces unhealthy masters. Security and Networking Amazon EKS makes it easy to provide security for your Kubernetes clusters, with advanced features and integrations to AWS security services such as IAM Authentication, VPC Security Groups and Network ACL s. It integrates with Kubernetes RBAC (Role Based Access Control). Amazon EKS works with the Project Calico network policy engine to provide fine grained networking policies for your Kubernetes workloads. Logging Amazon EKS is integrated with AWS CloudTrail to provide visibility and audit history of your cluster and user activity. You can use CloudTrail to view API calls to the Amazon EKS API. Support for Advanced work loads Amazon EKS provides an optimized Amazon Machine Image (AMI) that includes configured NVIDIA drivers for GPU-enabled P2 and P3 EC2 instances. This makes it easy to use Amazon EKS to run computationally advanced workloads, including machine learning (ML), high performance computing (HPC), financial analytics, and video transcoding. Certified Conformant Amazon EKS runs upstream Kubernetes and is certified Kubernetes conformant, so you can use all the existing plugins and tooling from the Kubernetes community. Works with Community Tools Amazon EKS is fully compatible with Kubernetes community tools and supports popular Kubernetes addons. These include KubeDNS to create a DNS service for your cluster and both the Kubernetes Dashboard web-based UI and the kubectl command line tool to access and manage your cluster on Amazon EKS. Reference https://aws.amazon.com/eks/features

Microsoft AKS Features Microsoft Azure Kubernetes Service (AKS) makes it simple to deploy a managed Kubernetes cluster in Azure. It includes the following: Managed Kubernetes Control Plane The Kubernetes masters are managed by Azure. You only manage and maintain the agent nodes. As a managed Kubernetes service, AKS is free - you only pay for the agent nodes within your clusters, not for the masters. When you deploy an AKS cluster, the Kubernetes master and all nodes are deployed and configured for you. Security and Networking AKS integrates with Kubernetes RBAC (Role Based Access Control) and Azure Active Directory. With Azure AD integration, Kubernetes access can be configured based on existing identity and group membership. An AKS cluster can be deployed into an existing virtual network. Pods can connect also to other services in a peered virtual network, and to on-premises networks over ExpressRoute or site-to-site (S2S) VPN connections. Logging Container logs are available, and you can also review the Kubernetes master logs. This monitoring data is stored in an Azure Log Analytics workspace, and is available through the Azure portal, Azure CLI, or a REST endpoint. Support for Advanced work loads AKS supports the creation of GPU enabled node pools. Azure currently provides single or multiple GPU enabled VMs. GPU enabled VMs are designed for compute-intensive, graphics-intensive, and visualization workloads. Certified Conformant Azure Kubernetes Service (AKS) has been CNCF certified as Kubernetes conformant. Works with Community and Developer Tools AKS is fully compatible with Kubernetes community tools and supports popular Kubernetes add-ons. The DevOps project automatically creates Azure resources such as AKS, a release pipeline for CI/CD and then creates an Azure Application Insights resource for monitoring. Regulatory Compliance Azure Kubernetes Service (AKS) is compliant with SOC, ISO, and PCI DSS. Reference https://docs.microsoft.com/en-ca/azure/aks/intro-kubernetes

Google Kubernetes Engine Features Kubernetes Engine is a managed, production-ready environment for deploying containerized applications. It includes the following: Fully Managed Kubernetes Engine clusters are fully managed by Google (SREs), ensuring your cluster is available and up-todate. Identity & Access Management Control access in the cluster with your Google accounts and role permissions. Hybrid Networking Reserve an IP address range for your cluster, allowing your cluster IPs to coexist with private network IPs via Google Cloud VPN. Security and Compliance Kubernetes Engine is backed by Google security team of over 750 experts and is both HIPAA and PCI DSS 3.1 compliant. Logging & Monitoring Enable Stackdriver Logging and Stackdriver Monitoring with simple checkbox configurations, making it easy to gain insight into how your application is running. Auto Scale Automatically scale your application deployment based on resource utilization (CPU, memory). Auto Upgrade Automatically keep your cluster up to date with the latest release version of Kubernetes. Auto Repair When auto repair is enabled, if a node fails a health check Kubernetes Engine initiates a repair process for that node. GPU support (BETA) Kubernetes Engine supports GPU and makes it easy to run ML, GPGPU, HPC, and other workloads that benefit from specialized hardware accelerators. Reference https://cloud.google.com/kubernetes-engine

Configuration and Billable Items used in Kuberiter's Cloud Kubernetes Comparison Analysis Hosted Kubernetes service of a Cloud provider has its configuration and billable items that are unique. They host K8S service on the top of their Cloud Computing IaaS and a customer should have a thorough plan to understand their offerings in order to meet their application requirements. Kuberiter analyzed the following items to develop the comprehensive Cloud Kubernetes Comparison Chart for all three major Cloud Computing Providers.

Cloud Kubernetes Comparison Chart Choose the right hosted Kubernetes Cloud Provider for your business. Features AWS Azure GCP No sufficient integration Complete Integration Complete Integration Integration with IaaS Example: No Integration with Native Monitoring AWS Config ALB Master Node Provisioning Automatic Automatic Automatic Application Nodes (Worker, Minion) Provisioning Manual AWS recommends to use Cloud Formation templates. Automatic Automatic High Availability Multi Availability Zones support for both Master and Application nodes. Multi Region Support. Multi Availability Zones support for Application nodes. Multi Availability Zones support for Master nodes. Multi Availability Zones support for both Master and Application nodes. Multi Region support for both Master and Application nodes. Multi Region Support. No provision to upgrade Master nodes. On demand. Automatic / On Demand The option to upgrade K8S can be defined during the creation of Clusters. Auto upgrade Automatic: GCP automatically upgrades K8S in a schedule maintenance period. On-Demand: The user can define the time to perform upgrade tasks from the GKE UI. Self-Deployed Self-Deployed Self-Deployed Auto Scale It provides the ability to add different nodepools or nodegroups that allows different machine types to join the Application nodes pool. Manual process is available. It supports scale up to similar (VM types) Application nodes. GCP provides the ability to add different nodepools or nodegroups which allows different machine types to join the worker pool. The user can configure their K8S cluster to use the Cluster Auto Scaler that scales the nodes up or down based upon the workload. It is suitable for short-lived processes like batch jobs. Auto Repair No

Features AWS Azure GCP Auto Restart K8S RBAC Support Network Policy Self-Deployed Self-Deployed Self-Deployed GPU Support Persistent Volumes Block Block and CIFS Block Load Balancer Classic Load Balancer Service Both Standard and Basic Both Global and Regional K8S Management Via CLI Minimal Full Full K8S software cost. K8S software cost. K8S software cost. Pricing 0.20/hr/Master Node IaaS cost for Application Nodes. IaaS cost for both Master and Application Nodes. IaaS cost for both Master and Application Nodes. Networking Project Calico Integration. Manual. Kube-router project Integration. Manual. Project Calico Integration. Automatic. Integration with CaaS (Communication as a Service) (Fargate) (ACI) (Control Plane) Monitoring Native Cloud Monitoring Azure Cloud Monitoring GCP Monitoring, Stackdriver. Operations K8S Dashboard Manual Install. K8S Dashboard Manual Install. K8S Dashboard and GKE Control Plane. Automatic Install. Docker Registry Elastic Container Registry (ECR) Azure Container Registry (ACR) GCP Container Registry (GCR) Object Management YAML/JSON Creation YAML/JSON Creation YAML/JSON Creation Compliance PCI DSS, ISO, SOC, HIPAA PCI DSS, ISO, SOC PCI DSS, ISO, SOC, HIPAA Conformance CNCF Certified CNCF Certified CNCF Certified CI/CD Partner Programs Azure DevOps GCP DevOps

Conclusion The above comparison chart has visible features to consider. As a result of these features, hosted Kubernetes may lock you into a specific Cloud Provider for a long time therefore a thorough analysis should be done by your team to choose the right K8S hosting service. It is not easy as it seems. Kuberiter is a Kubernetes as a Service company. It is a pass-through utility environment to provision your K8S clusters at AWS, Azure, GCP and On-Premise. Our UI also provides Object Management as a Service, Cluster Management as a Service, Monitoring K8S objects and Automated Helm Chart packaging. The vanilla Kubernetes provisioning model of Kuberiter allows you to have extensive developer support and does not lock you with a specific Cloud Provider. Kuberiter s K8S is the right solution for your DevOps and MultiCloud deployments. Subscribe at www.kuberiter.com to use our DevOps services. support@kuberiter.com