Fueled by the Docker phenomenon, Linux containers have gone mainstream as the easiest way to deploy software applications, packaged as bite-size services, in the cloud. But developers now face new questions, like how to orchestrate all these containerized applications, how to manage containers across multiple clouds, and whether serverless computing will make all this obsolete.
The good news for developers is how much energy is directed at addressing all these questions. The latest example comes from Oracle this week joining the Linux Foundation’s Cloud Native Computing Foundation, which focuses on driving adoption of container-packaged, microservices-oriented computing at enterprise scale. The Kubernetes container orchestration tool is a star technology in the CNCF. In addition to joining CNCF as a platinum member, Oracle has released Kubernetes on Oracle Linux, dedicated engineers to the Kubernetes project, and open sourced several tools including Smith, CrashCart, and Terraform Installer for Kubernetes on Oracle Cloud Infrastructure.
These moves bode well for cloud-native developers who want to avoid vendor lock-in while moving workloads to the cloud. “If Kubernetes provides a way to select the cloud you use, you gain maximum flexibility to choose the best environment,” says Bob Quillin, vice president of developer relations for the Oracle Container Native Group. “More and more of our customers have a multicloud approach.”
The challenge of a microservices approach is that there are many more services to manage, and those services are ephemeral as they scale up and scale down. “Without automation, orchestration, and a built-in administration layer using tools like Kubernetes, you cannot take this to the enterprise level,” says Quillin.
With Kubernetes as the anchor, Quillin predicts that the CNCF’s projects will prove useful for cloud-native apps, DevOps-style continuous delivery, and hybrid workloads.
“CNCF was formed around the concept of an open, cloud-neutral, standards-based approach. That’s the key reason we’ve joined; it’s the hub for open source components that already have success in the field,” he says. “It supports those projects but also lets them run independently.”
Quillin knows this fast-morphing cloudscape well. In 2014, he founded StackEngine, a container technology company that was acquired by Oracle in 2015. His Austin-based team continued its efforts and, in 2016, launched Oracle Container Cloud Service. Oracle and CNCF share the goal of supporting Kubernetes and related tools for containerized applications at enterprise scale, across multiple clouds.
“With Oracle’s commitment to enterprise-grade networking and security, and bare metal performance being a core competency, supporting Kubernetes and its enterprise cloud adoption is very important to our customers,” says Quillin.
Will CNCF Make the Open Stack Mistake?
But can the CNCF avoid the fate of Open Stack, an earlier effort to create open source private and public clouds that had mixed results and poor adoption? CNCF’s approach is shaped by the community, he says, whereas Open Stack’s was defined more by vendors: “They had a complex stack of interconnected components that turned out to be very difficult to roll out in an enterprise.”
Several engineering teams at Oracle are dedicated to the Kubernetes effort, particularly in security, networking, and federation. TJ Fontaine, former Node.js project lead, is now Oracle’s lead contributor to Kubernetes. Jon Mittelhauser, Oracle vice president of container native engineering, joins CNCF’s governing board.
Quillin notes that there’s more to CNCF than Kubernetes, and that Oracle is using several promising tools under the CNCF umbrella, including Prometheus for monitoring, Open Tracing for instrumenting distributed code, gRPC for remote procedure calls, and OCI, the Open Container Initiative. “Kubernetes is the poster child for CNCF. But in order to operationalize containers, you also need to trace and monitor and debug and control,” he says.
Complementary to Serverless, DevOps
But what will the serverless trend mean for Kubernetes, and containers more broadly? Serverless and containers are complementary, not mutually exclusive, Quillin explains, and CNCF is likely to address how to make serverless work across clouds as well.
“Serverless means you begin to think more like a developer, with infrastructure taken care of for you. Amazon’s Lambda is notable, but that’s a closed solution that runs only on AWS,” Quillin says. “It’s not viable until it can be used cross-cloud or on premises. We are excited to work with the industry to develop an open, cloud-neutral serverless techonology, and CNCF is likely to be a leader in that effort.”
As more and more tools emerge for born-in-the-cloud apps, developers are embracing the microservices pattern and applying it to chunks of existing monoliths. This architecture pattern is predicated on continuous integration and delivery, which are tenets of DevOps. Today, Quillin says, tools like Kubernetes and Docker are leading the culture.
“Container technology is the killer app for DevOps because it’s intended to connect developers to production,” says Quillin. “A container is the best artifact to move from a developer’s laptop to QA to staging to production, so it’s a true enabler.”
Alexa Weber Morales is an editor and content strategist for Oracle.