DevOps, a portmanteau of ‘development’ and ‘operations’, is a concept that refers to anything empowering organizations to deliver high-quality products to productions while maintaining flexibility within a reliable system.
Traditionally, a DevOps engineer role is seen as a blend of a Systems Administrator (Ops) and Software Developer (Dev) role. A DevOps engineer is often involved in all parts of the software / infrastructure lifecycle – from planning, to coding, to testing, to deployment, to operations.
Although DevOps is often thought of as only a movement within IT, DevOps can be applied in organizations who produce hardware, software, and hardware / software hybrids.
I think of DevOps as a process of collaboration across the traditional IT roles (Development, Operations, Quality Assurance, and Security) to deliver functional solutions to help entire systems. Common examples of this would be infrastructure-as-code, monitoring systems, and automated testing processes. The DevOps movement arose from software companies of huge scale, but is common in very small organizations as well.
Enabling & Improving World-Class Systems
World-class systems successfully implement DevOps, whether an organization calls it that or something else. A world-class system must meet three requirements:
- Highly scalable
A world-class system must be prepared to scale up to billions of users, and have an infrastructure that can be adjusted to support that. A world-class system doesn’t necessarily need to have billions of users, but they need prepared to scale that large.
Provide superior value
Every system delivers a great idea that solves some kind of problem. A world-class system is delivering a great product to the end user. The product may be tangible (a package from Amazon arriving at a doorstep), or intangible (a great article from Wikipedia that helps someone learn something new).
Flawless experience of the product for users / customers
In order to reach a certain level of scalability, a system must keep its users. Every experience a user/customer has with a product must satisfy them so they come back again. This does not necessarily mean a beautiful user interface, but an experience where users keep using your product. Reddit and Pinterest look very different, but maintain a great deal of users.
No one loves to use a website where they feel frustrated by constant errors or cannot update their account information because services are down, again. Very few users / customers would stay loyal to a company that charges them incorrectly for services or products, or has a leak in their personal information.
A DevOps culture allows a system to change quickly, stay reliable, and still deliver high quality to the end user. Successful implementation of DevOps saves organizations time, money, and morale while empowering them to focus on the things that matter most to them. At Ultralinq, we are seeking to create a DevOps culture on our engineering team whilst moving towards greater efficiency, collaboration, and quality.