Explained: How OpenStack works and six reasons you should have a cloud on this platform
There are many open source projects in the IT world, and others are cropping up daily.
Just a few of them make it up to the level where even multinational corps and companies begin to respect them.
The obvious example is Linux. It grew up from a one-person’s project to be an operating system used by a huge number of experts, companies and laymen alike. Relatively recently, even the experts from a rival company Microsoft started using Linux for some specific tasks.
Now the story seems to be similar for OpenStack, a cloud platform that is used to run more and more computer clouds all over the world. Big companies the likes of Intel or PayPal have adopted it and other corporations follow suit. Some people are already referring to OpenStack as the “king of cloud”.
So what’s the hype all about? How does OpenStack work? And what are its benefits for companies who want to use the cloud?
OpenStack: Best friend to many, a monster to some
OpenStack has a reputation of a complicated monster. It’s similar to the Medusa of mythological fame – to get to know it better, you must look closely. But that can lead to petrifaction, as the companies are overwhelmed with the options and information OpenStack entails. And fearing this complexity, some companies run away and spread the myth further.
Even though it’s quite simple to describe.
OpenStack is a cloud platform that facilitates the distribution of computing power.
It means that it can have control over the data center’s resources.
A regular physical server is limited by its hardware. This creates a problem when the performance just doesn’t cut it anymore. The only solutions are buying new hardware or adding another server. But that doesn’t tend to be very effective – while one server can run at a full throttle, the other can have performance to spare.
This can be solved by virtualization. It adds a new layer above the servers – a hypervisor that distributes the performance to virtual servers. It’s more effective, but makes admins’ and developers’ life more difficult. Especially when they use more hypervisors (or different brands), making it all work together well is often a tad problematic.
OpenStack enters this model and adds another layer. It doesn’t care what servers or hypervisors run under its rule. It abstracts resources – all of them are moved into a shared pool from which virtual instances can draw.
It’s much easier to control more complex systems. Basically, all you have to do is tell OpenStack “give me a virtual machine” and it does so without the need to figure out which cluster or physical machine should run it.
There are even more advantages to it. Here are a few:
1) Scaling is easier than ever
Scaling, elasticity or flexibility – whatever the name, it has been an important argument for cloud adoption. In a nutshell, it’s a way to adjust your computing capacity to the demands of a particular task. Does your website have a spike in visitors at a particular hour? Do you need to sometimes run several demanding calculations at once? Or are you in charge of a web-based app that is mostly used during the dinnertime? Where a physical server would be caught short of breath, cloud can keep up with the demand and provide the virtual server with more resources.
OpenStack makes this process easier. It’s designed to be ready for scaling, and it doesn’t matter whether that’s scaling up or down. It’s also designed to be ready for infrastructure not being always available or parts of it outright failing.
And it makes admins’ jobs easier. Creating another instance happens at the drop of a hat. Deleting them when they’re not needed is just as quick.
When a company uses cloud based on OpenStack, it can depend on it adjusting to its demands quickly.
It doesn’t even matter if the company wants to run five instances or five thousand instances. OpenStack can do it all.
Spin-up times are faster
OpenStack also has a faster spin-up time (the time it takes to fire up a virtual machine) than other forms of virtualization.
2) Rule the cloud through automatization
OpenStack offers admins powerful tools that can make managing a cloud a breeze. Many of the usual hassles can be automated.
Its application program interface or API allows complete control over the cloud through other programs. This makes it easy to build an own app that can for instance fire up another virtual machine.
This simplifies development of specific apps. The friendly API certainly makes development faster, which can make it cheaper overall.
3) Open platform allows fast development
One of the largest advantages OpenStack has is the fact that it’s an open platform. Because the source code is publicly available, the development of the platform has seen experts from all around the world pitching in.
This also means that OpenStack is not a child of a specific company that could use it as a license to print money because of the lack of competition. Even though the behemoths of IT industry like Intel, IBM or Dell are taking part in developing OpenStack, any company or a start-up can bring out its own products based on the platform.
It’s a similar system to Linux. There are many different “distributions” of the operation system, each with its own features, even though they mostly share the same core.
Many companies offer their own versions of OpenStack modules. Even though the “basic” source code is free, these distributions are usually paid. Experts argue that this makes it a perfect breeding ground for innovation – everyone starts from the same spot and needs to show creativity and come up with something new and better to offer their clients.
Thanks to the code being open, anyone can try OpenStack on their own. If it doesn’t do exactly what people need, they can code the desired function themselves and share it with other devs. In the case of a proprietary software, they would have to wait for the original developers to add the feature in themselves, which might not happen for a long time (or ever, in case of very specific needs). Instead anyone can code their own solution themselves. This allows cloud solution to move forward at a quick pace.
The development is therefore very quick. The OpenStack Foundation that is running the ship pushes out a hefty update twice a year. The most recent one was Liberty, the twelfth version of the platform so far.
4) Benefits of a huge community: tips, documentation and experience
Because OpenStack is an open platform, it can boast about great number of users and developers all over the world. Similarly to Linux, it has managed to do something most open source projects dream about.
It has successfully built a community around it.
According to the newest data, the development has been helped along by more than four thousand developers.
Which companies use OpenStack?
Most companies using OpenStack work in the IT industry. However, the open platform is used in most other industries as well, even in the movie industry, insurance or manufacturing.
That’s a huge boon for administrators that is always getting larger. Whenever an admin runs into a problem, there’s pretty good chance someone somewhere already had to solve the exact same trouble or something very similar. Solutions are easily accessible. There’s a vast documentation and a portal for asking questions Ask OpenStack.
Moreover, the community holds regular meetings all over the world just for the devs and admins, to help them share news and experience.
Similarly to Linux, this “movement” doesn’t seem about to slow down.
5) Advantage for businesses: Ready-made OpenStack
Everyone can run OpenStack on their hardware. However, as some observers have suggested, doing so might not be quite simple. It does require some proficiencies. There’s a need for an expert, but experts are in short supply on the job market, so they can charge their own weight in gold.
That’s why the best solution for some companies might be buying a ready-to-go OpenStack cloud. All the complicated processes of starting up your copy of the platform are taken care of by a qualified team of the provider.
Managing the cloud can then be done even by administrators who have no previous experience with OpenStack. After they get more experienced with the platform, they can try building it on their own.
This solution is quite useful for small companies. Their already very busy admins will have an easier time migrating into a cloud run on OpenStack. And the company can very quickly benefit from the OpenStack platform.
6) OpenStack cloud can be inexpensive
Cloud computing is usually considered to be an expensive affair. But it doesn’t have to be.
An OpenStack cloud can be acquired quite on the cheap.
Building a cloud on OpenStack is perhaps not completely simple. Some experts even propose that this is an avenue that should be pursued only by bigger companies who can spare the people to build and develop the cloud.
But there’s still a way for small and medium-sized companies to benefit from OpenStack. They can do this through renting a ready-made cloud from cloud providers.
This means the company doesn’t have to cover the costs of building, configuring and completing the platform. It’s done by the provider who can divide these expenses among his many customers, therefore making it much cheaper for all of them while providing the same-quality service.
All such customers can get a working OpenStack cloud quickly and very cheaply. Master DC, for instance, offers a basic OpenStack cloud for less than a dollar per day.
Is there a catch? Not for the customers
Is OpenStack perfect?
No, not yet. But many people are working on the platform day and night to bring it ever closer to perfection.
As some experts point out, OpenStack does have some drawbacks. Like the fact that it forces companies to cooperate while developing code but also compete with each other through their paid modules at the same time. Or the fact that building a working cloud is not exactly simple.
However, the advantages of OpenStack far outweigh its potential drawbacks. That’s why more and more developers, admins, providers and companies are getting behind the platform.
And most companies don’t have to worry about these drawbacks – their admins don’t need to be well-versed in OpenStack. The whole infrastructure can be rented ready to go. If you would like to use an OpenStack cloud but are still on the fence, the easiest thing to help you decide is to just give it a try. It can be ordered and ready in a few minutes and then you’ll see just what it can do.
What about your experience?
Do you have any experience working with OpenStack? What were your initial thoughts? And if you haven’t worked with OpenStack before, would you consider it in the future? Let us know in the comment section below.