Containerization has gained considerable steam in recent years. The cloud computing methodology, which involves storing applications in self-contained server slots, is no longer just some unconventional idea batted around in software development forums or tested within small-scale, low-risk environments. Large technology firms are now buying up startup-made container-based technologies and deploying enterprise-level offerings. However, few companies are as passionate about the burgeoning technology as Microsoft.
In recent months, the Redwood, Washington-based hardware and software giant has invested serious resources in developing a container-centric cloud solution capable of supporting heavy mission-critical workloads. In April, Microsoft acquired the container startup Deis, which specializes in cloud technologies developed in the open-source platform Kubernetes, according to an internal blog post. This move followed the public release of a Windows-compatible container solution via Docker, ZDNet reported. On July 21, the company publicized a formal Azure product based on Kubernetes.
Microsoft's push for container technology culminated one week later with the debut of the company's first official proprietary offering: Azure Container Instances. Now, users can spin up complete containers within their Azure instances and use the Kubernetes connector to manage the container orchestration, according to TechCrunch. The product now supports Linux containers and will soon facilitate the use of Windows-based alternatives.
"For those beginning their container journey, Azure Container Instances provide a simple experience to get started with containers in the cloud, enabling you to quickly create and deploy new containers with only a few simple parameters," Corey Sanders, director of compute for Microsoft's Azure division, explained in a press release.
For those unfamiliar with containerization, Microsoft's strenuous effort to roll out multiple products supporting the methodology might seem odd. However, these decisions appear less unusual with a little insight into containers and what makes them special.
Understanding the technology
Containers are self-enclosed cloud computing environments that leverage isolation boundaries at the application level to create distance between the virtual machine and the live product, according to TechTarget. In traditional cloud infrastructure, applications and related files reside within a single virtual machine with isolation boundaries at the server level. Why does this distinction matter? For one, containerization reduces the likelihood of integration issues, as applications can run on separate operating systems – connected to a host OS – within a single server. Additionally, in the event that an application suddenly malfunctions, there is no ripple effect throughout the rest of the server – the damage is contained. On top of that, cloud infrastructure managers do not have to install an entire OS within each separate container, nor integrate them with server hardware. These computational pockets require minimal software and libraries to run.
Understanding the benefits
The above traits offer a variety of substantial benefits. For one, containers are immensely portable, CIO reported. Developers can easily move containerized applications throughout one or multiple servers without having to worry about OS integration issues or the other possible inconsistencies that normally slow down such activities in a traditional cloud computing setup.
"You're going to test using Python 2.7, and then it's going to run on Python 3 in production and something weird will happen. Or you'll rely on the behavior of a certain version of an SSL library and another one will be installed," Docker creator Solomon Hykes explained to the magazine. "You'll run your tests on Debian and production is on Red Hat and all sorts of weird things happen."
Additionally, because containers run scaled-down versions of larger OSs, they save space. For example, one OS instance stored on a virtual machine might may constitute several gigabytes, while the OS features within a single container may only consume a couple dozen megabytes. On top of that, containers take literally seconds to deploy while virtual machines come with considerable boot periods. This allows companies to set aside new server space at a moment's notice, increasing productivity within the information technology department and leading to faster application deployment times. Finally, containers facilitate modularity at the application level, meaning cloud administrators can break a single digital product into multiple parts, making it possible to apply updates without completely rearchitecting an entire application.
Understanding the drawbacks
From a computational perspective, there are few drawbacks to containerization. However, security is a major concern for most, as containers are still relatively new. Most IT professionals are weary of vulnerabilities in the host OS, as a hacker with access to this kernel could, theoretically enter the containers using the scaled-down versions of the OS, according to TechTarget. Of course, container software makers such as Docker addressed this possibility long ago with user namespace features, which allow administrators to assign containers to specific users. In addition to this, hackers could gain access to containers by downloading security images, or small pieces of software. Again, firms have offered a solution: security image scanning technology.
Understanding the use cases
While containerization does trump the virtual machine method on multiple fronts, it may not work for every business. For instance, enterprises with particularly large workloads that multiple users must be able to access may get more mileage out of virtual machines, TechRepublic reported. Of course, those that simply want to adopt predictable cloud technology with a long track record of success might also be particularly drawn to these classic servers spaces.
That said, businesses should expect containerization to evolve further into the go-to cloud computing strategy – especially now that Microsoft has officially joined the container bandwagon.
Is your organization interested in exploring this burgeoning new technology today? Connect with B2B Technologies. Our Azure experts can help you understand how Microsoft's new container-based offering can help your business.