DevOps for Enterprise IT

The main advantage of the DevOps approach is streamlining the flow of your features and fixes from development into production. It will make you faster and more flexible by tearing down obstacles existing between developers and sysadmins.

Introduction of Agile software development and delivery

As application development teams use agile to speed up delivery of software updates, the bottlenecks in software delivery moves to IT operations. Small IT shops are responsible for their own releases, while larger organizations have dedicated staff that handle getting software out to the business.

Regardless of size, IT ops have a fixed release procedure to prevent bad code or improper deployment procedure brings down critical business apps. this is especially important for e-Commerce and point of service applications.

Some customers that take up agile can report number of releases grow 3-5 fold. That is a huge increase. While the amount of code might be smaller, the change procedure will be the same, and that puts pressure on the overall application delivery process and the staff that verifies and releases the software. This introduces the risk of undiscovered errors and production outages.

There is a very good reason why developers should care about release management: delivery of software that works is how the business judges that application. Software Quality is critical to the perception of IT by users.

Release management is a key. Automating this process will save time as well as ensuring that all the good work that your application development function does is recognized.

Optimizing Application Delivery for the Web

More and more applications are shifting over to being web-based services, simply because this makes them available wherever users happen to be. For application delivery, this does make them more complicated, as the number of moving parts increases. Web-based applications have numerous layers of technology that are highly interdependent and this leads to complex configuration management issues.

For developers, getting their applications updated when they cross over many different architectures, technologies, methodologies and geographies means that they have to be conscious of how all these interactions work. This means that testing, auditing and tracking changes is becoming more important, because if a service goes down, it can be more difficult to find where that problem came from during the development process.

Since Web applications tend to be developed and updated employing agile methods, IT ops must invest in continuous improvement in application delivery. Because services have to be available online all the time, downtime and performance issues become more difficult issues to manage. As a result application delivery and release management is pulled in two opposing directions, - flexibility vs. stability. The balance needs to be managed by improvement in tools and processes as well as by managing business’ expectations (realistic expectations of quality based on complexity and speed of change).

Introducing DevOps

Web services are hosted within businesses on many different servers – physical or virtualized – or can be put into the cloud. So there will be potentially more platforms to think about within the organization – everything from Windows and Linux servers, through to mainframes and cloud-based services as well as handheld and embedded software on other devices. For IT ops, changes in these environments represent opportunities for things to go wrong, and managing these risk events is a big issue.

Automating release management can help reducing the impact of this change. Getting software updates deployed across these new platforms, irrespective of what that platform happens to be, is the main aim for both developers and operations. Instead of having this completed manually, automating the job stops errors creeping in.

The gap between developers and operations – DevOps – represents an opportunity for things to go wrong if the processes that should be followed are not clear. Getting the right workflow in place is therefore an essential part of planning application development going forward. Bringing developers and operations staff together to discuss the whole process is a good first step to solving the problems that can exist.

Thus the biggest issue becomes collaboration – rather than being adversaries on either side of the gap, dev and ops should be seen as complementing parts of the single process of providing application changes that business requests. This is a question of productivity, quality, and user satisfaction. As a result, approaches, processes, and tools that will support this must be put in place

This collaboration is part of the wider business process that exists around application delivery. For developers looking at managing applications across their life-cycle, DevOps represents an opportunity to get more of an insight into what the business really wants from them. As timescales are coming down for software projects to be delivered, this will be essential.

The other perspective is how developers and operations integrate into IT service management. ITSM involves how the organization runs its processes and manages delivery of IT services to users. For most companies, their view of ITSM begins and ends at the service desk, but in actuality ITSM covers much more than that. World moves toward greater collaboration around the provisioning of resources to support services across operations and business units, particularly as these applications become hosted on virtual servers or in the cloud. For developers, knowing that this level of flexibility and management is needed will have an impact both on how they put their applications together, and how they include that ability to scale to meet requirements.