Why OpenStack Sucks

Let me tell you stories about how infrastructure software evolves in time.

Software development is “anything goes”. It could have begun as a philosophy (Richard Stallman), as a hobby (Linus Torvalds), as a vision brought about by practical experience (like Docker) or as a theory (like Apache Mesos). It is a dance of theory and practice, an ebb and flow in the wide expanse of bits and bytes.

Now, contrast those above mentioned stories with OpenStack.

OpenStack is doomed from the start because it has no solid kernel.

I would argue that for any infrastructure software to blossom, it has to grow from a seed, and that seed can only be formed with a compiled language.

Is it coincidence that Linux, Docker and Mesos are all being generated with a compiled language (C, Go and C++ respectively)?

Is it coincidence that Linux, Docker and Mesos all have modular architecture?

Is it coincidence that Linux, Docker and Mesos all have the right type of governance?


For OpenStack to succeed, it has to be refactored from a common base or kernel.

Relatively static functionality should be compiled to a binary and let dynamic languages do its thing.

The Docker platform itself has some Python flavor in its stack. Apache Mesos lets you create frameworks in Scala, Java or Python.

Also, take the case of Joyent SDC which is built upon the foundation of SmartOS (itself written in C) but is orchestrated with Node.js.

The point of all this is simple:

Static problems require static solutions. Dynamic problems require dynamic solutions.


Subjectivity aside, leave a reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s