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
- 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 cncf.io 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 http://tomee-openejb.979440.n4.nabble.com/Request-for-a-TomEE-Buildpack-td4675612.html … . 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.