Productivity Through DevOps
Software development and operations/systems administrators have been operating in a mutually opposing, yet beneficial, relationship. If software development teams are Ying, then system admins would be considered the Yang. X’s to O’s. In traditional IT departments, the development team aims to deliver new, innovative features to end-users quickly. IT Ops team place more emphasis on run time, service, software and reliability, thereby requiring a slow and deliberate process. In a perfect world, the goals of developers and IT Ops should be aligned to power both agility and reliability. Unfortunately, it’s not always the case. What was meant to breed efficiency can result in negative tension with each team seeing the other as an obstacle to their success.
Although both teams push each other, the relationship between the two groups can be complementary. In an effort to bridge the gap between the two, next generation IT organizations are implementing the DevOps methodology into their environments. The DevOps concept is a unified approach that will join development and system admin teams together; a new ‘way of life’ for IT to mend the once hectic and complicated world of application development.
According to Gartner’s Cameron Haight, “It’s not too soon for enterprises to begin assessing if the DevOps mind-set might apply to their own environments, because what always takes the longest to change within any organization is its culture. And key to the culture within DevOps is the notion of becoming more agile – a perspective that has not been widely pursued within classical IT operations.”*
When combined with cloud computing, DevOps is more powerful than ever. It empowers teams with increased speed, efficiency and reliability. To implement DevOps into your IT department, you must first understand how four key DevOps principles coincide with the cloud model. Then you can easily align the goals of DevTest and DevOps teams to drive business productivity and success.
1. Consistency and speed of provisioning
One of the core tenets of DevOps is the ability to provide consistent environments quickly. Any environmental changes that are applied by IT by hand should be eliminated. Everything should be automated. In addition, all configuration information including OS, DB, App versions, security patches and sequencing should be available in a configuration database for easy access. In many ways, lack of such discipline and central information store is the reason for frustration among dev/test and app migration teams. Note: to provision consistent environments quickly, there is no need to code extensively or learn a new “DevOps” paradigm. You can do this with simple, self-service solutions.
Cloud automation solutions empower IT organizations to adopt this principle with a “template” model where the templates contain “golden” images by environment type that are ready for instant provisioning. Dev/test teams can have images specific to their releases, and various stages within the release. Training teams can have a “master” classroom set up ready to go. By effectively combining the DevOps principle of consistency with cloud automation features, you can reduce the errors and increase the collaboration between IT and dev/test teams.
2. Configurability of environments
Configurability of provisioning is equally critical for any IT team as the organization holds many environment responsibilities including application development and test, app migration, IT ops, and so forth. However, these projects are often delayed when the IT team uses “Old IT” which infrastructure lacks the flexibility and agility to support multiple dynamic workloads simultaneously.
Bring in “Cloud IT” and you can solve these business problems by offering enterprises a scalable, IT environment which is flexible and can be accessed and managed through an on-demand self-service user interface. The cloud model provides an automated environment for DevOps teams to meet or exceed the expectations of dev/test, app migration and other teams.
3. Collaboration with Self-Service Access
Collaboration is another key tenet of the DevOps model. IT Ops teams must inherently understand the various needs of developers, engineers and business users, and accommodate those needs as part of their deployment architecture. At the same time, developers, test engineers and architects must collaborate with IT Ops so that deployment considerations are “baked” into the product.
As mentioned briefly above, developers, engineers and quality assurance managers need self-service cloud environments to increase their agile application life-cycles, and enable collaboration with geographically dispersed or remote teams. To achieve faster time to market, these teams must work in a secure, self-service environment with the ability to collaborate and control users. Additionally, business users should be able to work with the applications they already know and love, without complicated rewrites. Testing teams should be able to easily replicate a problem without interfering with the development of applications already in progress through snapshots and parallel work streams.
By integrating cloud automation solutions into the overall mix, IT can use DevOps principles without requiring a retooling of their infrastructure. Cloud automation solutions that provide project based collaboration, easy sharing of dev/test environments and rapid snapshot/resume operations enable IT organizations to get to the end state quickly and easily.
4. Control and Visibility to Ensure Comprehensive Security
DevOps must follow corporate budgetary policies and security procedures without sacrificing agility, consistency or collaboration benefits. For this reason, DevOps teams need a cloud environment which offers management and control features. DevOps teams should be able to easily map the organization’s internal structure and create granular role-based access controls. DevOps teams also need detailed usage reports, deployment workflow mechanisms, monitoring, failure recovery, OS maintenance, system configuration and overall performance tracking. When combined with the cloud’s self-service accessibility, scalability and flexibility, DevOps can achieve faster and cost efficient application delivery.
By combining these four key DevOps principles with a cloud model enabled through cloud automation solutions, IT teams can eliminate configuration errors, remove agility barriers and drive productivity through collaboration. That will put the IT organization in a leadership role to replace their “Old IT” architecture with “Cloud IT” architecture in their companies.
By Sundar Raghavan