Cloud Foundry Technology Review: Jan-March 2017


By:

April 19, 2017

Learn all about what’s new and what has changed with CF technology, January – March 2017

This is the first of what will be a regular roundup of news from the Cloud Foundry technical community. Our goal is to help elevate the interesting activities happening within the many Cloud Foundry Foundation projects, as well as notable news from the extended ecosystem of products and projects. For anyone looking to keep up to date with any changes between issues, we highly recommend following the cf-dev mailing list, the projects on GitHub, or joining appropriate Slack channels.

The first quarter of 2017 marks a new phase in the Cloud Foundry technology evolution — one marked by maturity for our core CF Runtime component, constant buzz and hum in the various associated projects, and many more projects being proposed or making progress.

1. Cloud Foundry Elastic Runtime

The Runtime PMC’s various projects have been primarily focused on performance, security, scale and maintainability. At the same time, several ongoing efforts continue to evolve the capabilities and experience exposed to application developers.

Of particular note for deployments and downstream distributions is that in May, just a few weeks from now, the DEA/HM9000 architecture will be officially moved to the Attic (“end of life”). If you have not done so already, everyone should immediately migrate to the Diego / Garden based runtime.

The Release Integration team has been working on a new way to deploy CF, using cf-deployment as a replacement for manifest generation scripts in cf-release. It uses new BOSH features and the new BOSH CLI to significantly simplify manifest generation. Cf-deployment is still under construction and should be used primarily in dev or test environments. Cf-deployment will ultimately replace cf-release entirely. The key benefits are: (a) smaller, more composable releases, (b) making Diego the default backend, and (c) simplifying the manifest generation. David Sabetti leads this project and you can learn more information & add your suggestions/comments here.

Projects Notes
v252 release In February 2017, the team released cf-release (v252) – components communicating with CC via its internal API (for example: Loggregator, BBS, and TPS) will do so over mutual TLS. This is part of an effort to have all Cloud Foundry internal traffic done over mutual TLS instead of basic auth. The CC and other components must now be configured with several new certificates to establish these mTLS connections. For most deployments, the recommendation is to use a shared CA between CF and Diego.
CLI The CLI team has removed the older loggregator_consumer library from the tool, in favor of the newer noaa library. Learn more.

The CLI team released version 6.26.0, which notably included initial support for Isolation Segments. Requires cf-release v254+. Previously, they released v6.24.0 (Feb 10) and v6.25.0 (Feb 27)

Diego The Diego team has been busy releasing on a constant cadence v1.7.0 – v.1.13.0. Learn more.
Routing Routing team has focused on performance. See more in the team’s blog post.

Routing-release 0.144.0 happened in February 2017 & includes the results of many months of effort to improve throughput and latency performance of Cloud Foundry’s L7 HTTP router, Gorouter. Learn more

Infrastructure The team has released version 3.0.4 of the BOSH Bootloader (BBL), a cli tool designed to simplify initial installation of Cloud Foundry. Read about it here.
Release Integration The Release Integration team has shipped cf-deployment-concourse-tasks, a set of concourse tasks designed to use with cf-deployment. Learn more.
Loggregator
  • The Loggregator team has started work on a Scalable Syslog Adapter.
  • The Loggregator team has also started work on a supported “health nozzle” designed to help operators quickly assess the overall integrity of log message delivery throughout the pipeline.
  • A quick heads-up for a change coming in August: There are currently competing supported ways for CF Services to configure log delivery and in an effort of consolidation and standardization, rsyslog will be configured on Metron as of August 1st.
UAA The UAA team has shipped several releases, including UAA 3.14.0.
CAPI Zach Robinson (Pivotal) has become the CAPI project lead
CF-mySQL The CF MySQL service team has shipped v34.
Diego Persistence

(moved to active)

The Diego Persistence project has been promoted from incubating to active Released nfs-volume-release v0.1.6 that includes support for cf-scaling & blue/green upgrade of nfsbroker, additional mount options on nfs mounts, and read-only mounts
Container Networking

(incubating)

The Container Networking team has renamed their primary release repo from cf-netman to cf-networking-release, including several breaking changes to the manifest.
Bits Service

(incubating)

The Bits Service team has published initial API documentation for the service.

The Bits Service team has migrated its CI pipelines to IBM’s SoftLayer IaaS.

Haproxy-boshrelease

(incubating)

Geoff Franks (Stark & Wayne) proposed the incubation of haproxy-boshrelease. This was accepted into the Runtime PMC.


2. BOSH

BOSH is a cornerstone project for the community. Designed to offer a tool chain for release engineering, deployment and lifecycle management of large scale distributed services, BOSH marks its 5th birthday this month (April 2017) and in February, the team marked BOSH v261 as a notable release.

Projects
Bosh-hm-forward Deprecated. If you happen to reference the bosh-hm-forwarder in the loggregator repo you have until March 1st to update your references.
BOSH DNS BOSH-aware DNS server proposed in Jan 2017, and you can track that project in its GitHub repo.

3. Open Service Broker API

Since our announcement in December, the Open Service Broker API team has been busy working on their first release. As a reminder, the Open Service Broker API provides developers, ISVs and SaaS vendors a single, simple, and elegant way to deliver services to applications running within cloud-native offerings including Cloud Foundry, OpenShift and Kubernetes. Until we have their first release to celebrate, you can learn more about the Kubernetes Service Catalog, which uses the Open Service Broker API.

4. Cloud Foundry Extensions

The CF Extensions team supports the organic community development of extensions and add-ons around Cloud Foundry technology. Projects that are initially considered to be extensions may eventually migrate to one of the other teams/component teams as they mature in both technical implementation and market adoption.

Projects Notes
Buildpacks
  • Removed Ruby 2.3.1 and adding Ruby 2.3.3 in cflinuxfs2 stack
  • Breaking change in the Python buildpack for all Python 2.7 compiled extension modules
Java Buildpack Java buildpack release 3.15 is out, with some notable improvements like:

  • Addition of the Google Stackdriver Debugger framework
  • Re-enabling the AppDynamics framework
Notifications V35 and v36 have been released, with minor feature adds. Follow the project on GitHub.
Abacus The Abacus project team is working towards a 1.0 version of the project, with the most recent release including a number of refactoring improvements, as well as a pluggable database backend (and adding MongoDB and CouchDB support).
Project Proposals
Abacus Service Broker Abacus Service Broker is an OSBAPI compliant service broker to provision Abacus services for users.
CredHub CredHub centralizes and secures credential generation, storage, lifecycle management, and access.
UniK UniK is an orchestration system for unikernels. UniK handles the compilation of libraries and applications for running on AWS, manages their scheduling, and ensures their health. UniK is integrated as a backend to Cloud Foundry runtime.

5. Related projects worth tracking

The Cloud Foundry ecosystem is filled with interesting projects and products. With each technical update, we’ll share some projects that have recently caught our eye. This edition, we’re highlighting seven great projects:

  • Kubo from Pivotal and Google: We’re excited to see Cloud Foundry’s BOSH platform used to deploy and manage Kubernetes. We’re equally happy to see how Kubernetes and the Cloud Foundry Elastic Runtime platforms can run side by side. Learn more or follow the project on GitHub.
  • Docker BOSH release from Stark and Wayne: For organizations already working with Docker images, BOSH is now helping get those into production, with solid Day 2 operational support — resurrecting missing servers, resizing of host machines, resizing of disks, updating host servers with CVE patches, and much more. Learn more & track the project on GitHub.
  • Turbulence from Dmitriy Kalinin: Think “Chaos Monkey” for BOSH. Turbulence is used for injecting different failure scenarios into a BOSH deployed system, such as a VM termination on BOSH supported IaaS, imposing CPU/RAM/IO load, network partitioning, and packet loss or delays. Learn more.
  • Mantra from Altoros: Mantra is a manifest transformation for BOSH. Mantra enables users to: find manifest parts, extract cloud configs for BOSH v2 from BOSH v1 manifests, convert v1 manifests to v2, convert manifests into BOSH-CLI templates. Read more about it & follow it on GitHub.
  • MongoDB 3.2.6 BOSH release from Dell EMC: In light of the newly released Mongo 3.2.6, a new project aiming to deliver a Mongo deployment for BOSH was initiated.  More details here or follow the project on GitHub.
  • Dingo PostgreSQL from Stark & Wayne: For PostgreSQL users, this project enables Cloud Foundry to provision High-Availability PostgreSQL clusters, backed by a disaster recovery system with maximum 10 minutes data loss. Follow this project on GitHub.
  • Shield project from Stark & Wayne: Shield project aims to build a standalone system that can perform backup and restore functions for a wide variety of pluggable data systems (such as Redis, PostgreSQL, MySQL, RabbitMQ, etc.), storing backup data in pluggable storage solutions (i.e. local files, S3 blobstore, etc.).

 

Did we miss anything? We focused on the big changes, but if we missed something, please let us know in the comments below!

Our next CF technology in review post is scheduled for late June/early July. Stay tuned & subscribe to our tag on the CF blog!