More than 60 years ago, a trucking entrepreneur revolutionized the shipping industry by introducing a more efficient method of transporting goods. Instead of workers manually loading and stacking small boxes of goods onto ships, Malcolm McLean debuted the world’s first ship for carrying trailer-sized containers, thereby dramatically speeding the process of shipping goods globally.
In the same way containers changed the shipping industry, today’s container technology is changing how businesses deploy and use applications in the data center and the public cloud. According to a recent Forbes article, container adoption is growing rapidly in the enterprise—much faster than expected. And according to a recent Gartner report, “By 2023, more than 70% of global organizations will be running more than two containerized applications in production, up from less than 20% in 2019.”[i]
Lightweight and portable, containers are growing in popularity
What’s behind this growth? Containers share a common lightweight Linux OS and only keep the different pieces unique to the application within the container. This type of OS-level virtualization means you can hold a lot more containers on a particular host computer compared to virtual machines (VMs). More applications on fewer hosts mean your data center is more efficient and cost-effective.
Containers are more portable and offer greater flexibility than VMs. When combined with an orchestration system, such as Kubernetes, you can run the same container on any Linux operating system. Today, if you deployed an application using the VMware hypervisor, you couldn’t move it to a KVM hypervisor without to making a lot of changes.
In contrast, there is less friction moving containers around regardless of hypervisor or end location, making it easier to run your applications on the platform of your choice. For example, you can develop an app and take it from your desktop and move it to the Amazon cloud, Google cloud, or the Microsoft Azure container environment – all without needing to make significant adjustments to the code. No container is purely portable; however, you can dramatically reduce the dependencies to the virtual machine by moving to a container strategy.
Containers let developers create applications using small services accessible through an API rather than a monolithic application. When using this type of microservices architecture, developers can easily make a small change to an application and push it out immediately–without affecting other microservices. Because containers are lightweight and portable, they tend to be the ideal operating environment for microservices. All of which results in containers enabling businesses to become more agile.
Containers and Kubernetes – now popular in the enterprise
For several years, containers have been the default standard for application development in the public cloud. Now, containers are extending their popularity to private clouds due to rise of Kubernetes, a container orchestration tool. Because different services in an application are packaged into separate containers and deployed across numerous physical or virtual machines, an orchestration tool automates processes such as deployment, management, networking, and scaling.
Until recently, competing standards have muddied the orchestration waters, leading to slower acceptance of containers. However, in the last two years, Kubernetes has dominated, and is quickly becoming the most popular container orchestration system. Originally built and open sourced by Google, Kubernetes is maintained by the Cloud Native Computing Foundation (CNCF). Because it is open source, anyone running containers can freely use it – in the public cloud and in private clouds on premises.
Now that the industry has settled on a single orchestration tool, enterprise IT departments realize the benefits of using containers. Developers can create applications faster because microservices drive efficiency and align to more resilient code practice. This means businesses can create applications faster and become more responsive to market demands.
4 steps to start implementing containers in your enterprise
As containers continue to grow in popularity, every enterprise should be experimenting with containers to see how they can improve efficiency, save money, and speed application development. If you are wondering how to get started, I recommend beginning with four basic steps:
- Start familiarizing your IT and development teams with deploying a Kubernetes stack in the public cloud. It can be a small, self-contained environment not connected to your corporate network. This first step will allow your team to start learning.
- Analyze you current IT estate and start looking for workloads that are standalone and don’t require other apps to run. These applications are the best candidates for containerizing.
- Look for individuals within your development team who believe in a container strategy. You may not be aware that some of the groups are already experimenting. Once you find them, encourage them and provide additional resources to help. Gartner recommends to I&O leaders focused on IT operations transformation, “Establish a foundation to measure results achieved with containers by creating a list of container management objectives and outcomes. These objectives and outcomes can be based on prioritized factors such as orchestration options, public/private/hybrid cloud choices, compatibility with existing security policies, and internal skills requirements.”[ii]
- Encourage participation in CNCF and other organizations that support Kubernetes. Involvement in these types of organizations will provide numerous opportunities for learning and support. Also encourage your IT operators and developers to stay up-to-date on container-related offerings, as the industry is fast-moving and constantly changing.
The world is moving in the direction of containers on bare metal, virtual machines, and in the cloud. Enterprises need to start implementing a container strategy, or they may miss the boat. Adoption of containers and microservices is real and is transforming how enterprises are deploying IT infrastructure. Hewlett Packard Enterprise (HPE) is at the forefront of this transformation, developing and evolving HPE products to be more container and developer friendly.
To learn more about containers, download the ebook, IT Infrastructure modernization: Containers for Dummies. For more information about the trends and challenges of delivering IT services in the new hybrid cloud world, check out the IDC whitepaper: Extending the Cloud Experience Across the Enterprise.