Kubernetes is evolving into an enterprise-friendly platform, but challenges remain
- An update on the rise and rise of Kubernetes - impressive, but still work to do.
The rise of Kubernetes has been stunning. It’s gone from an open-source project championed by a clique of cloud-native developers to a standard operating platform promoted by the three primary cloud service providers in a few years; a trend we first highlighted two years ago.
Fueled by a shift of application workloads from VMs to containers, Kubernetes has become a popular choice for automating and scaling container deployments. However, Kubernetes development so far has focused on the infrastructure internals and not the broader problem of streamlining application development and deployment. Fortunately, such insularity is waning as several PaaS stacks are adding Kubernetes clusters as a supported runtime destination, with the latest being enterprise favorite, Pivotal Cloud Foundry. The company’s move to integrate Cloud Foundry with Kubernetes is part of a larger trend in the evolution of the container orchestration platform into an enterprise-friendly environment.
As we’ve previously discussed, there are compelling business and technical reasons for organizations to exploit the power of software abstraction by adopting PaaS stacks and development methodologies. Cloud Foundry became the most popular enterprise choice in part by being early to market, but also based on technical merits by offering a complete system that addressed the needs of both developers and IT professionals. Cloud Foundry has long used containers as the application runtime environment, however as a self-contained system, these were managed by an internal module called Garden. Users of the commercial Pivotal Cloud Foundry version will soon have another option, Kubernetes, and the development is part of a spate of enhancements that address shortcomings hindering the enterprise adoption of Kubernetes.
Pivotal embraces Kubernetes, service meshes
Pivotal, the partial spinout from Dell where the technology giant still holds a majority stake, arguably made Cloud Foundry an enterprise PaaS by offering an integrated, supported set of software and services. At the recent OSCON developer conference, the company addressed the booming popularity of Kubernetes as a container management system by announced a limited preview version of its core product, Pivotal Application Service, running on Kubernetes. The blog announcing the development is short on details, but does say,
PAS on Kubernetes aims to bring the development experience of PAS on top of Kubernetes. The alpha release is a proof-of-concept that supports the most important features of PAS, such as `cf push` for many buildpack-based apps, while running PAS app instances on Kubernetes. This graphic sums up what’s in the alpha.
Source: Pivotal blog: Pivotal Brings the Magic of CF Push to Kubernetes
Pivotal goes on to list the following features of its Kubernetes implementation:
- Cloud Foundry app instances run a Kubernetes pods, with a translator that turns PAS applications in an OCI (Open Container Initiative) image and Kubernetes pod configuration. The Kubernetes controller then manages application deployment and scaling.
- Integration with the PAS HTTP router to direct traffic for client requests to applications running on Kubernetes.
- Integration of application and pod logs with the PAS logging system (Loggregator).
- Support for up to 50 application instances.
The alpha release requires vSphere, NSX-T and the Pivotal enterprise container service, PKS, but the company plans to support other Kubernetes platforms, notably the AWS, Azure and Google Cloud Kubernetes services.
Over the past few months, Pivotal has also introduced several other Kubernetes products including a build service to create container images based on the open source Buildpacks project, support for the Spring Java Runtime environment and RabbitMQ software on Kubernetes and a container Service Mesh based on Istio and Envoy that automates client access to applications running on Kubernetes clusters. Each of these significantly enhances the utility and usability of Kubernetes as a production application platform. Furthermore, as commercial, supported products, Pivotal’s add-ons eliminate the overhead and technical expertise needed to install, tweak and debug open source software.
Source: Pivotal blog; Simplified Platform Networking with Pivotal Service Mesh, Powered by Istio and Envoy
IBM bootstraps cloud-native application development
IBM has also been busy with Kubernetes enhancements for enterprise developers, likewise using OSCON to announce several open source projects designed to speed and simplify the development of containerized applications. While not yet packaged as commercial software, the following projects will particularly appeal to developers new to cloud-native application design.
- Kabanero is an architectural and development framework for containerized applications that use Kubernetes for workload management that addresses the needs of enterprise architects, Java developers and DevOps delivery teams. It is built on three other Kubernetes-related projects: Knative (development process automation and serverless endpoints), Istio (service mesh) and Tekton (CI/CD integration). Kabanero encapsulates best practices for configuring Kubernetes clusters, security and networking with development runtimes and frameworks (Node.js, Java, Swift) into pre-built deployments. It also incorporates several new projects, including:
- Appsody simplifies app development by bundling pre-configuration development frameworks and templates for several popular programming environments.
- Codewind is an open source development project manager that adds container support to popular IDEs including Eclipse and Visual Studio.
- Razee is a continuous delivery tool that supports containerized microservices targeted for Kubernetes deployment that includes a graphical interface to visualize configuration information and deployments to assist with troubleshooting. It simplifies multi-cluster deployments through built-in templates that enforce configuration and security policies across clusters and cloud environments.
According to IBM’s announcement (emphasis added):
...no other open source project provides an integrated experience from the creation of a containerized cloud-native application through its production lifecycle on Kubernetes.
By using Kabanero, your development team can build applications that are ready to be deployed onto Kubernetes without first becoming experts in containers and Kubernetes. This lowers the barrier of entry for developers as their organization moves from legacy infrastructure to more modern infrastructure on their journey to cloud.
Container zeitgeist - robust adoption, but cautionary challenges
Both Pivotal (with its partners at Dell and VMware) and IBM (with its new contingent at Red Hat) realize that enterprise developers and IT organizations see containers as a more efficient, flexible and scalable application environment than the VM server farms they currently use. However, enterprise users continue to struggle with immature technology, challenging security configuration, a steep learning curve and complicated infrastructure that’s not easily integrated into other systems.
Indeed, a recent survey from Diamanti illustrates both the growing use of containers and continuing challenges of enterprise adopters. In a sign that containers have moved into the mainstream, the survey found that IT and platform architects are responsible for the majority of container decisions, while the share of organizations spending at least $100,000 on container technology this year increased 5.5 points to 38.5 percent. Furthermore, 26 percent of those spending at least $100,000 on containers plan to move most of their workloads to containers.
One area that enterprises struggle with is finding enough container expertise to achieve their goals. Those describing the dearth of people with container skills as a “major adoption inhibitor” increased by half this year to almost a quarter of all survey respondents. Worse still, many of the respondents claiming that finding skilled employees had no effect on their plans were those spending the least on container technology (less than $50,000), i.e. those either just starting or testing minimal container installations. Filtering out that group showed that almost 65 percent reported the skills shortage as a moderate or major adoption inhibitor.
When it comes to running containers in production, the most significant challenges have been quite consistent over the years: integration with existing infrastructure, security and deployment complexity. These inhibitors are a key reason why packaged container platforms like Diamanti, PAS, Red Hat OpenShift and others are so popular with enterprise IT and DevOps organization.
Source for all survey charts: 2019 Container Adoption Benchmark Survey; Diamanti.
Discussions of Kubernetes can still seem hopelessly lost in arcane details of server configurations, network plumbing and programming syntax, leaving business and IT executives to question how the technology contributes to their needs for new applications and faster time-to-market. For these non-specialists, watching most Kubernetes discussions is akin to a condo developer attending an ASHRAE convention: they really don’t care about the design details of demand-controlled ventilation systems. Instead, application owners, sponsors and business executives want to know how Kubernetes can save them money, improve application performance and reduce development time. However, meeting these goals is better done by focusing on application development processes not delivery systems.
Herein lies the opportunity for Kubernetes developers, whether it is commercial software companies like Pivotal and IBM, cloud service providers like AWS, Microsoft and Google or the vast army of open source contributors to the Kubernetes ecosystem. Enterprises see the value of containers and Kubernetes, but need products and services that simplify the:
- Development of containerized, cloud-native applications
- Deployment of container infrastructure
- and Management of container workloads and security policies
Recent developments are promising steps in the evolution of container infrastructure. The marriage of core container technology with PaaS frameworks and development methodologies will ultimately make Kubernetes and its ecosystem ripe for the average enterprise.