The Benefits and Challenges of Building an OpenStack Based Cloud

Everyone talks about OpenStack like it’s the latest and greatest, but what is it exactly? This post dives into what OpenStack is, the benefits of OpenStack, and the challenges of OpenStack.

What is OpenStack?

OpenStack is one of the world’s most popular cloud computing platforms, and it’s growing at an alarming rate. Part of the reason for its success is the fact that the software is both free and open-source, meaning that anyone can use it and that they can share their own customisations and developments under the same sort of open source license.

Developed in 2010 as a joint project between Rackspace Hosting and NASA, the software platform is usually managed through either a web-based dashboard, through command-line tools or through a RESTful API. In the years since its initial launch, over 500 more companies have joined Rackspace and NASA, and the software continues to be heavily influenced by ongoing collaboration.

Part of the reason for this is the fact that users and advocates are encouraged to take part in future development. An entire community has developed around OpenStack cloud computing platform, and they work together in six-month cycles to release new iterations of the software. During the planning phase, people gather for an OpenStack Design Summit to get the ball rolling, with recent events taking place in Austin, Barcelona, Tokyo, Vancouver, Atlanta, Hong Kong and Paris.

OpenStack has an awesome community

One of the beauties of OpenStack is that anyone can get involved with the community. In fact, the OpenStack wiki has a fantastic resource on how to get started which takes you through it.

OpenStack recommends finding a mentor to begin with, although you can also become a mentor yourself once you’ve learned the ins and outs of the system. They also point out the variety of roles that are needed, from developers and testers to security specialists, documentation writers, designers, translators and more.

On top of that, there are numerous discussion forums, mailing lists and user-generated resources that are available, and which you can easily pick up with a simple search. Because of the software’s popularity, as well as the fact that it’s open source, there are user groups for every conceivable eventuality and even real-life meetups in major cities.

The best way to get started is to get started. Run a few searches, ask around, find yourself a mentor and get cracking. The thriving OpenStack community will welcome you with open arms.

What are the benefits of OpenStack?

It’s certainly true that OpenStack doesn’t come without its challenges. But like all good things, the challenges along the way make the end result so much sweeter. That might make you think, “Why bother?”

Luckily, OpenStack has enough pros to balance the cons, which makes it worth the investment for many companies. If it wasn’t as powerful as it is, more people might be using alternatives. But as it is, there are five key reasons why people use OpenStack. Let’s take a look at them.

1. Easy scalability

Scalability has always been a key component of cloud hosting – and for hosting in general. People need to be able to increase the amount of resources that they have access to so that they can meet rising demand from customers and website visitors. Most people now want scalability to be even more flexible – for example, if there are particular times of day that your website comes under heavy strain, you only need to pay for extra resources at those times.

Physical servers are easily caught short when they’re in desperate need of resources, but cloud setups can keep up with the demand and provide their virtual servers with more resources as and when they need it.

2. Easy automation

OpenStack is particularly powerful because of the ease with which you can automate tasks, and its automation is one of its key selling points when compared to other options. The software comes with inbuilt tools that make cloud management much, much easier.

Better still, OpenStack has its own application programming interface (API), which makes it possible for other programs to tap into it. People are able to create their own applications that can interface with OpenStack to carry out tasks like firing up virtual machines. Any developer in the world can create and share their own solutions, which can then be used by the wider OpenStack community.

3. Fast development

By now, you should have a good idea of how OpenStack’s open source module creates the possibility for third-party augmentation. This actually brings us on to the next point – that because the source code is publicly available, the platform can be developed by experts from all over the world. If a new feature is being developed, it can be created quickly and professionally by a concentrated team effort.

OpenStack, then, is similar to Linux in that there are many distributions which all have different features but which also share the same core components. This fosters innovation, because there’s no specific company that has universal rights to the software. The basic code is free, which means that vendors and resellers all need to start from the same spot and show some creativity to create a spin-off product that brings something new to the market.

4. Strong Community

Any successful open source product relies on its community to spread the word and to continually develop the product to ensure that it stays relevant in a competitive marketplace. OpenStack, in particular, has a large number of users and developers who love to come together to talk about the product. According to recent data, OpenStack has been worked on by over 4,000 developers.

5. Ready-Made

Anyone can run OpenStack, but the initial setup isn’t always easy. It typically requires a skilled developer who’s proficient with the software and who has previous experience of a successful installation. The problem is that these experts are in short supply, so they’re able to charge a heavy premium for their services.

If money isn’t an object, it’s not such a problem. But if you’re trying to operate on a budget then it could be a good idea to buy a full solution from a vendor with a solid reputation. They’ll take on all of the complicated aspects of server setup so that you don’t have to worry about it.

Better still, ready-made solutions don’t have to be expensive. Some people argue that OpenStack setups are only worth the time for bigger companies who are able to spare the people and the budget required to build and develop their infrastructure. But the truth is that SMEs and sole traders can also benefit from OpenStack if they work with a reasonably-priced provider.

OpenStack Challenges

Any new technology brings with it a certain challenge because people need to learn new things to be able to use it. In fact, a lack of available skills is one of the largest challenges that potential users need to face up to.

This skill shortage is particularly common with new technical developments, and a true test of a technology’s ‘stickiness’ is the number of people who learn to use it. OpenStack management is a long, long way away from being a standard skill, but the number of engineers with experience in it is growing on a daily basis.

On top of that, the demand for OpenStack experience is on the rise. One report – the Open Source Jobs Report from The Linux Foundation and Dice – found that 51% of hiring managers are looking for experience with OpenStack and other cloud technologies.

OpenStack is complex and occasionally confusing, but it’s also rewarding once you get it up and running. You’ll just need to keep up with the five key deployment challenges that organizations face, as outlined by Atul Jha in an article for The New Stack:

  1. Installation challenges  
  2. Documentation
  3. Upgrading OpenStack
  4. Long-term support
  5. Too many vendors

1. Installation challenges

Deploying OpenStack isn’t as simple as running a program and clicking the ‘next’ button until it’s finished. In fact, it’s particularly complex during the install phase because it’s a suite of projects and each of those applications needs to be configured to suit the user’s requirements. That means that installation is best carried out by a specialist, or ideally by a company with multiple specialists to cover the range of complimentary skill sets that are required for an optimal setup.

The easiest way to overcome this problem is to look for a vendor who can provide a full package including software, hardware and initial setup. This reduces the need for companies to hire talent with OpenStack experience while making the process much more streamlined, but it’s still important to carry out technology due diligence to check that your experts know as much as they say that they do.

2. Documentation

This one isn’t OpenStack’s fault – it’s simply a by-product of the way in which it was developed. Unfortunately, the open source nature of OpenStack means that documentation is often an afterthought, with no centralized documentation team and, therefore, no real consistency. OpenStack has over 25 different projects, and the quality of the documentation varies widely depending upon who created it.

3. Upgrading OpenStack

OpenStack’s upgrade process is one of the most interesting catch-22s in modern hosting. One of the primary objectives of cloud-based infrastructure is to offer both high reliability and high availability. Many public cloud suppliers specifically offer high up-time within their Service Level Agreements (SLAs).

Unfortunately, upgrading OpenStack isn’t always easy. In fact, because of its complex nature and its multi-project development approach, downtime is occasionally inevitable. OpenStack is more prone to this type of downtime than most alternatives. Thanks to their robust infrastructure monitoring capabilities that helps eliminate errors before they become issues.

4. Long-term support

It’s not uncommon for companies to keep on using the same software for a length of time after its initial installation. In fact, the American nuclear program still uses 8-inch floppy disks, and many organizations stick with legacy software purely because they know that it gets the job done.

That’s fine in most instances, but when it comes to web frameworks, you want to make sure that you’re keeping up with the times. Otherwise, you could find yourself open to security vulnerabilities that threaten your site at server level.

Unfortunately, this process generally relies on installing updates on a regular basis, but there’s not much of an incentive for developers to provide support and updates for an open source project. To make matters worse, OpenStack itself has formally discontinued support for some of its releases. This can make it more difficult to update OpenStack than it is to update an alternative.

5. Too Many Vendors

When it first started out, it took time for OpenStack to pick up momentum. Developers had to learn to work with the software and vendors took time to bring it to market. In the early days, critics said that it was a science project with no vendors, but times have changed and now those same critics say that there are so many vendors that OpenStack has become crowded and slow to evolve.

The truth lies somewhere in the middle. An explosion of OpenStack vendors is due to the laws of supply and demand because more and more people are turning to the software for their server needs. Some people manage OpenStack on their own behalf, but there are many others who want to work with a specialist vendor to implement their own proprietary solutions.

Types of OpenStack Clouds

Some people think that the cloud is the cloud, but the truth is much more nuanced. While cloud hosting is used as a generic umbrella term, there are different types of hosting that sit beneath that. You’ll want to know all of the details before you sign up to use a provider so that you can be sure that you’re using the right kind of cloud.

When it comes to OpenStack, its reputation has led to it being used in a number of ways, with several use cases standing out in particular. Easily the three most common OpenStack cloud types are public, private and hybrid clouds.

OpenStack Public Clouds

Public clouds are those in which the general public are able to access and connect to the infrastructure. They’re often run by service providers and designed to be accessed by anyone who needs them, but they also come with a certain amount of risk. After all, when anyone can access the servers, anyone can try to manipulate them. However, they also tend to be the cheapest systems because you pay only for the resources that are used.  

OpenStack Private Clouds

Private clouds are locked down a little more, usually owned and operated by a single company. They’re a popular choice amongst people who want the power of cloud architecture without having to use somebody else’s data centers, and it’s a common setup amongst hosting providers. The downside of this approach is that it typically costs more to launch, run and manage a private cloud, and that cost is often passed on to the cloud’s users.

OpenStack Hybrid Clouds

Offering up the best of both worlds, hybrid clouds typically use a combination of both public and private clouds. For example, while the private cloud may be used by default, if there’s a traffic peak then the burden could be spread across both private and public clouds to reduce resource usage and to maintain up-time and rapid loading speeds. 

Getting started with OpenStack

Want to learn more about OpenStack? Our customer success team is available 24/7/365 and is always happy to chat.