Do You Really Have DevOps?
Recently, I have heard the term “DevOps” thrown around with multiple meanings at many conferences and customer visits. It’s almost as bad as the confusion around “Cloud” a few years ago. I have heard reference to someone with solid scripting skills as the “DevOps Guy”. I have heard “DevOps” referenced as the team that uses API’s to pull information from infrastructure devices to build reports. We need to level set, differentiate, and get clarity.
I took the liberty of looking up DevOps from a few sources below:
- Wikipedia: “DevOps is a software development methodology that combines software development with information technology operations. The goal of DevOps is to shorten the systems development life cycle while also delivering features, fixes, and updates frequently in close alignment with business objectives.”
- Webopedia: “DevOps (development and operations) is an enterprise software development phrase used to mean a type of agile relationship between development and IT operations. The goal of DevOps is to change and improve the relationship by advocating better communication and collaboration between these two business units.”
- AWS: “DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s ability to deliver applications and services at high velocity: evolving and improving products at a faster pace than organizations using traditional software development and infrastructure management processes.”
It’s interesting that none of these definitions mention scripting, reporting, or skills with RESTful API’s. Why?
In today’s IT world, the ability to script in Python or the scripting language of your choice is table stakes. To work efficiently and get the most out of your infrastructure, you need to be able to script.
I prefer the AWS definition of DevOps; which is really a mentality or an approach within a business to better leverage tools/software to automate and optimize the functions in IT. Scripting is only one of those tools. While it is a key piece of the puzzle, DevOps is not just scripting and automation. DevOps is about shifting the paradigm in IT to leverage software and integrations to their fullest to efficiently deliver a solid, easy to manage, and improved product to your business and customers.
What DevOps comes down to is applying software’s rapid development methodologies to your IT infrastructure and leveraging the appropriate tools (including scripting and software.) The end goal should be to make your networks and infrastructure more maintainable, fluid, flexible, and “meaningful” to the business and their customers.
Let’s elaborate- “meaningful” is a broad term. In today’s world, your infrastructure should not just provide a service to the business. It should provide data- not just numbers, but data that ties user and application behaviors to trends and areas of opportunity and optimization. In today’s world, that means leveraging data that can be collected from infrastructure is also a key component of DevOps.
In summary, if you have a “DevOps Person,” you don’t necessarily have DevOps. If you say you have a DevOps mindset and you:
- are leveraging tools/software to add flexibility and speed to your IT functions and processes,
- are pulling meaningful data from your infrastructure and applications,
- and you are leveraging that data to identify opportunities for optimization and improved customer experience…
then you have “DevOps”.
Noel Barber is a veteran of the IT industry and serves as the Vice President of Professional Services at ABS. In addition to staying on top of industry trends and changes, Noel works to ensure ABS continuously brings the best technology solutions to our clients.