A Set Of Tools to Support DevOps
The three things that need to happen for DevOps to be effective are:
- Ability to define the change in terms of its’ scope and bill-of-material
- Ability to follow the change throughout its lifecycle
- Ability to efficiently share change status and other information and related issues with all the involved parties
Critical to all these areas is automation. It will allow Operations and Development to work together to produce a process that is not error prone.
So that this will not be just a one way process but also a closed loop, information needs to come from development to operations, and go back. In terms of tools, you need a single point of view, a common set of tools creating a common language and enabling an organization to work together. The DevOps team can see this as part of their job, not just as throwing information back over the proverbial wall. When you increase collaboration and all the resources are collaborating then you can ensure that issues are addressed or avoided, rather than just to try and defend a position.
Currently, there is no foundation designed to support DevOps. DevOps needs to build up its organization, processes and supporting technology. A DevOpsorganization could be dedicated or virtual. Processes should be collaboration based. Tools are a must to automate the processes and support the organization.
DevOps Impact on IT Operations: Insight into Change
Today IT Ops is just the intermediary for implementing a change from development into production. DevOps elevates IT Ops to be an integral part of the process. They are able to understand what the change is, assess the impact of the change and plan accordingly. Based on this knowledge they are able to validate what they are doing, and what to validate against. All the unplanned changes, extra-process changes, can be integrated and brought back into the process, closing the change loop.
DevOps Impact on Application Releases: Increase Frequency and Maintain Quality
Accelerated frequency of releases is taking place right now. Yet, often, the pace is increased at the expense of quality. DevOps practices, tools and organizational structure will help to maintain this momentum, increasing the frequency of releases and changes, while maintaining quality. This is important for environment stability, maintaining an optimal balance between control of changes and speed of release - less failures and no need for stabilization periods.
New Platforms Demand a DevOps Discipline
The Cloud provides an opportunity for developers and their customers to drive things on their own, with the ability to provision services and execute them– automatically, with minimum Operations involvement. This means Operations needs even more control and visibility of the environment, in order to support it. They need to know that the change has happened, and they need a connection to the engineering team and the tools to follow the evolution of these environments, which are not always modified by IT Ops directly.
Application changes also impact virtualization, a major technology used as a step towards the cloud. Virtualization makes change transition and deployment processes much more efficient. For example, if you have developed and tested something inside the virtual machine, you don't need to package the change and pass it to the production team, rather, you just give them the virtual image and it is ramped up on the server. The transition process becomes very easy and Operations involvement becomes even lower than before. However, for IT Ops, this becomes a black box to manage. They do not know what is inside images they are using, and so when something happens they are helpless with no visibility.
On the other hand, Operations might have their own standards for base images, complicating the process. How will Development be aware of Operations’ templates of standard images so they can develop based on them? How can they ensure that changes required in the base images make it back to production? So in terms of virtualization, the same link between Development and Operations is very important, but the approach is more about image management and visibility into images, rather than just looking after changes, as happens in physical environments.
Change Is Good
Complexity and dynamics of business applications and IT environments will only grow, increasing risk associated with changes. There's a lot of talk nowadays about DevOps, making Operations personnel and requirements involved earlier in the application life cycle and Development more actively involved in the release and deployment process. Change is an essential part of IT life and right now the change lifecycle has a major gap in it that DevOps can help close.