As you examine what IT orchestration is, the big question to ask is -- do I really need it? After all, an orchestration platform is a complex software package and process change that, on the surface, would only bring together various pieces of automation into a single workflow. A common thought is if the organization has survived this long without an orchestration platform, is it worth the effort? This is a fair question because any system that touches so many technical and procedural pieces in an organization should be vetted carefully. One of the common places to get stuck with orchestration is that its usefulness pertains to the provisioning of new resources and servers. While that is one of the places orchestration is most applicable, let's start with less obvious functions -- alerting and maintenance.
The alerting interruption
Alerting is a unique aspect of IT today, as systems are set up to alert for pretty much everything that can go wrong in a modern, virtualized data center. Once notified, the staff can take the appropriate action to resolve the issues. If a server has a service or application that fails, the operations or admin personnel can restart the process. If a server is low on disk space, the operations workers can extend the drive due to the technical advantages of the virtual environment. However, the real question is why do personnel need to be involved in these processes? To address a service or application failing, admins must find out which services or applications have faulted and then restart them. In the very worst case, it may involve a system reboot, which requires communication to the appropriate dev and ops teams and possible management approval, but not necessarily the technical skills of those workers. So if the alerting tools can tell us when executables and services stop, why can't they be the trigger to restart them and initiate a set of planned actions to correct the issue and notify personnel of the results?
Some may call this process automation, but it goes much further than simply using scripts to restart services or applications. An orchestration platform is useful to verify what pieces of the applications are still running and restart failed components in the correct order as required by the application, which goes beyond automated task performance to examining the entire stack and selectively performing automated tasks. This may occur on a single server or a collection of servers. To be clear, orchestration is not going to troubleshoot why the issue occurred -- that task is still reserved for the DevOps personnel -- but it can replace the step-by-step process they take to bring the system or application back online without the need for personnel involvement. The goal isn't to replace these personnel -- the goal is to bring your system or application back online as soon as an alert is generated and reserve the personnel to investigate root cause.
Another common example of alerts initiative IT maintenance tasks is when free space on virtual machine drives runs low. Since storage can be expensive, many deployments tend to be a bit more cautious in allocating out shared storage. This often results in the need to increase free space as updates are performed by the DevOps groups. This is another prime example of an alert that has a canned response by the DevOps group. An orchestration platform can take that alert and use the proper automation pieces, depending on the operating system installed, to increase the disk in the hypervisor and then the operating system. All of this can be done without DevOps or systems admin involvement. The alert provides a paper trail of what happened and the orchestration platform completes the workflow to increase disk space.
Systems admins or DevOps personnel have not been replaced -- orchestration will never replace the critical problem resolution work that these groups do. Orchestration does remove many of the tiresome tasks they needed to do -- in a workflow fashion without the same need for human involvement. This allows the personnel to focus on more critical tasks and leaves the day-to-day alert activity, which can be very disruptive to the daily workflow, to the orchestration tool where it can handle those mundane tasks. Speaking of mundane tasks, no discussion of IT and data center operations can occur without talking about maintenance updates and patching.
The maintenance question
Any software needs updates -- that is simply the way of IT and dev. The real question is how should those updates be released? Having operations teams install patches by hand is inefficient, and prone to human error. Automated patching tools such as Microsoft's Windows Server Update Services help, but only for Windows-based operating systems and these tools only handle the basic aspects of the patching process. Today's applications can be a combination of Windows and Linux that require startup dependencies. This complexity can become overwhelming for any DevOps group, but not for an orchestration platform. Workflows and automation fill the need for maintenance patching quite well. They allow for installation, alert disabling during the reboot cycle, update verification, reestablishing the alerts and finally, the ability to halt a workflow and notify personnel in the event of an update gone wrong. Rather than the DevOps teams performing the steps, they can simply monitor the process and step in where needed. This allows workers to focus on more critical tasks and leaves the computers and systems to do what they are best at -- following instructions.
Deployment and beyond
Now we get to what most people think of when it comes to using an orchestration platform -- provisioning new resources and the change management from preproduction to production. The process of deploying a new resource can encompass multiple areas, from networking, development, system administrators, management and operations. These steps often involve small but critical tasks for each group. The process begins with the request from development to administration for the basics of creating the virtual machines, networking to assign the IP address and getting it into the proper alerting and management groups for operations. All of these tasks are IT-related but involve different departments or silos -- where they still exist -- within IT. Orchestration doesn't allow skipping steps or processes -- it does allow the automation at each stage to come together under a single workflow. This means that instead of the request stopping at each stage for the task or automation to be done, the workflow handles it from start to completion and the end result is a finished product that is free of human error and typically done in a much quicker timeframe than achievable with manual intervention and handoffs.
Adopting orchestration is certainly an investment. The initial investment is high and it requires engineering on the front end to make everything function smoothly. If a company decides to make the investment, the payoff is most apparent in the DevOps staff, allowing them to be more efficient at what they are doing rather than attending to interruption-driven tasks. Ideally, DevOps staff should be proactive, not reactive, in what they have to do so they can handle more complex projects and tasks without the need for consultants and external staff. A refocused DevOps staff can help the business turn around products quicker with fewer errors because in today's business world, the timeframes are tight and the cost of errors is high. IT must continue to be smarter in how they approach these new challenges as resources become tighter. While the deployment aspect gets much of the focus, the right orchestration platform has a way to help in IT in every part of the data center.
Learn how to navigate cloud orchestration for complex IT processes
Read more about OpenStack networking and orchestration and what it can do for an IT infrastructure
DevOps and Orchestration are often discussed in the same conversation. Find out why