Developers Need More Than Just Kubernetes
IT has been transforming amazingly quickly for the past few years, particularly with the rise of Docker and containers in general. As businesses begin to modernize their IT infrastructure and re-architect existing (or create new) applications using microservices, they are turning to containers, which are much smaller and more portable that virtual machines. As container usage grows, organizations need a way to manage them. Kubernetes is certainly by far the most popular software for orchestrating container usage.
It’s truly incredible to witness the rise of Kubernetes and to see the Kubecon conference continue to grow in popularity. SUSE is committed to Kubernetes and we even have a distribution of our own called SUSE CaaS Platform. But, while Kubernetes is the dominant container management platform for operators, it could be seen as a constraint on developers. Kubernetes simply doesn’t:
- Offer tooling to help with the building, packaging, and deployment of containerized applications as application sets
- Automatically bind applications to required services
- Manage the lifecycle of an application by assigning appropriate resources, managing routing, load balancing, scaling up and down, etc.
- Boost developers’ productivity
- Actively facilitate choice of language, framework, or services most appropriate for a particular application
Aside from the technical details above, both developers and IT face cultural and environment challenges as well:
- Manual and bespoke processes with little automation or standardization
- Siloed responsibilities that inhibit productive workflow between developers and operations
- Inconsistencies between environments across the delivery pipeline (dev/test/stage/prod), that must be reconciled or otherwise addressed, often at great cost
- Rigid, monolithic application architectures that inhibit rapid release cycles and experimentation and limit re-usability of common code
- Limited flexibility in terms of choice of languages and frameworks that developers can use
The open source Cloud Foundry project does offer all of those things for developers. It is both a technical solution to the first set of problems and, because of its nature as a prescriptive platform, can help to solve the second set of cultural/environmental challenges too. For those who don’t know, the Cloud Foundry Application Runtime (CFAR) is a code-centric platform that simplifies the life of developers. It takes your code, written in any language or framework, and runs it on any cloud. CFAR:
- Includes a one step command (cf push) to containerize, deploy, and manage an application
- Automatically identifies and pulls in language libraries and frameworks via buildpacks
- Includes open source service brokers that automatically create and bind services to applications
- Automates application lifecycle management by assigning appropriate resources, managing routing, load balancing, scaling, and more
SUSE is a longtime supporter of Cloud Foundry and contributes to the project and its Foundation in many ways. We’re a platinum member of the Cloud Foundry Foundation and offer a certified distribution called SUSE Cloud Application Platform.
Some organizations may be reticent to adopt yet another platform to run alongside Kubernetes, particularly when Cloud Foundry is historically VM-based and entirely separate from Kubernetes. That’s why SUSE developed Project Quarks (formerly known as CF Containerization). Project Quarks:
- Packages CFAR as containers instead of virtual machines, allowing CFAR to be deployed to Kubernetes
- Originated at SUSE; SUSE is project lead
- Eliminates the traditional CFAR requirement for BOSH
- Allows your organization to standardize on Kubernetes as your hosting platform
- Has a much smaller CFAR footprint than VM based distribution (Min 32 GB vs 128 GB)
- Is easier to start small and scale up without a huge up-front commitment
SUSE continues to help move Cloud Foundry forward and bring the best of it to a native Kubernetes infrastructure. In addition to Project Quarks, we are heavily involved in other related Cloud Foundry projects, including Project Eirini and Stratos.
- Enables pluggable scheduling for CFAR (allows operators to choose whether CFAR should use Diego or Kubernetes to orchestrate application container instances)
- Runs Cloud Foundry applications natively in Kubernetes
- Provides the same Cloud Foundry developer experience as other CFAR distributions
- Provides a familiar Kubernetes operator experience
SUSE announced forthcoming support for Eirini at CF Summit EU in October 2018 and, with SUSE Cloud Application Platform 1.4 in April, shipped the first Cloud Foundry software distribution to support Eirini.
Last, but not least, is Stratos, a web-based UI for managing Cloud Foundry. Stratos:
- Allows users and administrators to manage applications running in the Cloud Foundry cluster and perform cluster management tasks
- Originated at SUSE; SUSE is project lead
- Provides a single pane of glass dashboard and metrics
- Aggregates multiple CF instances: SUSE Cloud Application Platform, PCF, IBM CF Enterprise, open source CF, or any other
- Provides a view and metrics of the underlying Kubernetes infrastructure
- Allows for customized branding and styling
- Is extensible for adding additional integrations
With Project Quarks, Project Eirini, and Stratos, SUSE is helping to remake Cloud Foundry into a developer productivity layer that runs inside your existing Kubernetes infrastructure. We hope this helps make Cloud Foundry less intimidating to get started with and easier to use and manage. It’s all about providing the proven Cloud Foundry developer productivity enhancements on top of the de facto container management platform standard of Kubernetes.