Docker containers Webinar Part 1: How They Work, from Idea to Dev
The Docker containers Webinar: on October 19, I held Part 1 of a three-part webinar series on Docker. For those of you who could not attend, this p...Learn More
Before getting into a discussion on the benefits of cloud containers, it may be beneficial for some readers if we explain what cloud containers are, as they have developed into more than the latest “buzzword” and are changing the way in which many businesses deploy resources in the cloud.cloud containers are single executable applications that do not need a full operating system Click To Tweet
The big difference between cloud containers and virtual machines is that cloud containers share the host operating system´s kernel with other containers. Each container gets its own isolated user space to allow multiple containers to run on a single host operating system. A good starting point to learn more about containers is taking the Introduction to Containers Learning Path. You can also find more details on other Cloud Academy resources linked to containers here and here.
Because multiple cloud containers share the same host kernel, they are much less expensive to deploy than virtual machines. For example, whereas a server hosting ten applications in ten virtual machines would have to have ten copies of the operating system running in each virtual machine, ten cloud containers could share the same operating system.
Not only are the potential cost savings substantial, further benefits of cloud containers include that they are exceptionally portable, they are quicker to boot up than virtual machines and—although designed to operate in isolation—cloud containers can be clustered to work together as a team of microservices which can then be easily scaled.
The portability benefit is of particular value to developers who want to test their applications across multiple operating systems to see if the operating systems make a difference to test results. Because they are being tested in an isolated environment, should an application crash during testing, it will only affect the container rather than the whole operating system.
The benefit of clustering together multiple containers as a team of microservices is that individual services can be updated as necessary without having to take down the whole application in order to replace a single element. Less downtime equates to better utilization of resources, implying that cloud containers provide better value for money than virtual machines.
The benefits of cloud containers present a very strong argument for businesses searching for ways to optimize their presence in the cloud. However, there are two potential issues businesses should be aware of before revising their cloud deployment strategies: cost and security.
There are precedents for costs spiraling out of control when new technologies are introduced—
just look at what happened when businesses first started deploying virtual machines in the cloud. The difference with cloud containers is that many, many more cloud containers are being deployed than virtual machines, multiplying the potential issue several times over.
Businesses using cloud management solutions to keep their costs in check have found many of the solutions ineffective at monitoring cloud container costs. This is because most cloud management solutions are host-centric rather than service- or role-centric. This can also lead to an issue with right-sizing over-provisioned containers, leading to further avoidable costs.
The security issue is potentially more serious. Tests conducted on containers have revealed vulnerabilities that could be exploited in order to execute a kernel panic or denial-of-service attack. Although patches have been distributed to fix the vulnerabilities, applying the patches can be a time-consuming process, and who knows what vulnerabilities have not yet been identified?
CloudHealth is a cloud management solution that can be utilized to monitoring container activity and optimize costs via a “Container Governance Module.” The Module is deployed as a container that collects information about what resources are being used and how they are being used. The information is communicated to the CloudHealth platform for analysis and reporting.
The information collected by the module can help identify resource consumption, which in turn can be used to identify overspends and security issues. The Module helps eliminate the potential issues so businesses can enjoy the benefits of cloud containers without the risks.
Containers can help fragment monoliths into logical, easier to use workloads. The AWS Summit New York was held on July 17 and Cloud Academy sponsored my trip to the event. As someone who covers enterprise cloud technologies and services, the recent Amazon Web Services event was an insig...