The technology media is full of news and discussion about DevOps, but what is DevOps and why is it relevant to your organisation?
Firstly, DevOps is not a technology.
Secondly, although it is perhaps obvious that the term DevOps is born of bringing together Software Development with IT Operations, DevOps is actually far wider than that. It is a cross disciplinary practice that spans all of the roles involved in delivering applications for an organisation, across the whole lifecycle of those applications. It promotes a set of processes and methods for improving communication and collaboration between those roles to deliver software features faster, at higher quality and hence with lower risk, to the business.
The roles involved are multifaceted – from the relevant line of business (to effectively define the needs), through to software development and testing. The latter is ultimately responsible for packaging for deployment, ensuring quality assurance, system configuration, releasing to production, monitoring performance, and ultimately decommissioning and transitioning to new services.
Old School Challenges
Traditionally, organisations have separated these functions. In the worst cases this has led to a “throw it over the wall mentality” where specifications may be met but with little concern for doing so in a way that meets the requirements of other elements in the chain. The often heard line of; “It worked on my machine, it is up to ops to make it work on the servers” has led to extended development times, as projects rattled back and forth. Coupling this with the historic approach of monolithic development, where all the aspects of a business process were wrapped up in one large piece of software, and hence even minor changes had to wait for the next big release, and you had a recipe for delayed projects and the business continually waiting for IT.
The Digital Transformation Drivers
The rise of the App economy, where an aggressive start up with a rapidly evolving service can disrupt a whole sector in heartbeat, has forced enterprises to recognise that they need to be able to rapidly adapt systems and services, shifting many customer facing services online. This, combined with the drive to eliminate paper based systems has become known as digital transformation.
To achieve a faster rate of software delivery organizations have adopted agile software development techniques, which represent a change in thinking around software development, delivering changes in smaller sprints rather than wholesale change in large blocks. To make rapid development possible, automated testing, application release automation and continuous integration tools are commonly used, seeking to achieve continuous delivery of software features.
How Dev Ops Can Help
Agile, Continuous deliveryand DevOps are often conflated, but in fact are different, concepts, DevOps has a broader scope, centring around the cultural change needed to foster the collaboration between teams involved delivering the service as well as automating the processes of software delivery. All three are commonly used together to achieve the aim of delivering many small, rapid changes which benefit the end users, and to enable an experimental, iterative approach to service development.
DevOps is often characterized by operations teams adopting the same sort of techniques that developers uses – especially automating testing, configuration and monitoring.
The challenge for many teams is that this type of work practice is still is still not yet common within many network operations teams. Within this environment it is still common for there to be weekly change deployment windows, which need to be booked weeks or even months in advance. This means that being able to deploy tens of changes a day as part of DevOps driven continuous delivery is just a twinkle in eye of ambitious Network Operations managers.
How Can Brocade NetDev Help?
Brocade NetDev is a professional services team which works, using DevOps approaches, to help customers benefit immediately from rapid development of network automation and management capabilities and to equip customers with the skills to adopt these practices themselves.
The NetDev team go far beyond classic vendor support, touching only our own products; instead they go wider, looking at the entire context of what the customer needs to achieve, researching, designing and customising new forms of deployment that touch all elements of the system and how the system is developed and managed. This is achieved using a wide range of internal Brocade, third party and open source tools.
Typically the NetDev team is engaged where a customer or partner is unfamiliar with the Brocade technology they are deploying, a customer is facing challenges with a complex deployment, a mission critical deployment is being attempted, or where a customer is seeking a major transformation of their approach to network management.
Beyond delivering working advanced network management systems, the automation of workflows that NetDev engagements deliver, typically leave the customer team in a position where the “keeping the lights on” activity is simplified and systems are more stable. This frees up time for the client’s team to address backlogs of actions, accelerate fixes and to invest in new development work.
If you would like to hear more about our current projects or how we could help your business realise the advantages that DevOps can deliver, please contact me.