6 Easy Ways to Start Working on OpenStack for Custom Development

Partner Post - Zymr, Inc. - Custom App Development Services

Posted: February 16, 2017

Raseel Bhagat has over 12 years of experience in the technology industry. He has worked as an Embedded Systems Developer, a Technical Lead and a Software Development Manager across a range of verticals which include Mobile Networks, Home Networking, Industrial Automation, Automotive Infotainment, and Cloud-based Solutions. In his current role at Zymr, Inc., Raseel architects software solutions for the Cloud using technologies like OpenDaylight (SDN), OpenStack (Private IaaS), AWS/Azure (Public Iaas), Chef, Puppet, Jenkins (DevOps) and very recently Bots (AI, Machine Learning).

This article was originally published on http://www.zymr.com/blog

In the cloud computing universe, OpenStack hardly needs any introduction. It is an open source platform to deploy a private “Cloud” and offer Infrastructure-as-a-Service (IaaS) to its users. It is used by individuals for mini data centers, SME and SOHO organizations for their in-house data center deployments, and even full-fledged data centers to replace their existing setups. However, like most highly successful open source projects which are backed by a large community of developers, it has become a complex mass of multiple sub-projects. It contains 5-6 primary sub-projects, and at least 5-7 more additional services, with new services and projects in the pipeline. As such, getting started with developing on it can be fairly challenging.

One easy way, if you have that kind of money to spare, is to sign-up for managed services and start using it immediately. However, if you are an individual, small or medium-sized enterprise or even a data center looking for cost effective replacements to your existing solution, you might want to first give it a spin before you decide to invest.

In this post, I will explore 6 ways to start using OpenStack in the shortest possible time.

DevStack: The Ubuntu Developer’s Choice

Devstack started out as an individual project, comprising scripts to automate the installation of OpenStack, for developers so that they could checkout the source code from Git, add their patches and test it. It became so popular with developers that it was incorporated as a part of the official OpenStack Foundation project and hosted at: http://docs.openstack.org/developer/devstack/

It literally takes 2-3 commands to deploy DevStack and start using OpenStack, complete with source code et al. The commands would be something like these:

git clone https://git.openstack.org/openstack-dev/devstack

cd devstack

./stack.sh

That’s it! Go grab a cup of coffee, or lunch, depending on the speed of your internet and when you get back, you will be able to access OpenStack using the Horizon dashboard from the host machine’s IP.

RDO Packstack: The RedHat Developer’s Choice

RDO Packstack  is to Redhat, CentOS or Fedora what DevStack is for Ubuntu or Debian OSes. It is a script which uses Puppet modules to deploy OpenStack on pre-installed hosts.

Again, similar to DevStack, a couple of commands to setup RDO repos and Packstack, a good internet connection, and you are ready for a full OpenStack deployment.

These commands would look something like this:

sudo yum install -y https://rdo.fedorapeople.org/rdo-release.rpm

sudo yum install -y openstack-packstack

packstack –allinone

A little time later, your OpenStack deployment will be ready and working on the host machine.

Note: For both the above methods, once you are familiarized with the default, minimum, single host deployment, you can update the config files to have a more rich, close-to-production, multi-node setup.

StackInsider: Do-it-yourself-but-on-remote-hardware

StackInsider is a FREE service to practise deploying OpenStack in various deployment modes. It’s an interactive OpenStack Lab where you decide which scenarios you would like to learn to deploy and start doing it. This, by the way, includes DevStack and RDP Packstack deployments as well. Additionally, you can also deploy OpenStack with DevOps automation tools like Chef, Puppet, Fuel orchestration and SaltStack.

Two things I love about StackInsider:

  1. That I get to learn each step of the deployment with comments on why we are doing the steps. This prepares me for production-grade deployment scenarios.
  2. I can build an OpenStack cloud for something practical like a Hadoop cluster or deploying applications like Redmine, SugardCRM, WordPress, etc.

I would highly recommend this for DevOps and Sys-Admins who plan to deploy OpenStack in their environment soon.

TryStack: Deployed OpenStack for Free

TryStack was one of the older services offered to “play around” with a deployed OpenStack setup. You can just login to your tenant and start spinning up VMs, allocating Volumes, create Networks and generally try OpenStack Administration.

Again, a free OpenStack cloud like this is a must-try for would-be OpenStack Administrators.

As with most free things, there are a couple of caveats:

  • To avail this free service, you need to apply on the TryStack Facebook page and wait for an invitation. Once approved, you can login to your OpenStack tenant using your Facebook credentials. The approval may take any time from a couple of days to a couple of weeks.
  • Secondly, the resources allocated to you are valid only for 24 hours. That means, you can provision a few VMs and volumes and play around with the topologies, but they would all be terminated after 24 hours.

Both these caveats are rather minor considering you are getting to use the service for free. And for any DevOps practitioner worth their salt, 24 hours is enough time to try things out.

Honorable Mentions

Finally, there are a couple of more services which I think are worth mentioning.

SDNNFV.net

This site claims to provide a “sandbox for SDN”. However, it primarily includes a free subscription service to access a managed OpenStack deployment. Once you register, they provide you with credentials to log on to the OpenStack dashboard and try your scenarios. I found their OpenStack access to be extremely slow but, as an OpenStack noob, I would ignore this to get my hands dirty and try some basic OpenStack scenarios.

YellowCircle.net

This site was founded by a father to enable his 13 year old, yes, 13 year old son to fool around with cloud technologies. What started out as a garage project soon became a bigger deployment, and more people started giving donations to add more hardware, making it a free service where people could try out various cloud technologies using OpenStack.

Their tutorials on deploying Firewall-as-a-Service (FWaaS) and LoadBalancer-as-a-Service (LBaaS) scenarios are particularly interesting. Since this is a subscription service, you need to register and wait for an invitation to get access. I’m still waiting for mine

In Conclusion 

To round this post off, I would like to encourage all OpenStack Admins out there to try and build an OpenStack cloud from scratch using the excellent documentation provided by the OpenStack Foundation. It will take some time and patience, but if you have already used one or more of the above services, and you are clear about your deployment setup, it might not be as difficult as you may think.