People are still wrapping their heads around the “DevOps” concepts of automated, continuous development, deployment, and maintenance, yet some analysts are already forecasting that DevOps will soon be eclipsed by managed services. The names may change, but the principles of customer-driven app development and support will survive long into IT’s future, whether cloud-based, in-house, or a combination of the two.
In the beginning, there were developers and operators (a.k.a. sysadmins): The first group wrote the code and tossed it over the wall to the second group, who installed and ran the programs, and supported the people who used the programs. Every so often, perhaps a few times a year, the developers sent over an update, which operators implemented. And so it went for years and years.
But those pesky users kept demanding more features and functions, faster speeds, and simpler interfaces. Occasional software updates simply wouldn’t do. The arrival of agile development and continuous deployment led to the creation of DevOps, an amalgam that puts developers in the operations realm and operators in the development mix. And so it went for… months and months?
Hold onto your hats, folks. The Golden Age of DevOps appears to be ending almost as quickly as it began. As Smartling co-founder and CTO Andrey Akselrod writes in an April 6, 2016, article on TechCrunch, code happens so quickly these days that you don’t have time to treat development, testing, implementation, and maintenance as separate, distinct activities.
From day one, DevOps was criticized for failing to maximize people’s strengths. After all, developers know development, and operators know administration. Would a restaurant ask its chefs to serve and its servers to cook? There’s no quicker way to alienate employees than to give them tasks and responsibilities for which they are unsuited.
However, there are other problems with the DevOps model. For one thing, sysadmins still have a heck of a lot of infrastructure to manage. Another obstacle to the smooth merger of formerly distinct operations is the traditional QA function, which creates a bottleneck in the continuous deployment model. Agile development requires that testing is baked into all stages: development, deployment, and maintenance/updates.
Converting in-house infrastructure into an on-demand utility
Despite these shortcomings, what truly put the stake in the heart of DevOps is the cloud – specifically, managed services. Amazon Web Services, Google Compute Engine, Microsoft Azure, and other managed services simplify development by allowing developers to focus on code rather than database deployment, backups, and uptime monitoring, all of which are automated by the services. As implementation and management become automated, the “Ops” side of DevOps focuses on security, compliance, and cost management. Once again, the roles of your IT staff are clearly defined.
What many organizations fail to consider is how the role of the IT department itself becomes more prominent within and without the company as a result of agile development. Today, nearly all firms are software-driven. Increasingly, that software has migrated to the “flexible technology stack,” as explained in Chef Software’s Automation and the DevOps Workflow (pdf). Yet IT must continue to support legacy software and meet regulatory requirements, neither of which port easily to agile workflows and rapid-deployment models.
Full-stack automation extends application quality and manageability practices to your entire infrastructure as well as all individual services.
One of the defining characteristics of DevOps is increased reliance on service-oriented architectures, which offer “stable, independent services that use web protocols and associated architectural patterns.” Each service can be implemented, deployed, and scaled independently, which makes it easier for teams to align apps with business functions. Similarly, automation is a keystone of DevOps that encompasses the development/test/production environment, deployment and management of cloud resources, and release pipelines.
The benefits of such an “automation platform” are a clear view of the entire network state, support for complex dependencies between network nodes, scalability, fault tolerance, security, workflow automation, and the ability to accommodate multiple platforms and legacy systems.
DevOps principles permeate managed services
As with other tech buzzwords, there is no single, consistent definition of ‘DevOps.’ The concepts of agility, scalability, speed, and efficiency were adopted first by developers migrating to AWS and other cloud platforms-as-a-service (PaaS). The challenge for operations staff was to apply the same tried-and-true disciplines of in-house IT management to public, private, and hybrid clouds based on managed services.
All the components of today’s virtual environments need to be tracked, managed, secured and terminated when they’re no longer needed. Along with “writing bug-free and effective code as quickly as possible,” as Computerworld’s David Braue explains in a March 22, 2016, article, you have to work closely with the business side to ensure the apps meet customers’ needs efficiently and profitably. Bringing developers closer to customers may be the lasting legacy of the short-lived DevOps era.
Meet your customers’ needs for frequent, automatic application updates by converting from internal-driven IT to a customer-driven, mobile-supporting operation.
Managed services now work more closely with internal DevOps teams via such programs as the AWS OpsWork toolkit and IBM’s BlueMix cloud platform. As more organization-wide discipline and policy are applied through service providers, DevOps concentrates on compliance, security, and cost management. Yet making DevOps work in your company is more challenging now than ever. On April 14, 2016, an article, Braue lists nine characteristics of a successful DevOps strategy:
- A well-defined strategy and objectives
- Business stakeholder education
- IT-business alignment of priorities
- Relevant IT knowledge and skills
- Cross-functional IT processes
- Cultural harmony within IT
- The right infrastructure and tooling
- The right suppliers and support
- Security and compliance measures
The term “DevOps” may become an anachronism before the decade (or the year) is out, but the concept’s customer focus, integration, automation, speed, and scalability will serve as the foundation of the managed services that will dominate IT operations in the future. When you’re asked to decide between DevOps and managed services, the best response for your organization will likely be “both.”