The traditional model of deploying new software and services is obsolete and unable to meet today’s fast-paced and evolving business demands.
Consumers are demanding access to applications and services in real-time while expecting an unparalleled user experience. The convergence of web and mobile technologies has also accelerated the need for continuous improvement of applications and Enterprises. Needless to say, Enterprises are struggling to keep up.
DevOps may provide the answer, as it accelerates time to market for new apps and services, and streamlines application deployment while achieving operational efficiency. From a CIO’s perspective, adoption of DevOps is transformational. Continuous integration is not just about adopting new tools, nor it is just about a new IT methodology. It is about an enterprise wide shift on how IT is organized.
As IT consumption models evolve at an unprecedented rate, the need for combining development and Operations has never been greater. Industry surveys (i) point out DevOps adoption is rising and operational gains are experiencing 17 – 23 percent improvement in revenue, new customer acquisition and time-to-market. Traditionally, the two organizations have worked in silos with the risk of becoming out-of-touch with the business case. DevOps is providing an alternative with significant upside to the status quo.
Advanced automation attempts to bridge organizational barriers by promoting a continuous delivery style of software development. As developers commit new code, quality assurance processes are automatically initiated for regression testing. Once all automated tests are passed, the application is moved to staging phases. After the deployment, stakeholders can provide rapid commentary to development teams for gaps in success criteria and/or advise on application improvement.
There are three elements that are critical to a successful implementation of a DevOps capability.
DevOps is an extension of the Agile methodology. It requires knowledge and coordination of all related disciplines. All functions must be fully aligned, as one cannot operate without the other. The three elements should also map to an existing operational strategy that addresses compliance and organizational standards that are critical to the enterprise.
Framework is not just about defining processes. Enterprises have to include organizational structure, detailed use-cases and governance as part of the overall DevOps strategy. For example, Scrum is a management framework that provides clarity of positions, collaboration and processes. DevOps teams are responsible for adapting their processes within this Framework or similar Agile methodology. Frameworks must also be continuously assessed for accuracy and relevancy. As DevOps is adopted across the enterprise, some elements will become redundant, automated or phased out completely.
Having an internal or third-party assessment phase will ensure the necessary operational standards (i.e. ISO, HIPAA, SOX) are in place prior to moving forward with Automation. A formal gap analysis that compares current state to future state will provide a clear picture on how DevOps will operate within the enterprise. Having a good grasp of the current state will also provide an accurate baseline and measure for success in the future.
Our experience is that organizations who have a comprehensive assessment phase prior to implementation are significantly better off and avoid significant re-work. Finally, Governance, Data Integrity, Incident Management and Performance reporting must be part of the Enterprise Automation Strategy.
Continuous Delivery and Integration is only possible if the necessary enabling tools are in place. From a developer’s perspective, there is a comprehensive list of Operating Systems, Application Deployment Frameworks, and Management and testing tools that can be part of a DevOps portfolio. However, the portfolio should also include software-defined networking and compute capability that allows easy integration with network and security controls for the application.
Any future IT solution that is being considered should be “DevOps-capable” or include it as part of the respective product road map. For example, the Citrix NetScaler Application Delivery Controller can be fully integrated with OpenStack and other DevOps tools for seamless provisioning and configuration. IT organizations can now automate deployment of applications end-to-end, from development to deployment.
Rapid development and deployment of applications should be a seamless process that is easily repeatable and extensible, promoting code-reuse. Having detailed DevOps workflows will ensure each application is developed and deployed for customers with confidence. The tool portfolio should also conform to operational and compliance standards that are currently in place. Many DevOps frameworks already have compliance requirements baked-in, however, it is important to assess the entire portfolio end-to-end. All tools should be fully approved, categorized, and mapped to an existing IT strategy.
As Development and Operations converge to one single unit, collaboration will be paramount to the evolution.
DevOps seeks to break silos and streamlines processes to extract efficiency and value. An effective DevOps practice will require a great deal of collaboration, including willingness to make compromises in sharing risks and rewards. The organizational challenges are just about culture and challenging the status quo as they are about technical processes. Development teams will need to appreciate Operations perspective on risk management and strict change-management practices.
On the other hand, Operations will need to embrace the benefits of quicker deployments to an organization’s competitive advantage. Employees will accept the change when they see the value of the two teams working closer together. It is important to over-communicate the benefits of the organizational change to not just the units, but to the enterprise as a whole.
Regarding IT solutions, organizations are thinking about value just as they are thinking about cost. How will this solution give us an unfair advantage over the competition? DevOps will bring systemic efficiencies to IT operations but it must be adopted with all the right elements in mind. Ultimately, Customers will be the primary beneficiaries of DevOps. The quality of User experience, availability and security will be elevated as IT organizations deliver applications more seamlessly.
(i)“What Smart Businesses Know About DevOps.” CA Technologies, Last accessed October 2014. http://www.federaltechnologyinsider.com/wp-content/uploads/2013/03/infographic.pdf