It is not only the technology that develops quickly in the online world, the internal structures, processes and working practices must be adaptable too, if organisations are to be successful.
With release cycles getting shorter and more iterative, many forward looking organisations are finding that the traditional Enterprise IT model no longer suits the way they need to work, and this has resulted in the creation of new DevOps teams.
Dev Ops: A new discipline where Developers and Operations work together to achieve better performance, greater efficiency, faster delivery and more stability.
How Traditional Enterprise IT Has Worked
Traditionally Developers have created new releases and then Operations then pick up the support while the development team moves on to the next new thing. This held true whatever type of approach (Agile, Waterfall etc) was used for development.
Many organizations divide Development and Operations into different departments. While Development departments are usually driven by user needs for frequent delivery of new features, Operations departments focus more on availability, stability of IT services and IT cost efficiency.
This lead to some beliefs and practices becoming entrenched across organisations:
Developers = “build things quickly”
Operations = “keep things stable”
The problem is that these goals can lead to very differing priorities and, ultimately, conflicts which can cause serious issues with online strategy as a “gap” is created between Development and Operations, which slows down IT’s delivery of business value.
How The Dev Ops Approach Works
In contrast Dev Ops is a development method that is a response to the natural interdependence of software development and IT operations. It stresses communication, collaboration and integration between developers and operations teams even though they may have previously been run as separate silos. The aim is to help an organization rapidly produce software products and services by:
- Replacing individual silo aims with a joint goal of “Build it quickly and keep it stable”
- Develop a shared ethos around “build things that are easy to keep stable”
- Thinking about “how will we run what we build?”
DevOps integration targets product delivery, quality testing, feature development and maintenance releases in order to improve reliability and security and faster development and deployment cycles. Many ideas and people involved in DevOps come from the Agile world and they have brought with them the idea of cross functional teams. This does not mean “everyone does everything”, and there is reduction in skill or specialism, but that the right person is involved at the right time as needed
DevOps is frequently described as a more collaborative and productive relationship between development teams and operations teams. This improved relationship and collaboration increases efficiency and reduces the production risk associated with frequent changes.
Dev Ops And The Need For Data
For a DevOps team to function efficiently in itself, and to collaborate effectively with other teams in the business it is vital to have a common language, and a common source of data, that everyone can understand and use to work towards common goals, whatever personal focus might be.
Website Monitoring is very important in the work of Dev Ops teams, especially in the light of complex systems, layers of technology and distributed and teams and architecture. Having an extermal system which measures performance independently that allows you to assess the impact on the user, and hence the bottomline, is vital for decision making, planning and prioritisation . Key “at a glance” info, preferably visible to all on a wallboard, that can easily be shared by team members from many disciplines is a key requirement for many successful Dev Ops teams, as is a finegrained alerting system that ensures that the right team members can be alerted for the right types of error.
The ability to annotate performance data and time periods will be become much more important as teams need to cross reference similar issues, and pattern spotting through trend analysis over time will become a crucial part of the feedback loop.
As so much of the purpose of DevOps is about reducing the risk of release, managing the smooth changeover between versions and understanding the performance impact post release a system that monitors, compares and reports on these things will be needed. Realistic, rather than “rate based”, Load Testing will also be needed prior to release, and these figures correllated with performance data.
Dynamic User Journey Monitoring, is necessary to help support the “build things that are easy to keep stable” aim of a DevOps team. Static monitoring of URLs or simple, repeated journey that always take the same actions just will not provide the kind of realistic data on all aspects of site performance necessary.
To find out more about SciVisum can support your DevOps team email us or give us a call to discuss your needs on 01227 768276.