This Week in Cloud Foundry

all the news from around the community

This Week in CF 25th August 2015

Core Cloud Foundry

  • Phil Whelan was so nice again to share his notes from the Cloud Foundry Advisory Board meeting. In this meeting all the CF Engineering teams give an update about their work in the past month. Highlights for me include Amit's remarks about MEGA's work to split up the big Cloud Foundry release into smaller releases and Dimitry's notes about making the BOSH manifest generation easier.

  • The release of Cloud Foundry v215 brought a couple of interesting changes:

    • The operator can now configure how many log messages will be retained in the buffer - see here for details. If you face some problems with your application log output and you see the message "Log message output too high. We've dropped 100 messages", then this change might help you.
    • The rootfs saw some changes that allow Diego and DEA to use the same rootfs without any significant changes.
  • Atul Kshirsagar from GE's Predix team shares the current state of the TCP router for Cloud Foundry. In this post he provides good insight into why the TCP router is so important for GE and all companies involved with IoT in general.

  • Exciting news is coming from Altoros and IBM. Together they have been experimenting to get Cloud Foundry to run on IBM's Power8 Architecture. They managed to get a working Cloud Foundry installation up and running with support for the Ruby, NodeJS, and Go buildpack. It sounds like this effort will go on with the goal to merge necessary changes upstream to the Cloud Foundry repositories.

  • Trying to wrap your head around the interdependencies of the CF release jobs is a pretty difficult task. Ruben Koster from Stark & Wayne wrote a handy script to list dependencies in a nicely formatted table.

  • Microsoft released Cloud Foundry on Azure Preview 2. There is a very detailed and well written guide on how to set up CF on Azure.

Using and Operating Cloud Foundry

  • Guide Westenberg's article provides a nice introduction into using a configuration server on CF. He came up with a cool trick to write config from the config server into environment variables before the application starts.

  • Ed King from CloudCredo shares his thoughts on monitoring with Bosh. His ideas about setting up alerts for a Cloud Foundry installation should interest anyone who is a CF operator.

  • If you are just about to get started with using Cloud Foundry (or any cloud for that matter), I highly recommend Michael Cote's blog series about going Cloud Native. There is also the second post about all the things you should consider when you go cloud native with your application development.

  • On the CF mailing list, Takeshi Morikawa
    posted a link to a nifty tool called CF API checker. It will show you the current CF API versions of the major public CF offerings.

  • Jeff Sloyer, a developer advocate at IBM, wrote a nice guide about using the Meteor Buildpack to push Meteor apps. While this is specifically about Bluemix, it should work with any recent Cloud Foundry installation.


That's a wrap for this week. If you are interested in receiving notifications about new posts at This Week in Cloud Foundry, please sign up here. If you think we missed anything important, please ping @thisweekincf and we will add it next week. Thanks and enjoy.

This Week in CF 3rd August 2015

After a summer hiatus the twicf blog is back with a bang. We have a lot of material to catch-up on. This post is courtesy or our newest twicf team member Rohit Kelapure. So grab a cup of coffee or whisky and lets go…

Core Cloud Foundry

Noteworthy features culled from CF Release Notes

  • v212 - Database migrations have been moved into their own job. Loggregator VMs have been renamed Doppler. Default template stemcells have been updated from lucid to trusty. Applications can be scaled to 0 instances. Context path routing is not experimental any more. There is a bug being worked on related to session stickiness but if you are not using session stickiness v212 should be fine to use to take advantage of this feature.
  • v213 This release should be SKIPPED if you're doing an UPGRADE from previous versions, it's safe if you do a clean install. This release contains backward incompatible CCDB changes, CC logs enhancements along with better error reporting for `/v2/apps/:guid endpoint. Space Developer can now download an app's droplet. details|apidoc. Lucid Binaries have been removed from the buildpack to make the buildpacks skinny. The new skinny buildpacks reduced the size of cf-release from 5.2gb -> 3.5gb! Skinny buildpacks refer to each buildpack no longer shipping old unsupported or insecure versions of runtimes. You can still customize the buildpacks to include older runtimes by building the buildpack yourself with the admin buildpack feature.
  • v214 Buildpacks now include CF built binaries. Release includes a migration that modifies the events table. Fixes backwards incompatible ccdb migration introduced in v213. Support for app instance limit on Org Quota has been added. details.



The latest Release pulls in over two months of major work on garden-linux. Garden is the containerisation layer used by Diego. Garden provides a platform-neutral, lightweight container abstraction that can be backed by Linux backend and Windows. The Garden project will be transitioning from it’s own backend for Linux containers to runC from the Open Container Initiative.

Recently Diego introduced the ability to SSH into Diego instances. Diego provides support for both linux and windows apps via garden. For a refresher on Diego after CF Summit 2015, Amit Gupta from the Diego/MEGA team presented at the SF Pivotal Meetup on How does the Cloud Foundry Diego Project Run at Scale?. The Diego Additional Resources section in the README provides a comprehensive list of docs for Design, Migration, Docker support and SSH access.

The best way to play with Diego is to install Lattice. The ltc cli for lattice has a number of experimental features for the condenser epic to allow a user to deploy an app from a working directory, rather than a Docker container.

Docker (for Structured Platforms)

Given the excitement around the Docker and container ecosystem, we will be giving Docker some love in twicf. First lets get the facts straight - Cloud Foundry has always been an unopinionated container system. Cloud Foundry containers in the near future will be rebased on the runC open container spec. This means CF apps will be using the exact same container engine as Docker minimizing any incompatibilities with the Docker lifecycle. TL;DR is that Docker is a first class citizen of CF and there is no combination of open source technologies i.e. container++, that even comes close to the structured Platform that CF provides for Docker images and DockerFiles.


  • Separation of CF Teams - The CF Runtime team split into 1. "CAPI" responsible for the Cloud Controller and Services API, 2. "Routing" team will be responsible for routing, including the existing Gorouter component and new work on TCP routing, & 3. The OSS Release Integration team "MEGA" (or if you talk to ZakLITE… Voltron) responsible for the integration of all components. Mega Team Mandate

  • CF Abacus - Abacus was accepted into incubation. Project Abacus is an extracted ASL licensed version of the APIs, usage metering, and aggregation components from the Bluemix feature. Abacus uses a micro-services architecture and can be run as CF app. Service authors will get a standard system component and format for to track custom billing metrics for service usage other than "how long was this service deployed".

  • PMC All the CF runtime component PMC Calls are documented in pmc-notes . It is worthwhile to spend the time to read the release notes to get an understanding of features in progress.

  • CAB CF Advisory Board Meeting minutes blogged by the awesome Phil Welan can be found on the activestate blog. June & July.

Interesting Conversations in the Mailing List - What am I missing ?

If you cannot keep up with the volume of information flowing through the cf-dev mailing lists please do not worry. We watch these lists and report back here =>

  • Onsi's explanation of various App Lifecycles supported by Diego in Droplets and Stacks and the contracts within each lifecycle in response to questions raised by Colin Humprey's blog post one and blog posts two.
  • Proposal for Notifications on ORG, SPACE and USER modifications. Use cases include security, metering and auditing. Dieu Ciao to start a community design proposal of "what" and the "why" of this feature. Current approach to billing with app_usage_events was exaplained with CF_Runtime here
  • Removal of FUSE support from CF. Cloud Controller's current behaviour is to request unprivileged (i.e. "more secure") containers for Docker images and privileged (i.e. "less secure") containers for buildpack apps. The Proposal is to make the privileged flag for buildpack apps configurable
  • Soliciting feedback on a UX change for route services. Instead of associating the route service with an application, we are proposing associating the route service with the route.
  • Add the ability to trace a request throughout their applications by allowing the gorouter to log random headers. PR operator of Cloud Foundry, I want to enable logging of specified headers for all applications.
  • Detailed Discussion on the HA of etcd nodes. Amit Gupta summed up the options with the official recommendation being three instances in a multi-zone deployment, spreading out the instances across zones. In case you missed please see this gem from the CF Runtime Team on HA of CF components across zones
  • Options for writing a new CF Client Dashboard for app deployment
  • If you find your team saddled with hundreds of jobs in Jenkins and a variety of shell scripts to promote apps from space to space with a blue/green strategy read the response from James Bayer on how the CF Team handles this complexity and upcoming features to ease Zero Downtime Deployment.
  • CF CLI Version 6.12.1. Highlights of this release include: Plugin API to make it easy for plugins to consume output from calling CLI commands, Full Support for Service keys / Async Service Operations & Full Support for Arbitrary Parameters for Service Instance Provisioning.
  • Interesting use-case for a Route Service - CF Autosleep Proposal


  • GoRouter Performance Improvement by Disabling Compression tracker-link. As a geek I really enjoyed going through the ebb and flow of comments as the final solution was derived. Shoutout to an excellent book on A Tactical Approach to Planning for Highly Scalable Applications and Services
  • A list of third party compatible apps compiled by James Bayer in response to a forum post on Deploying an app as a wiki to CF. Please contribute to this list if you know of any off-the-shelf apps that work with CF.


  • HP Acquires ActiveState's Stackato CF based PaaS. There is talk of unforking ActiveState'S CF distribution on twitter and the launch of a Certification for CF.
  • Yet another open source foundation has been launched in the container space around cloud native apps. At this point it is difficult to keep track of numerous open source ecosystems and foundations in this space. Its foundations all the way down :-)


Blogs we love - Interesting posts


Call For Helps

From Apache TomEE committer Romain Manni-Bucau
> Apache TomEE buildpack - Anyone motivated to build the 1st official #buildpack for #TomEE? See … . Help guaranteed! // #community #javaee #cloud

That's a wrap for this week. If you are interested in receiving notifications about new posts at This Week in Cloud Foundry, please sign up here. If you think we missed anything important, please ping @thisweekincf or @duncwinn and we will add it next week. Thanks and enjoy.

This Week in Cloud Foundry June 15th 2015

Core CF and Lattice development

  • As usual, Dieu Cao - the CF runtime Product Owner - posted the release announcement of CF release v211 on the mailing list. Be aware that in this version, there will be no more lucid stack for your apps. Make sure all your apps run on the new cflinuxfs2 stack before you upgrade.
  • Long awaited, we finally can use Async service provisioning. The support for this arrived in CF release v208. Take a look at this post from Shannon Coen on the mailing list for more information. Note: you also have to have at least version v6.11.1 of the CF CLI to use this feature.
  • Talking about services, we also got the announcement of a new version of the CF MySQL release. This new version will make it significantly easier to install an HA MySQL cluster (more precisely: MariaDB) on AWS.
  • Last, but not least, we also have the new version for Lattice, version 0.2.5. Marco Nicosia points out that there is now a community-contributed OpenStack module for Terraform, so that you can deploy Lattice easily on OpenStack.

Using Cloud Foundry

  • Porting a legacy app to Cloud Foundry is no easy task. Josh Kruck provides some valuable guidelines that you should consider before taking on that task. I especially want to highlight his approach for refactoring a legacy app. This is a really good read for every software developer.

  • There are multiple reasons why an application push to Cloud Foundry can fail. Jack Cai from IBM talks about some common causes for failure and how to resolve them. While this post is specifically about BlueMix, it probably applies to most Cloud Foundry installations.

  • Once you succeeded pushing your app, you might need to troubleshoot it remotely. Thanks to Juan Pablo Genovese from Altoros, there is a good guide on how to remote debug your CF apps.

Installing Cloud Foundry

littleidea tweet of the week

As a new feature, we are trying to pick the best tweet from Andrew Clay Shafer (@littleidea). Here is the choice for last week:

If you Bosh it, they will come

If you are interested in receiving notifications about new posts at This Week in Cloud Foundry, please sign up here. If you think we missed anything important, please ping @thisweekincf and we will add it next week. Thanks and enjoy.