Buy your cellphone


2016-05-28

WHY DEVELOPERS LOVE OPENSTACK

Ken Proulx

First, if you’re not familiar with OpenStack let me enlighten you. OpenStack is an open source project initiated by Rackspace in NASA in 2010. It is a cloud operating system that enables self-service provisioning of virtual servers and can be the base platform for Infrastructure as a Service, Software as a Service and Platform as a Service. OpenStack automated provisioning can be engaged through website self-service portal or through an API. Automated provisioning includes the generation of virtual servers, virtual networks, virtual storage as well as the installation of software applications and tools onto the server or servers. As an open source project, it is free to use for both private and commercial use. Free – as in no one can charge you for using OpenStack. In its native form it does not come with support so you have the option to self-support or purchase support from organizations like Mirantis, Red Hat or HP. The self-service provisioning can be something as simple as a single Linux or Windows Server virtual machine to a very complex multi-server application environment with virtual servers, network switches, firewalls, content switches, etc., etc. The list of provisioning options – called the service catalog – can be tailored to the deploying organization’s needs and be as simple or as sophisticated as needed. So why would a developer care about self-service provisioning? The first reason is time. OpenStack allows a developers to create a server or servers on their own in mere minutes. They have the option to make the server temporary or permanent. Service catalog options can include servers with pre-installed compilers, libraries and development environments that also save developers time. The objective is to let developers do what they do best – write code for business applications. By making the infrastructure easy to access and pre-configured with all of the tools needed for code development developers can get code to market faster. They also have more time for testing iterations which can mean fewer published defects in their code. Let’s face it, sometimes “do it yourself” is better. It gets done faster and it gets done the way you want it to be done. That doesn’t mean it’s the Wild, Wild West – it just means you let your creative people be… well… creative! Faster code development means applications can get to market much faster. In today’s “got it have it now” world that can be the difference between whether or not the application has a workable business case. In some large organizations it takes a minimum of million dollars to get the simplest custom application off the ground. Self-service automated provisioning lowers the bar quite a ways be eliminating the need for a long list of infrastructure folks including project managers, server admins/engineers/architects, network admins/engineers/architects, storage admins/engineers/architects to just name a few. Imagine how much time can be saved by eliminating all of meetings about meetings trying to get an application environment on line? Actually, I know the number. Automation with OpenStack typically reduces service requests and operational IT labor by 90%. Second reason developer’s love OpenStack is consistency. Automation not only accelerates the provisioning of application development environments, it creates consistency in those environments. It doesn’t forget things, make typos or bugger up the names of things. It gives the same results each time until you decide to change it. This saves tons of rework and back and forth between developers and infrastructure teams. When new service catalog options are needed the developers can set the priorities. Developers do not want “build it and they will come” when the options are from the IT infrastructure team. Sorry infrastructure guys, but unless you are a developer you have no clue what developers want and need to be more efficient. OpenStack enables a collaboration between infrastructure teams and developers to build repeatable patterns that help developers accelerate their efforts. Developers can dictate what the service catalog options should be and the infrastructure team has a road-map that tells them where to go with service offerings. Developers love OpenStack because is scales horizontally. Legacy applications are monolithic and run on large hardened processing systems. If you want them to run more workload you move them to even larger (even more expensive) processing systems. Code upgrades are massive projects that only happen once or twice a year and many times end up being rolled back because of unforeseen software issues. Modern applications are self-aware through API’s. Not “Terminator” self-aware, but aware enough that they can be running in multiple place at the same time and sharing in the application processing. Scaling horizontally enables applications to handle workloads that legacy application could never handle. And at a fraction of the cost of those large hardened processing systems. By spreading the application horizontally, the loss of any single application instance – either through software or hardware failure – is hardly noticeable to the overall application. With the right tools, application resources can be added as application demand increases and vice-versa. It can create a truly elastic application environment. It also means that we don't have to break the bank on our infrastructure hardware. "Good enough" really is "good enough" when it comes to OpenStack hardware. Developers understand how important elastic scaling is to their applications and love the fact that OpenStack is affordable and scales. Modern application are also being chopped up into more manageable “micro applications” that communicate via API’s. The enables Continuous Integration and Continuous Development of the micro applications. In some organizations micro applications are tweaked and tuned and changed several times a day. Breaking down applications into groups of smaller parts also makes it easy to share functions between different applications. Reuse of applications is a big deal. It saves time, energy and insures hardened code. Why write a different login application for all 10,000 of your custom applications? Wouldn’t it makes sense to write one that can be shared and hardened? Developers understand these concepts and see OpenStack as a platform for developing applications in this new way and also the same platform for running the applications. Developers don’t care how much development platforms cost – unless the platform itself is consuming all of the budget monies that could be used on application tools that improve performance, reliability, security or stability. Because OpenStack is free and is designed to run on enterprise ready commodity hardware it doesn’t gut the IT budget. There are many third party platforms that run well on top of OpenStack that enable a wide variety of development services. By not giving away the bank for the underlying virtualization infrastructure IT organizations can have more to spend on tools that truly accelerate application development. OpenStack is not perfect. But for many organization it is “good enough” today. With two new versions being published each year the feature list continues to grow and grow and is very competitive with commercial private cloud offerings. When you consider the fact that OpenStack is an open source project it is somewhat daunting for commercial cloud software providers. However, do not shed any tears for those companies – they’ve run roughshod on IT organizations for years and they will get their just desserts. The list of large organizations that are running OpenStack in production today is long and full of recognizable names. A Rackspace executive was recently quoted saying that OpenStack adoption was at 10% in the Fortune 100 twenty-four months ago, at 50% today and will be at 100% within 36 months. To summarize, OpenStack accelerates application development, gets applications to market much faster, lowers the cost of applications development, lowers the cost operational labor and infrastructure, provides consistency, scales to meet demand and enables modern application development processes. Making OpenStack easy to deploy and run is what my company does. If you’d like to have a conversation about OpenStack in your organization feel free to reach out to me at ken@openstackready.com Back