Cloud Foundry on OpenStack: Why Use Them Together?
It is hard to measure how much one can save by improving operator or developer agility, but WMG, one of the earliest CF adopters, took the trouble to do just that. Watch the session to learn what results they have achieved by using Cloud Foundry deployed over OpenStack.
It’s not a coincidence that a lot of Cloud Foundry Foundation members are also on the OpenStack Foundation. In fact, many see CF as a logical continuation of OpenStack. Watch this video to learn how CF and OpenStack are similar/different, why they are better when used together, and what plans there are for integrating the two technologies in the future.
It takes 10 minutes to spin up a VM and seconds to get a container, but while containers are cool, it is not the best idea to run them on an IaaS alone. Containers are also bad at storing things, so you still want to your DB to be hosted on a VM. One of the best ways to enable both VMs and containers is to install Cloud Foundry on top of OpenStack. As an additional bonus, it also dramatically improves operator productivity. This talk explains how Cloud Foundry works and why it reduces operations efforts.
More often than not, developers spend their time doing sysadmin tasks, e.g., patching heartbleed or updating RHEL. As a result, not much real work is getting done. Watch this video to learn how Cloud Foundry provides the abstraction layer that enables developers to focus on writing code.
Why containers are not enough
According to Joshua McKenty, who is a co-founder of OpenStack, the project was originally intended to be a PaaS. So, it is all about VMs, storage, and networks. This hasn’t prevented OpenStack from becoming so popular that there is hardly any cloud company out there that doesn’t use it. However, today VMs have become boring and unfashionable. It takes 10 minutes to get a VM and only 10 microseconds to spin up a container, so everyone wants the latter.
“You can notionally do containers with OpenStack, but the container ecosystem really grew up inside PaaS.” —Joshua McKenty, Pivotal
Containers have become a highly popular topic in PaaS discussions, with much talk of containers replacing VMs as the way to deploy apps and services.
The question is, can you use containers alone? And the answer is that you probably cannot. For real-life applications, you will most likely need both. Containers are certainly faster, but they are very different from VMs. There are different constraints, performance is different, etc. VMs are generally better for stateful services and containers are more suited for stateless apps, because they are not very good at storing things. So, you still want to run your database on a VM.
OpenStack vs. Cloud Foundry
The magic of Cloud Foundry is that it does both VMs and containers while ultimately focusing on delivering apps faster. It is perfectly suited for running on top of OpenStack and, according to Joshua, can unlock the value of an OpenStack investment.
OpenStack and Cloud Foundry have a lot in common. Many companies who are in the CF Foundation, formed to support and govern the Cloud Foundry project, are also in the OpenStack Foundation, including HP, IBM, Intel, Cisco, VMware, Rackspace, EMC, and Swisscom.
OpenStack and CF also share a lot of users and contributors. Both are distributed under the Apache 2.0 license, and their respective architectures are surprisingly similar, built roughly around microservices.
There are differences as well, highlighted in the following table.
In addition, release cycles are very different, the CF Foundation is part of the Linux Foundation unlike the OpenStack Foundation, which is independent.
Let’s throw a BOSH
What binds these two together is BOSH, a tool for deploying software across multiple VMs. Why BOSH? Joshua starts by explaining that Puppet was originally created for this purpose, but in 2005, and is simply not suitable for what we have to deal with today.
At that time, nobody was thinking about microservices. Today, we understand that deploying them one by one doesn’t work, so we need something more powerful. BOSH is a highly versatile tool chain that not only solves this issue, but can also manage the app life cycle.
Why use Cloud Foundry?
Focusing on today’s reality, a large part of the talk is dedicated to Cloud Foundry and how it can revolutionize app delivery. Joshua does a great job at explaining why CF is so cool, telling stories and even drive-running some jokes.
Here are some of the points he makes:
CF makes developers more productive. Take banks, for instance. They are generally slow at innovating and making new things, e.g., it takes an average bank about two years to release a mobile app. This is despite the fact that banks employ more developers than anyone in the market. The reason for them to be so slow is that their development teams spend most of their time on routine operational tasks, such as updating the OS.
Cloud Foundry really makes a difference in this space. It not only provides containers and VMs to run workloads in, but also automates configuration and management tasks, so that developers can focus on writing code. As a result, they can move much faster.
“If you write software and nobody uses it, it doesn’t matter,” he points out. “The faster you get that software out into the world, the more likely it will be that it will matter because somebody will have a chance to use it.” —Joshua McKenty, Pivotal
CF makes operators more productive. Cloud Foundry is not only about developers. It’s for operations, too. In fact, “where business saves the most money is the operator agility, which is also known as a day-two problem,” Josh says.
Warner Music, one of the earliest CF adopters, took the trouble to measure how much they managed to save. They report that thanks to Cloud Foundry, Warner Music can ship twice as many apps in half as much time. On average, they save $1.1 M per app in wasted operator productivity.
CF boosts productivity without stretching the budget. IT requirements are growing all the time and there is no evidence that things are ever going to slow down. Still, IT budgets stay the same. Cloud Foundry dramatically increases the amount of work that developers and IT teams can do in the same amount of time. So, it can speed up app landing time without the need to increase the budget.
CF is open source and big companies love open source. Surprisingly, it is not because you can change OSS or that it is “free,” which is only partially true. Josh explains that big companies like OSS because it forces Agile. To land a patch, you need to make sure it is short and you have to notify those responsible for accepting it a couple of weeks ahead of time.
OSS also forces transparency. Finally, if you use OSS, you are likely to find that there are many people selling the same thing to you. This means you get to choose, which is always good.
The future of CF and OpenStack
In conclusion, Joshua McKenty provides some useful links for those who would like to contribute or start using Cloud Foundry and lists some of the steps that will soon be taken to integrate the two technologies. These include:
- deeper integration with Neutron
- some work related to RabbitMQ
- plans to create a unified cloud policy via OpenStack Congress
To keep up to date with the latest developments in Cloud Foundry, BOSH, and OpenStack, you can subscribe to these mailing lists.
Joshua McKenty does a great job at explaining why the false "CF vs. OpenStack" debate is irrelevant to most enterprises. The two platforms serve different needs and do not compete.
The focus on saving money is nice, but a bit of a red herring, as most enterprises are finding themselves in a "be agile or die" scenario.
Microservices are also prominent in this talk, which is great, because success and failure of businesses in the cloud age will depend on whether and how quickly they figure out that microservices and containerization are the key to long-term survival.
Want details? Watch the video
Table of contents
About the speaker