CoreOS’s Open Cloud Services Could Bring Cloud Portability to Container-Native Apps
With the release of Tectonic 1.8, CoreOS provides a way to easily deploy container-native applications as services, even across multiple service providers and in-house resources.
“We take open source APIs, make them super easy to consume, and create a catalog of these things to run on top of Kubernetes so they are portable no matter where you go,” said Brandon Philips, CoreOS chief technology officer.
The company launched this latest iteration of Tectonic, its commercial distribution of the Kubernetes open source container orchestration engine, at the Cloud Native Computing Foundation‘s Kubecon 2017 event, held last week in Austin.
The idea is for the application catalog service, called Open Cloud Services, to work much like continuous integration and deployment pipelines across the entire application lifecycle. “That catalog of applications will have a number of versions for each application,” Philips said. And this categorization will make it easier to standardize infrastructure on monitoring, logging, other cross-application concerns.
The services will be handled through the Kubernetes’ Operator pattern, which CoreOS brought to K8s in 2016. Operators manage software in a single namespace within a Kubernetes cluster.
An organization may have multiple namespaces, with each name dedicated to a deployment of an application, such as one for testing, one for development, and one for deployment. “We are essentially making it possible for you to consume software with container native APIs and do it on a per-deployment basis of your application,” Philips said.
Initially, CoreOS is packaging into services support tools that tend to be used alongside most applications, such as the Prometheus monitoring toolkit and the Vault security store. This way, no matter what cloud provider is deployed to run the cloud native application, be it Azure or Amazon Web Services, the user can run the same support tools alongside the application.
“Probably the biggest application lock-in, when you move to the cloud, is identity management, these accounts you can only get from the cloud provider. By introducing Vault, we [provide a way to] program against the Vault API, and that API is something you can take with you to Azure, AWS, or to your own data center,” Philips said.
CoreOS will add more cloud-native applications into the service, taking feedback from customers as to which apps to prioritize. Logging services, databases and streaming services such as Kafka are the types of applications that would be a good fit for inclusion, Philips said.
“People want to run these things in a managed environment. They don’t want to become experts,” Philips said. With forthcoming releases, the company will also offer users the way to extend our the service with their own applications.
One of the potential selling points for the service is that it will take care of the upgrade process. Upgrading Vault, in particular, can be a complicated undertaking. “We’ve taken that and put it into code, so you just tell the Vault service to upgrade to a new version, and we run through the steps for you,” Philips said.
Because it is so easy to support multiple environments, the service may inspire the organization to create even more environments for testing and deploying applications.
“That’s what we do at CoreOS. We have a QA environment for every time we check something into the code. We can see the last commit or the last 20 commits,” Philips said. “Or, if something is going on in production, I can go into the catalog and see what version is running in production, and spin up a new copy in a new namespace of what production is doing so I can try to reproduce it.”
The service catalog could help prod container operations more towards the level application management.
Kubernetes has a wealth of supporting tools, such as Helm and ksonnet, but few provide any way of understanding what is happening at the application level, Philips explained. “They improve the workflows of containers in Kubernetes, but doesn’t give you that one-click view of everything you would want to know about the app,” he said.
Philips is bullish on the idea that the Kubernetes API will be the basis for cloud-native portability in the years to come.
“We’ve been a big advocate of extending the Kubernetes API to do more things,” Philips said. The Kubernetes command line, kubectl, could be the central point of access for everyone from developers to network engineers. “It gives people the control to help themselves,” he said.
Tectonic 1.8 is based on Kubernetes 1.8, released last month.
CoreOS is a sponsor of The New Stack.