With such an array of options when it comes to building a cloud infrastructure, it can be hard to determine the best route to take. OpenStack is a relatively new kid on the block, but it’s gained ground quickly and is now one of the key enabling technologies for cloud infrastructure, with many businesses and vendors adopting it as standard.
What is OpenStack?
OpenStack was developed as an open source project and consists of a number of technologies for infrastructure-as-a-service, OpenStack can manage your object storage and compute either combined or individually.
Who should use OpenStack?
Having been active in this sphere for quite some time, my business Stratogen has seen strong growth over the past 18 months in the number of organisations opting for dedicated deployments of OpenStack private cloud. In particular, the strongest take-up has been from software development companies and those offering software-as-a-service although some organisations run their corporate data centre applications on it as a production cloud too.
OpenStack is a strong fit in particular for those enterprises that want to run a dev ops infrastructure-as-a-service where the virtual machines (VMs) running the software are very disposable and scalable. Deploying and cloning VM Instances is straightforward via the self-service portal, or using the API for those with the technical know-how. Users can create virtual networks to isolate VMs or groups of VMs behind a fully functional virtual firewall.
What are the main reasons for choosing OpenStack?
- There are a number of reasons for choosing OpenStack:
- High level of scalability, supporting huge data volumes and numbers of users
- Open source with a large active community; there’s no licence fee to pay
- High degree of flexibility over the architecture and hypervisor, including cost benefits
- Constantly growing feature-set which is frequently updated; it has a solid API so plenty of scope here
- Strong automation capabilities to scale automatically and make deployments programmatically
- Abstraction of compute resources to end users, such as development teams, so they can manage their own VMs from within a dedicated interface, including load balancing and firewalls
One of the other major benefits of OpenStack is the flexibility with which the storage and the compute resources can be designed. Rather than having to deploy servers with expensive storage area networks (SANs) and storage arrays, converged compute and storage servers can be used.
For smaller deployments this means you can aggregate storage across multiple servers, striping storage effectively with the compute resources. For larger deployments or for deployments with large object storage requirements the compute and storage roles can be separated amongst different server clusters. It is possible to tier compute resources, one group of hypervisors may have faster processors and more memory and another cluster may have slower processors and slower memory but a lower cost associated with it.
The Mirantis distribution of OpenStack also enables the use of Ceph, a distributed file system that stripes data across multiple nodes for redundancy. Built in file system redundancy on commodity hardware allows us to keep the cost of storage to a minimum while retaining enterprise level SLAs.
Real-life benefits of OpenStack
We have seen some real life benefits of using OpenStack. One example is a software-as-a-service client who runs OpenStack to create an image of their application and then deploys multiple instances of that application server programmatically using the API depending on the load of the system; the higher the load, the greater the number of instances.
Another client has a lot of video data, (in the region of tens of terabytes) so the object storage is very useful to them because it’s very easy to upload and download images from it as a low cost shared storage resource. OpenStack is clearly a powerful option for both software-as-a-service and infrastructure-as-a-service use cases. It gives complete control over who is deploying what resources, whilst allowing individuals and departments to set permissions on their own images, alongside the ability to create sandbox environments and isolated networks with dedicated firewalls per tenant.
For many businesses, it’s proving the perfect fit for a multi-department or multi-tenant system, you’ll have to decide yourself if it’s right for you, but chances are you’ll have some application that needs the benefits you can get from OpenStack.
About the author
Anthony Doncaster is a Solutions Architect for StratoGen where he plans and designs their IaaS solutions both for their public cloud offerings and for private and hybrid cloud solutions. His specialities include virtualisation and cloud services using VMware and OpenStack.