DevOps goes hand-in-hand with the cloud. API-enabled, virtualized, private and public clouds are the ideal infrastructure for DevOps. However, for many enterprise IT organizations the concept of cloud infrastructure is not quite so simple. According to the 2014 EMA Software Defined Data Center study, roughly 80% of enterprise organizations still run applications on dedicated servers. In addition, we know that while SDN promises to make networks API-enabled, the reality is that broad SDN deployment will be years in the making.
An NTT survey of CIOs revealed that 53% considered the complexity of existing infrastructure systems to be a primary obstacle to moving to the cloud. If that’s your organization’s infrastructure picture, how do you deal with this reality while trying to head down the DevOps road?
Every movement needs an incubation point, so a good approach is to start DevOps practice through a software development and testing team that does all its work over virtualized and API-enabled infrastructure. This can be a good starting point because it’s easier to hire or internally recruit folks with agile development experience into this type of team. The only thing to be careful of is assuming that the newer infrastructure is the only stuff that can be part of the DevOps initiative.
We’ve spoken with organizations that establish separate DevOps teams and asked them what happens when software needs to progress from development (on virtualized infrastructure) to being tested over more real-world infrastructure that has non-virtualized elements. They replied that it was essentially thrown over a wall to a team that takes weeks just to put together a test environment due to slow, manual processes. However, there is no reason to accept this sort of outcome.
All teams can get to a DevOps-enabled agile environment by building infrastructure self-service that covers both virtualized and non-virtualized infrastructure. Planning clouds over holistic infrastructure takes a bit of work, but the payoff can be significant. Say that you’ve got developers and testers working on applications running on dedicated servers. The time it takes to provision those servers can be weeks in many cases. That period both wastes productivity and delays innovation and release cycles.
The answer is to offer self-service allocation and provisioning of bare-metal servers, sometimes known as Metal as a Service (MaaS). An engineer, in this case, can go to a cloud portal and select one or more bare servers, the OS and perhaps a few other options, and set an amount of time needed to work on these servers. Then, cloud orchestration handles the automated provisioning from a PXE boot on up, so the engineer gets, for example, a fully functional Linux or Windows server.
But what about the case where virtualized servers need to connect across a physical Cisco switch, and through a firewall appliance to an e-commerce server? This scenario, which is quite common, needs a combination of virtual resources, networking connectivity, security, and physical server provisioning. Infrastructure orchestration can and should deal with this diverse infrastructure in order to enable all developers, testers, information security, and compliance stakeholders to build DevOps practices.
There are a variety of ways to build inclusive infrastructure clouds. While most cloud management platforms don’t deal with physical hardware natively, you can typically extend any of them via their APIs and utilize workflow-oriented automation coding tools to handle the networking and MaaS pieces. If your IT team doesn’t have a lot of coders, there also are orchestration tools that will do it all.
They work by offering data models to abstract physical as well as virtual infrastructure, along with GUI environment-modeling and workflow-authoring tools, so that non-programmer IT engineers can productively build clouds over heterogeneous infrastructure.
To achieve pervasive DevOps practices, IT groups that have significant non-virtualized infrastructure shouldn’t believe that they can’t do DevOps. Today’s orchestration and automation tools can deal with diverse infrastructure so that IT groups can build self-service clouds over any combination of physical and virtual resources.