Decoding DevOps: A Glossary of Essential Terms

Introduction :-

In the rapidly evolving landscape of software development and IT operations, the term “DevOps” is omnipresent. But do we really understand all the terminology that comes with it? This comprehensive glossary aims to demystify DevOps jargon, offering a deep dive into the language that fuels collaboration between development and operations teams. Whether you’re a seasoned DevOps practitioner or just stepping into this realm, let’s embark on a linguistic journey through the 100 essential terms that shape the world of DevOps.

A

Amazon AWS — Amazon Web Services — the most popular cloud service provider (CSP) according to the State of DevOps report of 2017, offering a wide variety of cloud computing services for businesses of all sizes.

Ansible — an automation engine for various IT tasks, like cloud infrastructure provisioning and configuration. Ansible is an open source tool that interacts with multiple software modules via SSH connection, PowerShell scripts or various APIs.

AWS CLI — AWS Command Line Interface — an AWS tool for managing various AWS services and products from a command line terminal.

Amazon Aurora — an AWS service, providing a cloud-based relational database, which became the most rapidly growing service in AWS history. This database is 5 times faster than MySQL and 3 times faster than PostgreSQL, not to mention it is a default database for many AWS products and services.

B

Bastion host — a special server used to access private networks and withstand hacker attacks. Usually hosts a single app (like a proxy server) and SSH keys for accessing and managing the underlying cloud infrastructure.

Branching — branches are separate copies of the project code on GitHub or other code version control system, allowing many developers to work on the project at once.

C

Cloud computing — a dominating IT paradigm of accessing over the Internet the networks of virtual servers for collecting, processing and storing data, running apps and managing other resources. An opposite to using dedicated servers or personal computers for that purpose.

Continuous Delivery — a set of software development and operations practices, workflows and tools aimed at ensuring all the routine operations of software delivery lifecycle are automated (builds, testing, staging, monitoring, alerting, logging, backups, restoration, load balancing, etc.) The only exception is the manual launch of the deployment of the ready code to the production environment. This is the core practice of DevOps, along with Continuous Integration and Infrastructure as Code.

Continuous Deployment — a particular case of Continuous Delivery, where the deployment of new code to production is also done automatically. This is not appropriate in some cases, though, and greatly depends on the particular requirements of your product and business model.

CI/CD — Continuous Integration/Continuous Delivery — the basis of the modern DevOps culture. CI ensures the new code is committed to the centralized code repository several times a day to pass automated unit tests and spin up the new software builds. If the tests are successful, CD ensures the new app version is automatically pushed to staging and production environments, without any service downtime. CI/CD workflow ensures all the bugs are found and fixed early and the product is available at all times.

Cluster — a set of interconnected instances (bare-metal servers, virtual machines, Kubernetes pods, etc.) that are treated as a single entity to enable load balancing, auto-scaling, and high availability.

Commit — the process of pushing the code to the Git repository and the resulting piece of code pushed.

CloudWatch — Amazon CloudWatch is the default Amazon service for monitoring the infrastructure and apps running on it. CloudWatch helps monitor and log the events, configure smart alerts and manage the system resources efficiently.

D

DevOps — the methodology of software delivery, as well as the set of practices, workflows, and tools required to ensure reliable automation of IT operations with a constant increase in quality.

Docker — an open source platform for building, delivering and running app containers. Docker is the basis of modern cloud computing, as it allows to leverage the cloud resources with utmost efficiency, providing a ubiquitous layer for building the cloud infrastructure.

Docker Swarm — a container orchestration engine developed by Docker. It is a built-in Docker container clustering and scheduling tool capable of running thousands of containers at once. Unfortunately, it cannot boast the same functionality as Kubernetes and is literally out of use as of mid-2018.

Deployment — a stage of software delivery lifecycle, centered at packaging the new software code, delivering it to the customers and updating the running apps, preferably without interrupting the end user experience.

E

EC2 — Amazon Elastic Compute Cloud — the central offer of Amazon Web Services, providing multiple types of virtual servers for running applications in the cloud.

EKS — Amazon Elastic Computer Service for Kubernetes — a managed Amazon service that allows anyone to deploy and run Kubernetes on AWS infrastructure without the need to look under the hood and configure the clusters themselves.

F

Fargate — Amazon Fargate is an Amazon service for running Docker containers on managed infrastructure like EKS, without having to configure anything. It works under the serverless computing billing scheme — you specify what needs to be done and pay for the resources consumed, without any manual cluster configuration.

G

Git — a distributed code version control system. Every developer using Git has access to a full copy of project code and history of changes to enable collaboration within the teams.

GitHub — the most popular web-based hosting for code, running all Git features and adding its own functionality. GitHub is the breathing heart of open-source and proprietary software development.

GitLab — an open source web-based Git portal tuned for DevOps performance, due to built-in support of CI/CD tools like Gitlab CI.

Gitlab CI — a CI/CD runner for Gitlab, which allows the developers to build their code automatically after each commit.

H

Helm — an application manager running atop Kubernetes. This tool allows managing the microservices at scale through convenient Helm charts and ensures smooth operations of complex Kubernetes infrastructures.

I

Infrastructure — the whole complex of hardware, software, and processes required to run apps, as well as to collect, manage and store data.

IaC — Infrastructure as Code — one of the basic principles of DevOps. It means that infrastructure configuration is done with machine-readable declarative files, not manually or using interactive tools. These files (like Kubernetes or Terraform manifests) can be stored in GitHub repositories, adjusted and versioned the same as code, thus providing efficient automation of infrastructure provisioning.

IaaS — Infrastructure-as-a-Service, the IT management model where the computing resources and the services needed to run them are provided as a service to enable the functioning of various platforms and apps.

Instance — in short, this is a virtual machine you run your app on. In broader terms, this is a single group of resources needed to run an app (like a Docker container, for example).

J

Jenkins — an open source Java server enabling software delivery automation out-of-the-box.

K

Kubernetes — an open-source container management platform from Google. Kubernetes and Docker are the pillars of running modern workloads in the cloud.

L

Logstash — a part of the Elastic stack responsible for server-side data collection, processing and transfer to the storage. Logstash is essential for building cloud monitoring solutions.

M

MongoDB — one of the best and most popular open source NoSQL databases specializing at storing various types of documents in forms of libraries, rather than in tables with columns and rows. This means the data stored can be easily adjusted and even the structure of the database itself is quite flexible, which is hugely beneficial for Big Data analytics projects, where there are multiple data types processes at various periods of time.

N

Node — a physical or virtual machine within a Kubernetes cluster, used to host pods that run Docker containers.

Nginx — the most popular web server nowadays. The built-in capacities for load balancing, reverse caching and proxying make it a great choice for many use cases.

O

Orchestration — a practice of automating the IT tasks (container management and infrastructure configuration in particular) in the context of SOA, virtualization, environment provisioning. In short, it is a process of executing predefined tasks using predefined scripts executed with interactive tools like Terraform (which was built specifically for configuration orchestration purposes).

Open source — the software delivery paradigm, where the copyright holders grant the users the access to the app source code and the rights to read, adjust and distribute it to anyone for any goal.

OpenStack — an open source platform for building on-prem cloud infrastructures.

P

Prometheus — an open source cloud monitoring solution with a powerful query language, time series database, dimensional data model and smart alerting capabilities.

Provisioning — the process of delivering new environments for users, mostly the build and test environments for developers. As the resources are virtualized, the required operating systems and middleware are configured and maintained through configuration orchestration tools like Terraform and Kubernetes.

Python — an interpreted high-level programming language. Due to its efficiency and speed, Python is now widely adopted for tasks from website development to Big Data analytics.

Pod — a basic Kubernetes structure unit, a group of Docker containers deployed to a single host.
Playbook — Ansible playbooks are the instructions for infrastructure deployment, with detailed guides on executing the series of commands to perform specific tasks.

Production environment — the environment where the software product or service is used by the target audience.

R

RDS — AWS Relational Database Service, a cloud database benefitting from a distributed nature of AWS services.

Rollback — a manual or automated restoration of a previously saved state of program or database.

S

Source control — the system for storing, managing and tracking the changes to the source code. The most popular are GitHub, GitLab, and BitBucket.

Staging environment — the controlled copy of your production environment, resembling it to the fullest possible extent. This allows testing new software versions to find bugs before the release to production.

T

Test automation — the process of using a specific software to test the new software versions against unit tests and compare the actual test outcomes with the predicted results.

U

Unit testing — the basis of CI/CD, unit testing is the practice of testing the app code in small chunks against the automated test codebase before building the app, to minimize the time needed to discover and fix the bugs, reducing the time to market for a product as a result.

V

VPC peering — AWS VPC is a service that logically isolates a certain amount of public AWS cloud to create virtual private clouds. AWS VPC peering allows to combine the resources of several such clouds should the need arise.

Vault — a Hashicorp product for securely storing the secrets like SSH keys, tokens, passwords, API keys and other important elements of Kubernetes infrastructure.

Z

Zabbix — an open-source cloud infrastructure monitoring service for tracking the status of various network resources and services. Consists of a server and agents that enable smart alerting for distributed systems.

Conclusion :-

As we conclude our exploration into the extensive vocabulary of DevOps, we’ve uncovered the richness and depth of this collaborative approach to software development and IT operations. Each term plays a pivotal role in creating a shared understanding among team members, fostering a culture of continuous improvement and innovation. #DevOps #TechGlossary #ContinuousInnovation #CollaborationInTech

0
Subscribe to my newsletter

Read articles from Mahira Technology Private Limited directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Mahira Technology Private Limited
Mahira Technology Private Limited

A leading tech consulting firm specializing in innovative solutions. Experts in cloud, DevOps, automation, data analytics & more. Trusted technology partner.