Tuesday, May 26, 2015

Why is Cloud Foundry a revolution?

I have recently attended the Cloud Foundry Summit 2015 in Santa Clara, and I wanted to share the excitement around this growing technology. First, last year there were something like 1000 attendees in San Francisco, and this year it was about 1500. This quickly shows the growing interest. And most importantly, you can really see that Cloud Foundry (CF) is being adopted by many public PaaS providers (Pivotal, IBM, HP, SAP, EMC, Huawei) and also by companies setting up internal or industry specific PaaS (GE, Comcast, AllState, Verizon, Lookeed Martin). IBM mentioned that Bluemix, their PaaS based on Cloud Foundry, was getting 8000 new users per week. So what is going on and why is this wave coming? Here are several reasons showing the benefits of Cloud Foundry:

CF empowers developers

There is no question that CF empowers developers by letting them develop and deploy their ideas very quickly. No need to request machines, setup network and access rights etc. IBM bluemix is an example of that and once you've got your account set up you can deploy in minutes. Also, because it is so easy to deploy, it is a revolution for prototyping and testing. Instead of deploying to a shared test system, a developer can deploy all the components into his/her own space. To some extent, there is no more the need to mock dependent services, and you can test with the real components.

CF reduces barriers between Dev and Ops towards the DevOps model

In the end, the goal is to develop and deploy applications that are useful, easy to use and robust. The separation between Dev and Ops does not work anymore. We need speed. We need to close the loop between users, Ops and Dev. With CF, Dev and Ops can talk about the same things, the apps. Dev can be involved in the way their apps are performing, and can react quickly with new releases. Ops can better understand the underlying architecture, spot bottlenecks and talk to Dev in a more proactive way. Actually, companies could leverage CF to support the Amazon model of "you build it, you run it".

CF gives a framework to operate the latest best practices

A lot of things have been said about the benefits of 12 factor app and microservices. CF actually gives the framework where these principles can be applied in a repeatable way. It is pretty impressive to see that developers using CF are applying these principles sometimes not even knowing about them, just because CF is guiding them.

CF enables companies to catch up

And because the best practices are at the core of the development and deployment model, companies can deploy CF in their own data centers or through a PaaS provider to quickly catch up. Deploying at scale, in a reliable and repeatable way, is no longer reserved to large Web companies.

CF enables companies to simplify processes and reduce time-to-market

Several companies at the summit mentioned that they were able to drastically reduce the processes and time-to-market from months to days (AllSate, Humana). This is really a revolution in these companies where the process could have taken up to 100 days just to get the environment setup. Once the upper management agreed to the new process, results can be delivered very fast. It also pushes the ball to the app designers, marketing and architects to come up with ideas for their business, knowing that developing and deploying is no longer a barrier.

CF helps avoiding PaaS vendor lock-in

CF provides a framework that can be deployed directly in your own data centers or an IaaS such as AWS, or accessed through PaaS providers (IBM, GE, EMC, SAP, Huawei...). So on paper it could avoid vendor lock-in. However, these environments will still offer different services on top of CF, and it is unclear how you could migrate from one provider to the other. However, some of the concepts and tools will be the same so that an active community can be leveraged.

CF enables continuous innovation and continuous disruption...

When you put all these benefits together, you can see that CF enables continuous innovation by liberating people and removing lots of the existing barriers. If companies can take advantage of these new tools and processes, this could mean continuous disruption.

However, there are some challenges going ahead. I believe it will only work for companies willing to change their processes and for developers capable of leaving their comfort zone, learning new tools and languages, and following an ecosystem that is moving very fast. So for companies and developers alike, it is time to seize the opportunity.