{"id":4991,"date":"2019-04-23T07:23:33","date_gmt":"2019-04-23T00:23:33","guid":{"rendered":"http:\/\/54.151.235.32\/?p=4991"},"modified":"2021-03-03T18:00:27","modified_gmt":"2021-03-03T11:00:27","slug":"the-end-of-vms-the-rise-of-serverless-containers","status":"publish","type":"post","link":"https:\/\/renovacloud.com\/en\/the-end-of-vms-the-rise-of-serverless-containers\/","title":{"rendered":"The end of VMs, The rise of Serverless Containers"},"content":{"rendered":"<h3><strong>Containers have become the standard output of the development process. They are mostly used in a micro-services architecture, as small functional building blocks. According to the IDC over 85% of organizations in the world are already using Containers in some of their environments and over 40% are using Containers in production. The adoption rate is tremendous and continues to accelerate.<\/strong><\/h3>\n<p>With this growth, some challenges have risen in regards to the operational support of container-based applications. Common concerns include the containers themselves, managing in which they live, gaining control over the operations they are allowed to perform, deployment practices and general security and compliance. Access to resources for containers can be problematic and difficult, not to mention the management of the infrastructure underneath the pool of containers that requires provisioning, management, auto-scaling and even patching.<\/p>\n<p><span style=\"font-weight: 400;\">Following these challenges, Kubernetes has emerged as the standard for container orchestration. How did this happen? That will be a good story for another blog post :).<\/span><\/p>\n<p><span style=\"font-weight: 400;\">With Kubernetes, containers can be managed by clusters in public cloud, hybrid cloud and even in a multi-cloud environment. However, deploying and managing Kubernetes on your own is hard and managed Kubernetes services have emerged as a streamlined way to deploy containers in the public cloud. Managed Kubernetes is evolving and, slowly, serverless containers are becoming a norm.<\/span><\/p>\n<h2><strong>What Role does the VM play with Containers?<\/strong><\/h2>\n<p><span style=\"font-weight: 400;\">Managing underlying virtual machines that run Kubernetes adds significant operational overhead and the \u201cserverless\u201d container services available from the public cloud vendors are solving that problem. While useful, these services are far from being cost-effective and fully featured.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In this blog post, we will take a look at different services offered by the top three cloud providers and showcase how Spotinst Ocean can help you use the elastic infrastructure in a cost and performance optimized manner. SpotInst Ocean delivers better ROI by leveraging the public and on-premises data center for efficient deployment of container clusters with Kubernetes.<\/span><\/p>\n<h3><strong>Container Services with VM overhead<\/strong><\/h3>\n<h4><strong><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-4993 aligncenter\" src=\"http:\/\/renovacloud.com\/wp-content\/uploads\/2019\/04\/blog__S\u1ef1_k\u1ebft_th\u00fac_c\u1ee7a_VMs_1.png\" alt=\"S\u1ef1_k\u1ebft_th\u00fac_c\u1ee7a_VMs_1\" width=\"976\" height=\"283\" \/><\/strong><\/h4>\n<h3><strong>Container Services without VM overhead<\/strong><\/h3>\n<h2><b><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-4994 aligncenter\" src=\"http:\/\/renovacloud.com\/wp-content\/uploads\/2019\/04\/the_end_of_VMs-02-800x303-300x114.png\" alt=\"the_end_of_VMs-02\" width=\"966\" height=\"367\" \/><\/b><\/h2>\n<h2><b>Amazon Web Services<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Amazon Web Services offers a variety of container services to meet the needs of modern containerized workloads. Elastic Container Service by AWS is one of the early container services in the market with a proprietary orchestration engine. After Kubernetes emerged as the standard for container orchestration, AWS EKS, their managed Kubernetes Service, was offered as a cloud service. AWS Fargate is AWS\u2019 serverless container offering that supports AWS ECS for container orchestration.<\/span><\/p>\n<h3><strong>Strengths<\/strong><\/h3>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Amazon\u2019s strength lies in giving customers more flexibility to use container services. They offer two different types of container services, Amazon ECS and EKS. While ECS offers more flexibility in load balancers and integration with IAM roles for containers in a task, it uses a proprietary orchestration tool. AWS EKS offers a standard based Kubernetes container orchestration. AWS Fargate is a serverless container offering and that currently supports ECS only today.<\/span><\/li>\n<\/ul>\n<h3><strong>Weakness<\/strong><\/h3>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">With EKS, there is additional operational overhead in deploying applications since the user is required to manage the underlying virtual machines.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">The integration of EKS with other AWS services is limited at this point. For example, EC2 node provisioning is a separate process normally done with Cloudformation templates. Furthermore, infrastructure requirements such as storage classes needs to be manually configured.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">No Fargate support for Kubernetes<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">At scale, Fargate is significantly more expensive than managing list price on-demand instances.<\/span><\/li>\n<\/ul>\n<h2><strong>Considerations<\/strong><\/h2>\n<p><span style=\"font-weight: 400;\">AWS Fargate is the easiest way to use ECS in a serverless model. Fargate provides a simpleway for developers to get started with deploying containers, however, users tend to prefer Kubernetes for production environments and without Fargate support, this makes that transition difficult. Moreover, the pricing model of Fargate is at a premium and dramatically increases the overall cost of the cluster.<\/span><\/p>\n<h2><strong>Google Cloud<\/strong><\/h2>\n<p><span style=\"font-weight: 400;\">Google offers Google App Engine, a Platform as a Service offering with support for OCI compatible containers, with Google Kubernetes Engine, their managed Kubernetes service. They do not have an equivalent to AWS Fargate but Google App Engine\u2019s flexible pricing provides similar advantages. AWS Fargate and Google App Engine however, are not an apples to apples comparison and there are some significant differences.<\/span><\/p>\n<h3><strong>Strengths<\/strong><\/h3>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Google Kubernetes Engine runs the most recent versions of Kubernetes, giving developers faster access to newer Kubernetes features<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Well integrated with other Google Services including as well as native \u00a0integrations with Istio service mesh. Service mesh projects such as Istio and linkerd are becoming popular way to provide service discovery and enforcement within Kubernetes.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Google offers an On-Premises version Kubernetes Engine hybrid cloud deployments.<\/span><\/li>\n<\/ul>\n<h3><strong>Weakness<\/strong><\/h3>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Lack of a dedicated service like AWS Fargate or Azure Container Instances.<\/span><\/li>\n<\/ul>\n<h2><strong>Considerations<\/strong><\/h2>\n<p><span style=\"font-weight: 400;\">Google Kubernetes Engine is a good choice for seamless hybrid Kubernetes environments. With that said it adds significant operational overhead due to the lack of a serverless offering. The pricing model is based on on-demand instances which are sub-optimal when taking advantage of elastic infrastructure. Google App Engine provides a better user experience, but it is highly opinionated and lacks the flexibility of Google Kubernetes Engine.<\/span><\/p>\n<h2><strong>Microsoft Azure<\/strong><\/h2>\n<p><span style=\"font-weight: 400;\">Microsoft Azure offers a managed Kubernetes service called Azure Kubernetes Service (AKS) and a serverless container service called Azure Container Instances (ACI). While AKS is priced based on the underlying virtual machines, Azure Container Deployments are priced based on Container Groups which contain one or more instances. The cost of container groups is based on the memory and vCPU needed by the entire group.<\/span><\/p>\n<h3><strong>Strengths<\/strong><\/h3>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Azure Container Instances (ACI) are integrated with Kubernetes, providing users a way to use Kubernetes clusters without managing the underlying infrastructure.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Both AKS and ACI are well integrated with many Azure services, making it easy for Azure customers to use Kubernetes<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Support for both Windows and Linux containers<\/span><\/li>\n<\/ul>\n<h3><strong>Weakness<\/strong><\/h3>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Lack of support for hybrid deployment<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">At scale, price becomes an operational issue and hard to manage.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Still missing important feature parity elements in networking and storage.<\/span><\/li>\n<\/ul>\n<h3><strong>No to VMs, Yes to Containers<\/strong><\/h3>\n<h2><strong>The hype of running containers without VMS is real<\/strong><\/h2>\n<p><strong>We are witnessing a major trend and shift in managing Containers clusters that pushes towards more abstraction of infrastructure, less VM management overhead, and more focus on Containers, Pods as the \u201cfirst-class citizens\u201d. With that trend, platforms like AWS Fargate, Azure Container Instances (ACI) and Spotinst Ocean are getting popular very rapidly. It does not make sense to manage VMs anymore, scale them and take care of the overhead associated with it.<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Containers have become the standard output of the development process. They are mostly used in a micro-services architecture, as small functional building blocks. According to the IDC over 85% of organizations in the world are already using Containers in some of their environments and over 40% are using Containers in production. The adoption rate is [&#8230;]\n","protected":false},"author":7,"featured_media":4992,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-4991","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-and-analytics"],"_links":{"self":[{"href":"https:\/\/renovacloud.com\/en\/wp-json\/wp\/v2\/posts\/4991","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/renovacloud.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/renovacloud.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/renovacloud.com\/en\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/renovacloud.com\/en\/wp-json\/wp\/v2\/comments?post=4991"}],"version-history":[{"count":0,"href":"https:\/\/renovacloud.com\/en\/wp-json\/wp\/v2\/posts\/4991\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/renovacloud.com\/en\/wp-json\/wp\/v2\/media\/4992"}],"wp:attachment":[{"href":"https:\/\/renovacloud.com\/en\/wp-json\/wp\/v2\/media?parent=4991"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/renovacloud.com\/en\/wp-json\/wp\/v2\/categories?post=4991"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/renovacloud.com\/en\/wp-json\/wp\/v2\/tags?post=4991"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}