Embracing containers for software-defined cloud infrastructure

Introduction

Containers and Kubernetes container orchestration have emerged as highly desirable technologies that give enterprises the agility to embrace new business opportunities in a cloud-centric world. To capture these opportunities, organizations must respond more quickly than ever to retain customers and grow the business in the face of increasing global competitive pressures. The customer experience is paramount, and having the right applications and infrastructure in place at the right time—secured and ready to scale—can make or break critical strategic initiatives.

Modern hyperscale public clouds redefine possibilities for applications and infrastructure, yielding highly available, resilient, and massively scalable services. Containers also open new opportunities for applications that are deployed on a private cloud. Built to enable the hybrid cloud, containers represent a fundamental opportunity to move beyond traditional, slow, and cost-intensive ways of developing and deploying applications toward truly programmable infrastructure without arbitrary limitations. Beyond merely moving applications to the cloud, containers fully exploit the benefits of cloud environments—whether public, private, or hybrid in nature.

It is no surprise that container usage is growing (Figure 1) alongside growth in the public cloud. Container adoption is increasing dramatically, driven by digital transformation pressures and the need to increase the pace of software development and application innovation. IDC forecasts that there will be roughly 1.8 billion enterprise containers deployed by 2021, representing a 5-year compound annual growth rate (CAGR) of 79%.  Many of these containers are already running business-critical enterprise applications.
 

image container Figure 1. Projected growth in container deployments, IDC 2019


Beyond virtualization: Faster innovation requires better tools

Many organizations say that they want to innovate with their applications and services. Unfortunately, many are stuck spending most of their resources maintaining their existing legacy application infrastructure—leaving innovation as an opportunity cost. Virtualization and virtualized applications contributed significantly to better infrastructure utilization through server consolidation. Containers, orchestration, and cloud infrastructure take these gains further, bringing speed, agility, and portability to app development and deployment.

What are containers?

Containers allow you to package and isolate applications with their entire runtime environment—all of the files necessary to run. While this sounds like a simple technical innovation, it fundamentally changes the application landscape. With containers, applications can be moved between environments (e.g., dev, test, production) while retaining full functionality. Containerized applications can also be deployed equally on private, public, or hybrid cloud infrastructure. Containers are also an essential part of IT security. By building security into the container pipeline and defending your infrastructure, container-based applications are reliable, scalable, and trusted.

Why use containers?

Shortening the system development life cycle has become critical, along with providing continuous delivery and high software quality. Containers help because they reduce conflicts between your development and operations teams by separating areas of responsibility. Developers can focus on their apps, while operations can focus on the infrastructure. Because Linux® containers are open source technology, the latest advancements are immediately available. Container technologies—including CRI-O, Kubernetes, and Docker—help your team simplify, accelerate, and orchestrate application development and deployment.

What is container orchestration?

Container orchestration manages container deployments across an enterprise. Kubernetes, originally designed by Google and maintained by the Cloud Native Computing Foundation, is an open source platform that automates and orchestrates container operations. It eliminates many of the manual processes involved in developing and scaling containerized applications. Kubernetes gives you the platform to schedule and run containers on clusters of physical or virtual machines. It also offers developers a self-service environment for building applications and delivers full-stack automated operations on any infrastructure. 

What can you do with containers?

When your business needs portability across multiple environments, containers are an easy decision. Containers are appropriate for myriad workloads and use cases ranging from large to small. They give your team the underlying technology needed for a cloud-native development style so that you can get started with DevOps, use continuous integration and continuous delivery (CI/CD), or even go serverless. Container-based applications can work across highly distributed cloud architectures. Containers are the ideal deployment unit for each microservice in a microservices architecture, as well as the service mesh network that connects them.

Containers benefit the business

Any new technology transition comes with costs, challenges, and a learning curve, and no technology is worth the investment if it does not promise benefits to the business. Those who have already deployed containers are seeing significant gains. A recent IDC study sponsored by Red Hat projected that investing in containers will yield a US$10.89 million value per organization,1 with benefits that include:
 

  • Better response to business needs. Containers facilitate faster time to market by enabling development teams to deliver new applications and features more frequently, and in less time, including across cloud environments. 
  • Increased revenue and business. With containers, organizations can decrease time to market and react to business opportunities more quickly, delivering higher quality services across disparate business locations.
  • Consolidated management. Containers reduce the amount of IT staff time required to manage, support, and secure IT environments.
  • Reduced costs. Moving to cloud and cloud-native development lowers infrastructure and development costs by reducing the need to purchase and maintain servers and other hardware.

Containers help IT accelerate digital transformation

As IT departments strive to match the pace of business, container technology can play a vital role by speeding digital transformation. Containers make it easy to package applications, and they have fast startup and teardown times because they are portable and lightweight. These attributes make them ideal for encapsulating cloud-native applications. Containers also enable a wide range of technologies and approaches, including automation, orchestration, microservices, CI/CD, and immutable infrastructure. Containers advance digital transformation efforts by:

  • Accelerating application delivery. IT teams need to develop applications and infrastructure as quickly as possible while retaining security and software quality. As developers move toward agile methods and DevOps, containers help enable microservices architectures while facilitating fast software pipelines and automated testing to reduce errors in manual release processes.
  • Enabling cloud-native development. More than just hosting apps in the cloud, cloud-native app development can employ virtually every modern method of application development and deployment. Microservices, agile development, CI/CD, DevOps, and other cloud-native technologies and techniques help organizations innovate and develop new applications quickly to remain competitive.
  • Allowing application modernization on your terms. Organizations need to be able to modernize their existing applications, “lifting and shifting” monolithic applications to the cloud. Containers provide this ability while offering the opportunity to refactor pieces of the application as microservices for additional performance or scalability.
  • Facilitating cloud-scale automation. Moving to cloud-scale implies scaling applications, systems, and platforms without technical limitations. Together with the public cloud, container orchestration works to deploy and manage distributed cloud-native applications. Fully automated orchestration patterns for common scenarios minimize human error and allow operation at cloud scale with scalability and resilience.

Red Hat OpenShift for hybrid and multicloud deployments

As powerful and popular as containers are, Red Hat understands that successful enterprise container deployments require more than containers and Kubernetes technology. They need a complete, robust, and proven Kubernetes-based environment that meets the needs of cloud-native applications in an enterprise setting. In response, we offer Red Hat® OpenShift®—a Kubernetes container platform with full-stack automated operations to manage hybrid cloud and multicloud deployments in the enterprise.

Depicted in Figure 2, the Red Hat OpenShift environment is optimized to provide the best IT operations experience combined with the best in developer productivity—across any infrastructure. The platform includes Red Hat Enterprise Linux CoreOS, single-step installation, and increased resilience and performance, all in a developer-friendly framework.
 

image container Figure 2. Red Hat OpenShift delivers a complete container platform for the enterprise.


Red Hat OpenShift provides:

A cloud experience, everywhere. Red Hat OpenShift consists of an enterprise-grade Linux operating system along with container runtime, networking, monitoring, registry, and authentication and authorization solutions. Automated life-cycle management yields increased security, tailored operation solutions, easy-to-manage cluster operations, and application portability.

Enterprise Kubernetes. In keeping with its enterprise focus, Red Hat OpenShift leads with a security-focused and fully supported Kubernetes platform. Together with a Red Hat Enterprise Linux foundation, we offer expert training and consulting for those who require further support.

On-demand application stacks. Red Hat OpenShift lets you develop your apps with the languages and tools you want while deploying through self-service container images. Use pre-created quickstart application images (Java®, Node.js, .NET, Ruby, Python, PHP, and more), quickstart application templates of your favorite application frameworks (Apache HTTP Server, Jenkins, CakePHP, Dancer, Ruby on Rails), Red Hat Middleware as cloud-based services in containers, and classic relational and modern NoSQL databases.

Red Hat Runtimes. Developers need multiple tools, languages, and frameworks to implement their business applications and move existing monolithic applications to microservices and the cloud. Red Hat Runtimes provides a set of comprehensive frameworks, runtimes, and programming languages for developers, architects, and IT leaders.

Red Hat OpenShift Container Storage, persistent software-defined storage integrated with and optimized for Red Hat OpenShift. It runs anywhere OpenShift does: on-premise or in the public cloud. Built on Red Hat Ceph® Storage, the Rook operator for Kubernetes storage orchestration, and NooBaa multicloud object gateway technology, the platform offers tightly integrated, persistent data services for OpenShift and the hybrid multicloud.

Conclusion

Container and Kubernetes technologies are here to stay, providing new ways to develop and deploy applications in cloud environments, wherever they exist. These technologies are already accelerating digital transformation and application modernization efforts for a wide range of organizations and across diverse applications. By innovating and packaging containers and Kubernetes for the enterprise, Red Hat OpenShift can automate the provisioning, management, and scaling of applications, so you can focus on writing the code for your next big idea.

Learn more about how organizations are using Red Hat OpenShift to solve diverse application challenges through a growing list of Red Hat OpenShift success stories.
 

Chen, Gary, and Matthew Marden. “The Business Value of an Agile and Flexible Platform for Developing and Running Applications with OpenShift on AWS.” IDC White Paper, sponsored by Red Hat, May 2019.

Tags:Cloud