Editor's note: The following is a guest article from Brian Gracely, senior director product strategy at Red Hat OpenShift.
CIOs have many challenges today (to say the least), but one of the biggest is enabling the constant development and delivery of new applications — no longer a "nice to have" but a "must have" in today's ever-changing business and global environments. There are many tools that can help CIOs provide this support, but one of the most important is Linux containers.
In a recent Smarter with Gartner report, Gartner Distinguished VP Analyst Gene Alvarez named "enabling and balancing product and project management of applications to focus on delivering business outcomes while maintaining highly reliable core business operations" as being one of the key challenges CIOs face in 2020.
Organizations are turning to containers as a way to provide this business-technology balance. Indeed, the use of Linux containers has increased significantly in just the last year.
The use of containers in production jumped 15% from 2018 to 2019, with 84% of respondents to the CNCF survey using containers in production, According to a Cloud Native Computing Foundation survey report.
That's an even bigger jump from just a few years ago, when containers were considered fringe technology in many companies.
From fringe to frontline
CIOs whose organizations haven't implemented container technology — or are just at the evaluation or testing stage — must develop a deep understanding of the way that Linux containers can not only move the business forward, but also strengthen the organization's resilience during periods of disruption.
Business is certainly seeing our share of disruption these days, and a recent Gartner survey showed that "fit" enterprises will have an advantage when business conditions turn — for better or worse.
"A big take-away for CIOs is that fit enterprises increasingly view IT as a point of leverage for the business. Having a clear and consistent overall business strategy ranks as one of the most distinctive traits of fit enterprises," said Gartner VP and Distinguished Analyst Andy Roswell-Jones, in Gartner's report on the survey. "In such organizations, digital technology will drive that strategy."
If digital technology drives business strategy for "fit" organizations, then containers are driving digital technology for a growing number of organizations.
Agility or obsolescence
Linux containers are, by their nature, agile. This is key to effectively maneuvering through and rising above any challenges — or opportunities — that come a business's way.
Linux containers enable developers to package and isolate applications with their entire runtime environment. This makes it easier (and less expensive) to move fully functional applications among dev, test, production and other environments. In turn, it makes it possible to meet the never-ending internal and external demand for those applications.
Organizations can also deliver microservices — small, self-contained, single-function applications that communicate through well-defined APIs that enable communication to and from the code — through containers.
Developers can quickly and easily build an app by combining microservices, and then test that app based on how consumers will use it. If an app doesn't work as expected, the microservices model makes it easy to tweak, test and deploy the app again — and again and again, if need and/or a new set of circumstances warrant.
Microservices and containers work independently of each other, but together containers and microservices make a powerful team for creating portable, cloud-native applications.
The Kubernetes experience
The MVP of this team, though, may well be Kubernetes. Kubernetes — or Kube or K8s, as it is sometimes called — is an open source platform that automates Linux container operations. Developed collaboratively within the open source community, Kubernetes provides a platform for scheduling and running containers on clusters of physical or virtual machines.
Without Kubernetes, containers can become unwieldy very fast. With Kubernetes, organizations can (among many other things) orchestrate containers across multiple hosts, maximize hardware resources, control and automate deployments and updates, scale containerized applications and their resources on the fly, and check the health of (and then heal) apps.
Many companies are looking to Kubernetes-based application platforms to help them manage all of the moving parts that comprise a container environment. Platform as a service provides a foundation on which organizations can build, develop and deploy applications in nearly any public, private or hybrid infrastructure.
When evaluating PaaS offerings, it's important to look for the use of truly open (as opposed to almost open, is to say closed) standards, as well as strong orchestration, governance and security capabilities.
Still no silver bullet
That's not to say containers and containerization are right for every application. New, cloud-native applications are a no-brainer in the container model, but that on-premise monolithic application that has been updated over many years by many people? Probably not a good candidate for containerization, although it may still make sense to see if parts of it could be broken out discreetly.
Almost any application can be containerized, but whether an application should be containerized is a matter of weighing the amount of effort it takes (in a way that preserves security and performance) against the reward for doing so.
For that matter, containers and containerization are not right for every organization. Development in the container and microservices models requires teamwork, agility, a desire to constantly iterate and innovate, and the ability for stakeholders to take responsibility for their piece of an application puzzle.
If this brings to mind DevOps, it should. DevOps and DevSecOps practices are key to accelerating digital business innovation. Meanwhile, application platforms built on containers and microservices are critical to DevOps practices.
Development teams that are stuck in or loathe to move away from the waterfall model will find it difficult to fully leverage container technology.
CIOs who want to implement containers may first have to shift the culture around app development and work to ensure that development, operations and security personnel have the skill and mind sets to effectively migrate to containers. But, recursively, the adoption of container technology can help organizations make that shift.
CIOs will also have to determine whether the container model meets their organizations' regulatory requirements.
Indeed, ensuring governance and compliance in a hybrid infrastructure that includes on-premise, cloud, virtual and container elements is time-consuming and complex.
Here, too, the use of a Kubernetes-based platform can help.
As organizations strive to stay healthy in an increasingly complex and demanding environment, CIOs are charged with aligning the business with technology that can mitigate challenges and leverage opportunities.
Making use of Linux containers — with all of the model's associated products and best practices — can help organizations alleviate issues and iterate faster across multiple environments