It's the Ranger4 #DevOpsFriday5 series - today's contributor is Mark Roberts. He's DevOpstastic!
1) What’s your preferred definition of DevOps?
DevOps is an interesting term because it is always looked upon as a drive to get development and operations working closer together. My definition of DevOps focusses more on the flow of information through the development lifecycle. Organisations that rely on software innovation must ensure that business needs become operational software that is thoroughly tested and delivered to a production environment in a controlled recorded and measured way. Removing waste from this flow of information through the organization requires many teams to work closer together and to break down the barriers that introduce delay and opportunity for errors. We have seen some great progress in getting development and business users to work closer together, primarily driven by some of the founding characteristics of Agile development. We need to see that same level of cooperation and shared responsibility between development and operations. However, we need to remember that there are specific things that development and operations do well in isolation. For example the management of resources within a production environment should always remain the domain and responsibility of specialists within the operations team.
2) When people ‘do’ DevOps, what’s the most common mistake you see them make?
'Production is different'. This is the biggest mistake that organisations make when trying the streamline the flow of change to production. Many teams have highly scripted processes for deploying to development and test environments which generally contain a small number of machines. Even the most complex business critical web applications serving thousand of users an hour can actually be developed and tested on around four or five machines. So for many teams the biggest issue comes from the creation of one process for the frequently executed deployment to development and test, and a different process for the deployment to the complex production environments that may involved several hundred machines. Testing the process for deploying to production by using the disaster recovery site or by using production leads to outages, expensive roll-back situations and delays in progressing changes to production. It is far better to focus on a scalable process that can be used in all environments regardless of complexity and scale.
3) How do you recommend an organisation new to DevOps start?
When starting on a DevOps improvement process it is simply the flow of information that is important. Between the creation of a business idea and the delivery of that idea to a customer there is simply cost. Development, test, deployment all generate a cost on the organisation and they also create opportunity for errors. Examining the pipeline of process between the idea and the solution is the best way to identify the risks and costs which need to be removed to simplify the development process and accelerate change. Within the processes it is easy to identify the complex scripted and manual operations that are slow to perform, easy to get wrong and impossible to govern. Many organisations want to change their deployment processes but treat the scripts as a house of cards that they feel will crash to the ground if they make the slightest touch. Stepping away from scripts to a structured, audited and secure automation solution is a move to a more reliable and repeatable process.
4) What’s your prediction for what DevOps will look like in 2020?
Agile development has blended roles and removed some of the silo's that previously existed within development teams. I think we will see that happen further and there will be a blending of roles that progresses across from development into the infrastructure and operational management domains. The requirements of Internet based applications and mobile platforms will continue to make the operational environments that deliver such systems more complex, more connected and more reliant on other systems. As a result keeping the plates spinning and allowing changes to occur as fast as organisations require will place greater strain on the DevOps teams which will require them to work much closer together. Tablet and phone based applications can reduce the application deployment costs when considering a large multinational. The phrase 'desktop refresh' will become a thing of the past and organisations will expect new applications to be deployed faster and faster.
5) Where do you like to go to get a DevOps hit?
The IBM DeveloperWorks web site is a great resource for information on the concepts of DevOps and the specific solutions from IBM. Beyond that events and LinkedIn can often be good ways to find new sources. I am fortunate however in that I get to meet customers on a daily basis to talk about their DevOps challenges and how they want to transform their organisations. Everyone is different but the underlying principle of speed of change, consistency of process, security, governance and audit remain.
Mark holds a Bachelors Degree in General Engineering and a Masters Degree in Distributed Systems Design, has over 20 years experience in a wide variety of computer systems and is a Member of the British Computer Society and a Chartered Engineer.
Mark was a senior Engineer at ALSTOM T&D where he was responsible for the creation of software solutions using ‘C’, Assembly code, PERL and Fortran for PC, mainframe and real-time embedded platforms.
Mark joined Rational Software in 1999 and after focussing on change and configuration management solutions has expanded the coverage of the software development lifecycle to include requirements, test automation and deployment. During his IBM career Mark has worked in roles covering technical consultancy, product management, marketing and services management. He is currently serving another term of pre-sales consultancy focussing on the Rational collaborative application lifecycle management solutions.
Do you have something you'd like to say about DevOps? If you would like to be featured on #DevOpsFriday5 click the button below.