You are here

You are here

How OpenStack combines with containers to ease app management

Lars Herrmann General Manager, Integrated Solutions Business Unit, Red Hat, Inc.
Container crane

In today’s application-driven world, customers expect agility, efficiency, and a high degree of automation across everything that they do. Vendors have responded by innovating around the container stack and empowering organizations to build and deliver the highest-quality applications possible.

As containerized applications emerge as the new workload type for the enterprise, OpenStack has positioned itself as a prime deployment environment. According to Red Hat research, 57% of enterprise respondents said that they are already using or plan to use containers on OpenStack, while only 4% of respondents said they are not considering that combination.

I've written about the top reasons to run your containers on OpenStack. Here I explain why combining containers with OpenStack is an excellent way to manage applications within a hybrid cloud infrastructure.

Why OpenStack

In my earlier article, I explained that by using containers with OpenStack you can leverage the best of both worlds: You can develop and deliver better applications faster and in turn take advantage of software-defined infrastructure services. This provides for better autonomy and better abstraction.

Most cloud-native systems are moving toward being packaged via containers, dynamically managed, and microservices-oriented. To run containers, however, organizations need more than just a container runtime and packaging format. Containers aren’t a stand-alone technology; they require a stack of complementary infrastructure technologies to create, deploy, manage, and maintain applications and infrastructure services. This is what OpenStack provides.

The public-versus-private debate

The benefits for some workloads of private clouds over public clouds such as Amazon Web Services (AWS) are clear:

  • Control to optimize both hardware- and software-based environments
  • Improved performance by keeping resources on premises, removing any latency associated with accessing public cloud-based resources
  • Flexibility to build and grow your project on your own schedule, without being locked into any one public cloud vendor
  • Resiliency that comes from the stability of a private cloud environment, where it is less common for instances go up and down
  • Interoperability through open container standards, such as the runC runtime standard from the Open Container Initiative (OCI)

But not every application or project benefits from a private cloud. Private clouds may not make sense for organizations that:

  • Have shorter project life spans. Private clouds are more of an investment up front, making them better for projects with long implementation.  
  • Need to implement quickly. The public cloud works well for projects that need to be up and running quickly and might disappear shortly afterwards.
  • Don’t have a deep bench. To implement private clouds, organizations need the right team with the right skills.

Also, it is appealing to many organizations that the hands-off approach of the public cloud frees IT to focus on adding new features and activities to drive the business. A hybrid, multi-cloud environment may mean the best of both worlds: You leverage your own existing infrastructure while harnessing the power of new cloud technologies and services. That can work better, for example, when re-architecting legacy applications to a cloud architecture and operational model.

Getting to hybrid

To make a hybrid cloud approach work, you need the right tools. Besides OpenStack, Kubernetes, one of the most popular container orchestration engines, is a key tool, enabling organizations to manage containers across multiple cloud architectures.

Kubernetes' ability to orchestrate applications consistently across public and private clouds has made it a favorite with businesses working with hybrid clouds. Organizations can converge the technology already in place with Kubernetes to make building private clouds easier and to better enable a hybrid strategy.

And this leads to the second important way in which containers and OpenStack come together. While Kubernetes is an application tool and OpenStack is an infrastructure tool, OpenStack is itself an application. So Kubernetes can be used to simplify operating OpenStack, running and managing OpenStack services and key operational aspects such as availability, scaling, and upgrades. Once this is in place, OpenStack can launch and run multi-tenant and self-service Kubernetes clusters for end users and their applications. With this approach, OpenStack becomes easier to manage with containers under the hood while at the same time adding powerful infrastructure capabilities to the container deployments.

Easier hyperconvergence

Pairing OpenStack with containers in the data center is a great way to optimize applications and infrastructure.

Private clouds that integrate compute, network, and storage infrastructure services into a hyperconverged architecture provide a highly efficient and performant underpinning for cloud-native and traditional applications. Containers and container orchestration help manage the technical integration and operational complexity of hyperconverged infrastructures, which in turn creates a cost-effective and powerful alternative to public cloud services and opens the door for more applications being moved into a cloud and DevOps operational model faster.

The flexibility to orchestrate applications composed of containers and into virtual machines (VMs) on-premises or in the cloud will also be key. Containers are the next phase for hyperconverged after they have exhausted the virtualized workloads. Bundling and converging layers can create a new data center stack and architecture for agile processes and containers.

Get enterprise-ready

Linux containers are a solid option for enterprise-grade deployments, and many large-scale infrastructure rollouts are being deployed with containers in mind. At the next level, containers enable the basic OS-level plumbing that allows organizations to take things such as networking, storage, and identity into the cluster. That’s what OpenStack does very well.

Now it’s making its way into the container level and marrying it with the technologies and workflows that developers will use to achieve a segregation inside the organization so that they can independently manage different projects and applications without getting in the way of one another.

OpenStack, combined with containers, is providing enterprises with an attainable and sustainable way of managing their applications within a hybrid cloud infrastructure, and we’ll continue to see many new innovations for using containers with OpenStack in future releases of both project communities.

Keep learning

Read more articles about: Enterprise ITIT Ops