{"id":42690,"date":"2016-11-30T11:40:52","date_gmt":"2016-11-30T06:10:52","guid":{"rendered":"http:\/\/www.tothenew.com\/blog\/?p=42690"},"modified":"2016-12-05T16:05:57","modified_gmt":"2016-12-05T10:35:57","slug":"why-cios-should-adopt-containers-technology","status":"publish","type":"post","link":"https:\/\/www.tothenew.com\/blog\/why-cios-should-adopt-containers-technology\/","title":{"rendered":"Why CIOs Should Adopt Containers Technology?"},"content":{"rendered":"<p>Container service is not new, it was built around ten years ago in Linux environment also known as Linux container (LXC). But today, docker is most popular and has\u00a0become synonymous to containers. So before talking about some <a title=\"DevOps Tools\" href=\"http:\/\/www.tothenew.com\/devops-chef-puppet-docker\" target=\"_blank\">container technologies<\/a> like Docker, Kubernetes, we have to understand what container service\u00a0is, and what is the\u00a0difference between VMs and Container Technologies.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-42696\" src=\"\/blog\/wp-ttn-blog\/uploads\/2016\/11\/roundup.png\" alt=\"roundup\" width=\"870\" height=\"231\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2016\/11\/roundup.png 870w, \/blog\/wp-ttn-blog\/uploads\/2016\/11\/roundup-300x79.png 300w, \/blog\/wp-ttn-blog\/uploads\/2016\/11\/roundup-624x165.png 624w\" sizes=\"(max-width: 870px) 100vw, 870px\" \/><\/p>\n<p><b>What is Container Technology?<br \/>\n<\/b>It is a solution to a problem to run your application\/software reliably when moving from one computing environment to another environment having the same type of kernel. This could either be from staging to the production environment or from physical machine to virtual machine in a <a title=\"AWS DevOps\" href=\"http:\/\/www.tothenew.com\/devops-aws\" target=\"_blank\">cloud<\/a>. It wraps up\u00a0a piece of software in a complete file system that contains everything it needs to run.<\/p>\n<p><span style=\"font-weight: 400;\">In container technologies, each containerized application, run on a single operating system and shares kernel with the other container, which makes containers incredibly lightweight. Shared part of the kernel are read only; every container has its own mount point for writing purpose. This means every container is isolated (Isolate process, network, and file system) from other.<\/span><\/p>\n<p><b>Difference Between Containers and VMs.<br \/>\n<\/b>A container is not VM, it\u2019s just a process which has its own namespaces. VMs run entire operating system whereas each container runs a single process.<\/p>\n<p><span style=\"font-weight: 400;\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-42693\" src=\"\/blog\/wp-ttn-blog\/uploads\/2016\/11\/VM-Diagram.png\" alt=\"VM-Diagram\" width=\"600\" height=\"368\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2016\/11\/VM-Diagram.png 600w, \/blog\/wp-ttn-blog\/uploads\/2016\/11\/VM-Diagram-300x184.png 300w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/span><\/p>\n<p><span style=\"font-weight: 400;\">In a larger infrastructure, running VMs means probably running many duplicate instances having the same type of OS which may cause overhead to your host machine. As containers are lightweight compared to VMs, we can run around 10 to 11 times as many containers as VMs on the same hardware.<\/span><\/p>\n<table style=\"height: 344px;\" border=\"5\" width=\"624\">\n<tbody>\n<tr>\n<td><b>Description<\/b><\/td>\n<td><b>Container Services<\/b><\/td>\n<td><b>VM<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Isolation<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Process Level<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Complete<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">OS<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Linux<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Linux, Windows, <\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Start Time<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Seconds<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Minutes<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Building Image Time<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Short (minutes)<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Long (10+ minutes)<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Hosted Number<\/span><\/td>\n<td><span style=\"font-weight: 400;\">On 1 machine you can run 15 containers<\/span><\/td>\n<td><span style=\"font-weight: 400;\">On 1 machine you can run few VM\u2019s (2-3)<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Deployment Tools<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Kubernetes, Docker Swarm, Mesos<\/span><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Size<\/span><\/td>\n<td><span style=\"font-weight: 400;\">100Mb +<\/span><\/td>\n<td><span style=\"font-weight: 400;\">1 Gb +<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Benefits of containerization<\/strong><\/p>\n<ul>\n<li>Improves scalability and lower cost: containerization increase scalability from 10 to 100 times as compared to VMs environment, so it also helps in reducing cost.<\/li>\n<li>No more hypervisors<\/li>\n<li>Tools like Docker, allows us to move applications freely to, from, and between Linux-based cloud environments. Using containerization, you get much closer to achieve 100% utilization of cloud instance, by helping our cloud environment efficiency to deploy multiple containerized applications on to a single cloud instance.<\/li>\n<\/ul>\n<p><b>Why do we need to adopt container technologies?<\/b><\/p>\n<ul>\n<li><b>Easy and Lightweight Way:<\/b><span style=\"font-weight: 400;\">\u00a0Container<span style=\"font-weight: 400;\"> is fast, it relies on copy\u2010on\u00ad\u2010write Model.<\/span><\/span><\/li>\n<li style=\"font-weight: 400;\"><b>Accelerated Development Process:<\/b><span style=\"font-weight: 400;\">\u00a0 Aims to reduce the cycle time between code being written and code being tested, deployed and used.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>Empower Developer Creativity: <\/b><span style=\"font-weight: 400;\">Developers can use the best language and tools for their application service without worrying about causing conflict issues.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>Encourage Service Oriented Architecture:<\/b><span style=\"font-weight: 400;\">\u00a0It recommends that each container runs a single application or Process.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>Eliminate Environment Inconsistencies:<\/b><span style=\"font-weight: 400;\"> By packaging up the application with its configs and dependencies together and shipping as a container, the application will always work as designed locally, on another machine, in test or production. No more worries about having to install the same configs into a different environment.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Today, there are many orchestration tools like Kubernetes, Docker Swarm, if we talk about AWS it also has its own managed services known as Elastic container services which make DevOps life easier in building and managing containerized infrastructure.<\/span><\/p>\n<p><strong>Some of the key features of Containerized Orchestration Tools:<\/strong><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">We can do automated deployment<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">We can move test environment to production in just one click<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Scale your application up and down with single command<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Automated rollbacks and backups<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Load balancing, service healing and much more<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">I hope this blog will give you some idea of container technologies, and some confidence over moving your current infrastructure to containers. If you want to set up your infrastructure using any of the orchestration tools you may refer the links added below.<\/span><\/p>\n<ul>\n<li><a title=\" aws managed services\" href=\"http:\/\/www.tothenew.com\/blog\/understanding-kubernetes-architecture-and-setting-up-a-cluster-on-ubuntu\/\" target=\"_blank\">Understanding Kubernetes Architecture and Setting up a Cluster on Ubuntu<\/a><\/li>\n<li><a title=\" aws devops\" href=\"http:\/\/www.tothenew.com\/blog\/8-reasons-to-move-to-docker-swarm\/\" target=\"_blank\">8 Reasons to Move to Docker Swarm<\/a><\/li>\n<li><a title=\"devops in cloud\" href=\"http:\/\/www.tothenew.com\/blog\/amazon-ec2-container-service-ecs-docker-container-managment\/\" target=\"_blank\">Amazon EC2 Container Service (ECS) \u2013 Docker Container Management<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Container service is not new, it was built around ten years ago in Linux environment also known as Linux container (LXC). But today, docker is most popular and has\u00a0become synonymous to containers. So before talking about some container technologies like Docker, Kubernetes, we have to understand what container service\u00a0is, and what is the\u00a0difference between VMs [&hellip;]<\/p>\n","protected":false},"author":917,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":8},"categories":[1174,2348,1],"tags":[248,2366,3866,4244,2651,3965,260,3876],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts\/42690"}],"collection":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/users\/917"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/comments?post=42690"}],"version-history":[{"count":0,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts\/42690\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/media?parent=42690"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/categories?post=42690"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/tags?post=42690"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}