We are in the aftermath of upgrading our OpenStack deployment to the newest and greatest stable release – Liberty. This is the first release to have more activity in the network module, Neutron, than in the compute module, Nova which to us is a clear trend that software defined networking is becoming more and more important. For you non geeks out there, OpenStack is built up of modules and Nova and Neutron are two of the mayor ones that handles your virtual machines and connections between the machines and out to the Internet.
We hope you enjoy all the normal stability, security and performance improvements that come with an upgrade but there is more. This upgrade enables us to actually look in to a few new features that, if we deem mature enough, will be set into production.
It is important to note that a few of the features we that we are looking in to were released in earlier releases than Liberty. But there is a big difference for a feature to be included in an OpenStack release and for it to be production ready. When we release features to our customers we have to make sure that they are stable enough to not cause problems for us, or more importantly for our customers.
Here are a number of features that are under cosideration for being implemented in production and awailable for all our users later this year.
Let’s start with Trove, or the Database as a Service module.
The idea is simple enough. The module allows you as a user to spin up your own database instances with just a simple api call. No hassle of configuring hosts and installing database management systems on each instance and no worries about setting them up and connecting them correctly. A database instance in Trove will be highly resilient and mirrored across several hosts from the get go. You data will always be accessible and synchronised across data centers and potentially even across continents. A simple API call will allow Trove to solve all interconnectivity for you, as will all the features we are mentioning in this article.
Trove is one of the top features that we are looking to implement and we can’t wait for our due diligence to give us the GO.
Next on our list to deploy is VPN as a service.
This will be the perfect way to create secure connections across different data centers and if you happen to run your application across completely different cities at the same time it will take a really grand event to make it go offline. VPN as a service gives you a easy way to integrate data centers in OpenStack without the hassle to set up and configure your own appliances. You can set up a VPN tunnel between data centers or even your office directly into your OpenStack tenant. It gives you great potential for setting up high availability for your applications and services by spanning an internal network accross several different data centers and even locations in different clouds.
VPNaaS can dramatically increase the availability of your application.
Next let’s talk a bit about the news with LBaaS v2.
Although you have been able to use load balancers with OpenStack before, the earlier version was full of limitations. You could ”only” load balance HTTP or HTTPS and only one protocol per load balancer. With version 2 you can define your own ports to load balance and you can use the same load balancer for several different ports which is pretty awesome. It´s a great tool to use for solving both scalability and availability.
The beauty lies in combining features
Now you can combine all these new features in a pretty cool manner. Here is an example:
- Let’s start by connecting two data centers with VPNaaS.
- Create one load balancer in each datacenter.
- Each load balancer has a public or floating IP.
- Point your public DNS record to those IP addresses.
- Create a web server in each datacenter and configure each load balancer to load balance between both web servers.
And voila now you have a web front that is not only highly available but also very scalable. If your load increases you can just create more servers and add them to a load balancer.
How do you ensure that the content on your web server are the same? That is easy with 2 of the great features OpenStack provides, Trove and Swift. Use Trove for databases and OpenStack will ensure that your database will be available in all different data centers. Use Swift for file storage and Swift will ensure that your files are available from all different data centers.
All the OpenStack features themselves are really nice but it is the combination of features that can create something truly beautiful.