OpenStack Should Take A Play From The PHP Playbook

PHP is the most popular programming language used on the web. Love it or hate it this is just an observation. If you don't agree with me on the popularity of PHP checkout what w3techs has to say. It's crazy to think that Wordpress, Drupal, and Joomla make up about 25% of all websites. They are all written in PHP.

OpenStack is a young new upstart in terms of cloud adoption. It's easy to say HP, IBM, Redhat, and other big names have put their weight behind it. If you ask most developers if they would rather use AWS or OpenStack what do you think the polls would show? OpenStack has a lot of potential and I'd love to see it become massively popular. To help it along I'd love to see OpenStack adopt some of the things that made PHP shoot up in popularity.

Easy To Learn And Use

When I first started to learn PHP I was amazed at how easy it was to learn. I've heard countless other people tell me the same thing. PHP wasn't my first language and I wasn't new to programming. But, I was new to writing software for the web. Even when I was writing PHP 3, back in the '90s, it was easy to learn.

Using OpenStack should be easy. I don't mean developing OpenStack. I mean using it to build applications in-cloud. Documentation should be easy to read, multi-lingual, and make sense to end users. Comments are important. Real world users can share their experiences.

The users of OpenStack should be encouraged to blog and share code on social media. Even bad tutorials can start good conversations or spur others on to help them improve it.

The wide spread and easy to use, but sometimes horrid, documentation and tutorials for end users helped make it easy for a generation of PHP developers to get started. It can help OpenStack in the same way.

Consistent API Everywhere

I wish the OpenStack API were nicely consistent in practice. Sadly, this is not always the case. There are two reason for this.

First, OpenStack is an implementation and all of the features everyone needs are not part of it. So, they add vendor extensions and that's handled all to inconsistently. For example, HP Cloud and Rackspace each implement CDN differently. For these common components it would be great if they could work together to have a common way to implement these. A spec that everyone can use.

Second, PHP did an amazing job keeping backwards compatibility. Major backward incompatible changes in APIs are now rare. I would like to see more parts of OpenStack end up this way. In my short time around OpenStack I'm now seeing version 3 of the identity services API. API stability across the board would be really helpful.

End Users. End Users. End Users.

As I was writing this the one thing that jumped out as an area that needs work is the approach to end users who build applications on OpenStack. OpenStack has 3 classes of users in developers of OpenStack, those who stand it up, and those who use it for their cloud. This last class of user needs more love.