Using AWS spot instances to cut the cost of your BOSH deployments
AWS, Google and Azure are in a price war; and seem committed to matching on-demand prices. That is good, but not the whole story.
The under reported price is that of the AWS spot market; which can be up to 10 x cheaper than on-demand prices.
On-demand / month
Spot / month
There are only 2 differences between AWS spot and on-demand instances.
1. Spot instances take longer to start (5 min vs 1 min)
2. Spot instances “fail” more frequently; when spot prices move above your bid price your instance gets terminated.
You might think that ( 2 ) would prevent you from using spot to host “always on” services like Cloud Foundry.
Packaged and Offline Buildpacks
With the recent addition of the cf create-buildpack and cf update-buildpack commands, we’ve been looking into changes to how the Java Buildpack is deployed on Cloud Foundry. There is a move afoot to remove the buildpacks from the DEAs in favor of using those commands (with an automated initial install to preserve user-experience) and an outcome of this was the need to more easily create ‘packaged’ buildpacks. In the process of delivering these packages we also realized that we could also deliver “offline” buildpacks. To understand why “offline” buildpacks are interesting, it helps to understand why the buildpack is designed to look for dependencies on the Internet in the first place.
BOSH CPI Support for CloudStack
Today’s guest post is from Iwasaki Yudai, research engineer at NTT Laboratory Software Innovation Center and Du Jun and Zhang Lei from the Cloud Team, Software Engineering Laboratory, Zhejiang University, China (ZJU-SST).
Cloud Foundry is the leading open source PaaS offering with a fast growing ecosystem and strong enterprise demand. One of its advantages which attracts many developers is its consistent model for deploying and running applications across multiple clouds such as AWS, VSphere and OpenStack. The approach provides cloud adopters with more choices and flexibilities.
Wrapping libyaml in go
We recently released version 6.0.0 of cf, the command line client for Cloud Foundry. cf was previously written in Ruby, and we have rewritten it in Go. This allowed us to package cf as as a single binary and simplified our deployment strategy enormously.
The YAML problem
Two weeks before our release, we realized that the go YAML library we were using, goyaml, is distributed under the LGPL license. This makes it unusable for cf. We had to quickly find another way to parse YAML in cf.
The definitive YAML implementation is a C library called libyaml. We knew that Go had good support for interfacing with C libraries, so we decided to write our own go bindings to libyaml. This felt a bit risky given that we were releasing in two weeks, so we named our creation ‘gamble’.
Cloud Foundry Serving Around the Globe
The Church of Jesus Christ of Latter-day Saints (LDS Church) is a really large organization with even larger reach – probably much more than most of us realize. Sure, you probably know about the massive genealogy library and databases that they have, but it’s so much more. In my cursory research I found that they have numerous humanitarian programs, benefitting people around the globe with health services, drilling wells for safe water, disaster relief, educational services and more.
Why am I telling you all this? Because, just like in virtually every other industry Software is Eating the World; the mission of the LDS Church is greatly enabled and supported through technological innovation and application.
The Platform for Building Great Software
Since the formation of Pivotal as an independent company the Cloud Foundry open source ecosystem has progressed from a promising collection of early movers to the dominant pattern for enterprise PaaS.
Tomorrow, to celebrate the GA launch of Pivotal CF, our enterprise PaaS powered by Cloud Foundry, we are sponsoring a broad swath of Internet and print advertising to spread awareness of the project and the change it will bring to how enterprises build and deliver software. The marquee advertisement will be a full page ad in the Wall Street Journal, supported by some of the leading companies in the world.
Announcing Cloud Foundry cf v6
You can find our new Cloud Foundry CLI, written in Go on github.
A complete rewrite, and yes, we changed things
We hadn’t been happy with the Ruby CLI for a while. We had three big problems: it was hard to test drive, it was hard to understand, it was hard to make changes. It was time for a rewrite. We also wanted to stay sensitive to the feedback we had received from the community and incorporate those learnings into the new CLI. This means that the command names changed as did the arguments and output, but retained all the previous functionality for interacting with your cloud and then some.
We decided to aim for a CLI that was easily scriptable so you can use it as part of your deploy scripts.
IBM WebSphere Liberty Buildpack Contributed to Cloud Foundry
IBM is contributing the IBM WebSphere Liberty Buildpack today as further proof of its commitment to make the Cloud Foundry open source project and community even stronger.
A guest blog by Rachel Reinitz, an IBM Distinguished Engineer in IBM Software Services
In late July, I wrote a guest blog here about our development of a preview IBM WebSphere Liberty buildpack. I’m delighted to announce we have contributed the WebSphere Liberty Buildpack to the Cloud Foundry community. It now has its own Cloud Foundry GitHub repo, ibm-webphere-liberty-buildpack.
Importance of Buildpacks
Buildpacks can provide a complete runtime environment for a specific class of applications. They are key to providing portability across clouds and contributing to an open cloud architecture.
Combining Voice with Velocity thru the Cloud Foundry Community Advisory Board
Cloud Foundry is taking a unique approach to community that combines inclusiveness and scale with high velocity development. In this post Christopher Ferris, IBM Distinguished Engineer, shares some thoughts on how to bring this approach to life and invites the community to co-invent the Cloud Foundry Community Advisory Board.
A guest post by Christopher Ferris, an IBM Distinguished Engineer and CTO for Cloud Interoperability in IBM Software Group’s Standards and Open Source organization.
I’m really pleased with the steadily growing interest in Cloud Foundry over the past few months.
Introducing the Cloud Foundry Java Buildpack
Buildpacks are at the core of the Cloud Foundry architecture and we’ve recently made significant improvements to the Cloud Foundry Java Buildpack. As the lead developer of the buildpack, I’d like to give you some insight into the design principles behind it, how to use, configure, and extend it, and what the future holds.
The primary objective of the Java buildpack is to be the easiest way to run a Java application.1 The word easiest can mean a lot of things, but to me it means that a developer can push an application and have an “it just works™” experience. An application developer shouldn’t have to mess about with details like memory settings or configuring the container to work with a bound service.