As CloudFoundry gains more mainstream acceptance as the one stop shop Cloud Operating System for enterprises, the evolution of the platform is shifting away from re-engineering, or innovating on core components, to rather investing in enabling a vibrant ecosystem of extensions.
With that aim, late last year, the Program Committee Council (PMC) which controls the direction of the platform, voted to create a separate, distinct, committee responsible to seeing the evolution of all extensions in CF. With that the CF-Extensions committee was created and me appointed at its first leader.
As someone who has contributed to various (almost all) aspects of CF and who inherently believes in open ecosystems, I accepted the appointment with the primary mission of trying to make CF as open as possible. A working mission statement of mine is “making CloudFoundry the most open and extensible cloud platform on the planet”.
With that goal in mind, and after consulting with the other leaders of the platform, I started by drafting a proposal template and a proposal process that would enable new proposals to move through the process as quickly as the proposers are willing to move them. The two page process is designed to allow anyone in the community to submit well crafted CF-Extensions proposals and move them through four simple stages until incubation.
The process is open and allows anyone in the community to comment (supporting or objecting) on proposals so that a certain level of scrutiny and community engagement is applied to all proposals, and indirectly, to the direction of where the platform is headed. After a debugging period, I am glad to announce that the process has attracted a number of new proposals, some of which I will highlight here.
First, from Idit Levine, formerly of EMC, is a proposal to add and integrate Unikernels into CloudFoundry called Unik. Unikernels, or single application Operating Systems (OSes), are special purpose OSes custom built to run one application. Why would you want to create such a snowflake OS, you ask? Well, think of the reasons you end up updating system software on the cloud or in an enterprise. Security, security, security.
Indeed, a full Linux stack comes with a multitude of software packages that are huge potential security threat vectors, e.g., OpenSSL. Whether your application requires any of these OS packages is inconsequential since by running your application on a complete OS, your application, and by proxy your organization, becomes vulnerable to the attacks and the threats subjected to these software systems, in addition to your software itself.
Imagine if you could have your application run on a minimal OS, with just enough of the system components required. Not only would you gain some potential execution speed gains, the reduced area of security threats, is sure to help in your application overall security risks profile. The Unik project aims exactly at this minimal and customizable OS footprint and they have done the initial prototype work to integrate Unik into CF and help make managing the resulting Unikernels easy.
BOSH Backup and Restore (BBR)
Another project currently in the proposal phase was created by Pivotal with the ambitious goal of providing a uniform backup and restore solution to all CloudFoundry releases and integrate it with CF’s primary operator tool: BOSH.
Instead of invasively putting requirements on the BOSH releases that constitute CF, the BBR is essentially a set of protocols, simple tools, and guidelines that can be followed by any BOSH release to enable backup and restore. BBR also comes with a command-line tool that is used to orchestrate the various backups and restores during the different stages of the platformâ€™s operation.
The many core components of CF, including the BOSH Director release, are currently being enabled for BBR which should allow a complete backup and restore solution for all of CF by the time the BBR project is accepted for incubation.
A final project to highlight is the Kubo project, a joint partnership between Google and Pivotal. The name Kubo is a contraction of Kubernetes and BOSH; and as one might guess, is a BOSH release for the Kubernetes container management system.
By taking advantages of BOSH’s excellent and proven enterprise management features for cloud operators, the Kubo project tries to facilitate the “day-2” activities required in enterprise clouds. While deploying a complex cloud software like Kubernetes in an enterprise setting can be somewhat easy with new cloud environments optimized for deployment, Kubo focuses instead on the operations needs after the day one install.
For instance, how to roll updates and patches at scale; without downtime; how to enable canary deploys; how to easily scale up and down your clusters; as well as how to enable high-availability of your control nodes. The Kubo team is looking forward to hearing other requirements from both the Kubernetes and BOSH communities so that Kubo becomes a primary solution for all Kubernetes operators.
And for CF providers wanting to either offer Kubernetes clusters as a service or managing Kubernetes clusters to complement their CF solutions, the Kubo release is a great solution that integrates perfectly into their current operational flow, enabled by BOSH.
CF-Abacus and App-AutoScaler
In addition to these new hot proposals, there are also a series of established projects that were grandfathered into the CF-Extensions PMC as part of the initial projects and are getting ready to graduate. Two such projects, led by IBM, are the CF-Abacus and App-AutoScaler.
CF-Abacus is turnkey solution for CloudFoundry usage aggregation and metering. By enabling a flexible accumulation, aggregation, and reporting pipeline, CF-Abacus can be used as an app or collection of micro services that will accumulate, aggregate, and generate reports on usage data from any CF service broker or for the CF platform itself.
Using Abacus, generating a report to know the number of megabytes that a particular user who is part of a certain organization has accumulated in the past month is as simple as issuing a query to Abacus. Best of all, CF-Abacus does it at scale, and this is proven as it is the engine powering the usage metering of IBM’s Bluemix as well as SAP’s Hana cloud.
The App-AutoScaler is a project started last year by IBM that, as the name implies, provides a CF service broker that applications can use to automatically scale up and down their deployments based on various customizable criteria. Since the App-AutoScaler is a service, it can be used by any applications without much prior setup and can be customized to match the idiosyncratic needs of the apps.
What to Expect Next?
With half of 2017 in the books what should you expect from CF-Extensions as we continue moving toward openness and extensibility? Well in addition to new proposals from you in the community, I am working to streamline the summary and aggregation of projects that are under the guise of CF-Extensions. The goal is to make it easy to see the pipeline of projects in CF-Extensions and where each project is in the process; to create an online catalog of the extension projects to CloudFoundry, if you may.
Also, to ease the communication and coordination of projects entering the CF-Extensions pipeline, we are now reserving at least 15 minutes of every CF Community Advisory Board (CAB) monthly calls for new CF-Extensions proposal presentations. So as projects are submitted and enter the CF-Extensions pipeline, the CAB call will serve as a springboard for communicating and sharing with the community at large.
Finally, if you are planning to attend any of the two CloudFoundry summits for 2017: Santa Clara, California in June or Basel, Switzerland in October, do not hesitate to attend the CF-Extensions office hours to have one-on-one conversations with me or with the members of the community that are instigators of the current proposals.
Perhaps you have a question about one the current proposals or want to volunteer to help. Or perhaps you have a CF-related project that you are wondering whether it could become a proposal? Well, swing by or contact me on the ClouudFoundry’s slack, username @dr.max or message me on Twitter @maximilien.
See you in sunny Santa Clara, CA.