DevOps Dictionary: A Guide to DevOps Words and Terms
If you're an MSP trying to understand the tools and ideas that are currently shaping the managed IT services world, you need to be able to speak DevOps.
Here's a guide to essential DevOps terms.
DevOps is an approach to software development and delivery that is reshaping the way companies large and small manage IT assets.
It has spawned a number of new words and terms — and redefined existing ones — since it began influencing communities of developers and sysadmins in the late 2000s.
The most important DevOps terms to know today include:
- Agile. Used in the DevOps world to describe infrastructure, processes or tools that are adaptable and scalable. Being agile is a key focus of DevOps.
- Continuous delivery. A software delivery process wherein updates are planned, implemented and released to end-users on a steady, constant basis. It's the opposite of waterfall delivery, in which updates are released at an irregular, static pace.
- Continuous integration. A process that allows software changes to be tested and integrated into a code base on a continuous basis each time a change is made to code. Most DevOps teams view continuous integration as an improvement over the traditional process of waiting until a large number of code changes are written before testing and integrating them.
- Immutable infrastructure. An application service or hosting environment that, once set up, cannot be changed. If a DevOps team wishes to change a configuration on immutable infrastructure, the entire component must be re-initalized. While this may seem inefficient, the advantage of immutable infrastructure is that it makes environments more robust and reliable because inadvertent changes are impossible to introduce.
- Infrastructure-as-Code. An approach to infrastructure configuration that allows DevOps teams to use scripts in order to provision servers or hosting environments automatically. This saves them from having to set up infrastructure by hand, a time-consuming and mistake-prone process.
- Microservices. A type of application architecture in which applications are broken into multiple small pieces. For example, a microservices-based Web server might have its storage, front-end and security layers each operating as a separate service. Docker containers have become a popular deployment mechanism for microservices applications.
- Serverless computing. A type of service that provides access to computing resources on demand, without requiring users to configure or manage an entire server environment. AWS Lambda is the most famous serverless computing product currently, but a number of competitors have arisen recently, including Azure Serverless Functions and IBM OpenWhisk.
An exhaustive list of DevOps terms would be much longer.
This only covers the essentials. And, of course, it's a list that will continue to grow as the DevOps world evolves.