Cloud Foundry Container Runtime, launched this week, gives IT ops pros a flexible way to deliver container infrastructure and support DevOps for traditional workloads, as well as newly developed apps.
Formerly known as Kubo, Cloud Foundry Container Runtime integrates the BOSH infrastructure management utility within Cloud Foundry's platform as a service (PaaS) with Kubernetes container orchestration. Pivotal, which kicked off the project in March, introduced the Pivotal Container Service based on Kubo with VMware in September 2017. Cloud Foundry Container Runtime is an open source alternative that enterprises can customize for on-premises data centers or public clouds.
"Many Kubernetes distributions are good on Day One, when they're first deployed," said Andrey Rybka, technical architect in the office of the CTO at Bloomberg, the global finance, media and tech company based in New York. "But what happens on Day Two, when something fails? Kubernetes doesn't [automatically] address things like failures at the physical node level."
Bloomberg's IT team is already familiar with Cloud Foundry PaaS, which it has deployed in an internal private cloud, and knows how to use BOSH to handle host and VM failures. Other open source tools, such as HashiCorp's Terraform, are popular to automate the infrastructure that supports Kubernetes clusters, but Rybka said he prefers BOSH. It performs health checks on hosts, and the Kubo integration with Kubernetes will automatically "resurrect" host VMs that fail to create a self-healing system, he said.
Long term, Bloomberg will look to Cloud Foundry Container Runtime to help achieve a uniform container infrastructure across clouds. It can define portable infrastructure manifests and query public cloud APIs to smooth over differences between various infrastructure-as-a-service environments.
"The differences between them might be minor, but multicloud [deployment] needs as few differences as possible to offer a uniform interface to developers," Rybka said. Cloud Foundry Container Runtime can also help to distribute Kubernetes clusters across availability zones in the public cloud and detect the health of availability zones prior to application deployment.
Bloomberg engineers collaborated with Pivotal on Kubo and have tested Cloud Foundry Container Runtime with the Bloomberg production IT team. The CTO team, where Rybka works, researches technologies and helps production IT engineers test them. Bloomberg doesn't yet work with Container Runtime in production, but Rybka said it is under consideration.
Container Runtime creates new way to use Cloud Foundry PaaS
Andrey Rybkatechnical architect, Bloomberg
Besides Pivotal and VMware, other well-known IT vendors, including IBM and SAP, already offer Cloud Foundry PaaS products. IBM has the Bluemix Container Service, but has not yet publicly committed to putting Cloud Foundry Container Runtime into production. Regional Cloud Foundry PaaS providers, such as Swisscom, have said they will support it.
Cloud Foundry was a holdout from the Kubernetes world as the Google-backed container orchestration platform rose to prominence during the last two years. Cloud Foundry Container Runtime now takes its place alongside its Application Runtime as a core component of the project, said Cloud Foundry Foundation CTO Chip Childers.
Childers said he expects that Container Runtime will appeal to enterprises that want to modernize existing applications using containers' flexibility and multicloud portability, while Application Runtime will be best suited to automated deployments of newly developed application code.
"There's a desire to blend these two levels of abstraction -- Container Runtime isn't about pushing code, but about moving packaged software wrapped in container images into the cloud," Childers said. While Application Runtime abstracts container management completely from the user, Container Runtime's abstraction stops at the point of health management, log aggregation and network routing for containers that customers bring to the cloud themselves, he said.
This reflects the fact that enterprises have reached cloud maturity and want to use services such as Container Runtime to bring existing applications up to DevOps speed alongside new apps, said Jay Lyman, analyst at 451 Research. Among 935 respondents to 451's Voice of the Enterprise: Cloud, Workloads and Key Projects 2016, those who plan to use cloud were divided evenly among new application deployments (33.4%), modernizing legacy apps by replacing them with SaaS or hosted software (33.4%), and lifting and shifting existing apps into public cloud infrastructures (33.3%).
"Most enterprises are not Yelp or Twitter," Lyman said. "They have a lot of legacy apps to manage, and they don't want to end up with different silos for them."
Cloud Foundry is "battle-tested" in private cloud infrastructures at enterprise scale, and it's better known among enterprise IT shops than newer infrastructure automation tools, such as those made by HashiCorp, Lyman said. The Cloud Foundry Foundation also has a large community of enterprise organizations, including Bloomberg, that contribute to its code.
The roadmap for Cloud Foundry Container Runtime includes support for stateful applications based on the StatefulSets feature that became available with Kubernetes 1.7 in June. The foundation also plans to integrate the Istio project, founded by IBM, Google and Lyft in May, which helps to manage network communications between microservices, Childers said.
Container abstraction in PaaS draws in newer ops pros
Cloud Foundry's flexible PaaS gives organizations a customizable experience
Tips to modernize your app for DevOps -- the right way