Almost every discussion about the DevOps methodology, or the merging of development and operations teams, focuses on communication and workflow. Sure, those are major challenges that DevOps presents -- but they're hardly the only ones.
The DevOps process leaves its mark on infrastructure. A well-oiled DevOps process creates, tests and releases software rapidly as a result of greater communication and automation. Those quick changes in deployments and development cycles can stress infrastructure equipment and personnel. Infrastructure often can't keep up.
While both DevOps and infrastructure bring expenses, the cost of DevOps' automation packages pales in comparison to expensive hardware. It's easy to say you'll reduce costs with more automation and less hardware, but it's not always that simple. For one, you'll be paying for more virtual machines or instances, which carry their own expenses.
Plus, automation removes a natural choke point in IT operations. While choke points can sound counterintuitive, they are often necessary; things can run amok without them. Infrastructure takes time to ramp up -- there is purchasing, configuration and management. That takes time and money -- unless you go to the cloud.
Amazon Web Services and Microsoft Azure can scale to almost any workload you throw at them. But what about the cost? The cloud is usually not as expensive as infrastructure's capital expense, but there is an operating cost. This monthly fee doesn't stop, and you don't pay it off at some point in the future; it continues for as long as you use those resources and can become a larger drain on your budget over time. And once you're in the cloud, you don't have the same level of control as you do in your own data center.
Ask the right questions
Before you move to the DevOps process, consider a few critical questions about how that process will impact your overall infrastructure:
- Will a new DevOps workflow tax existing equipment to the limit?
- Will the new workflow require costly infrastructure improvements or replacements?
- Does the new process have a limited lifespan? If so, would it be better off in the cloud?
- Should the new process start in the cloud and return on site after you make equipment upgrades?
These questions are critical for your infrastructure team, but are often an afterthought.
Understand the differing goals
For sustained success between the two, DevOps workers must realize that infrastructure groups have longer lead times and often deal with resources in slower growth waves. By the same token, infrastructure teams need to understand that the goal of the DevOps process is to get applications out the door quickly and efficiently.
This means the infrastructure teams must be flexible in what they can deliver, but also ask the right questions as they distribute the resources. The answers will enable them to decide what should be on premises and what can go to the cloud based on design, application lifespan, security and overall resource needs.
Infrastructure teams must be the gatekeepers to balance requests with what exists today and what is coming tomorrow. This can mean infrastructure teams need to request new equipment sooner than in the past -- but without overbuying. Infrastructure teams often work off a yearly budget cycle, but a quarterly system would enable a business to better adjust to DevOps' needs and not waste valuable equipment or resources.
Adjusting how a company looks at capital expenses won't be easy, but business leaders have a lot to do with the success or failure of DevOps and the infrastructure teams. The business has a vested interest in both groups, even though each has different goals that don't natively work together. Business leaders want the DevOps process for the quick development and deployment cycle. At the same time, they want infrastructure to reduce costs and capital purchases.
Capital and operational budgets can no longer be done annually. Semiannual or quarterly health checks with DevOps must become the norm, or your infrastructure and DevOps teams will never find that balance.
Just as the communication between development and operations has been integrated, so should infrastructure. By removing surprises, everyone can take advantage of DevOps' flexibility and speed while keeping those efforts in sync with the infrastructure.
See how immutable infrastructure works in DevOps
Predict costs to see if the cloud is worth it
Steps to reduce technical debt in DevOps