Glossary

Terms you should know, some you may not.

Application

An application is a component that can be deployed and exposes functionality to consumers. It also has a version and optionally has configuration and secrets that can defaulted within the code or can be specified when it is deployed.

Containers

A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another. A Docker container image is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings. https://www.docker.com/resources/what-container

Environment

An environment a container for one or more Software Products with specific configuration values for the environment’s purpose.

All software teams will have a production environment and most teams will have additional environments for validating and testing the aggregate as a whole. Each environment is designed to increase the level of trust that the applications will run correctly (through a greater variety of testing) once in production.

Gitops

GitOps is a paradigm or a set of practices that empowers developers to perform tasks which typically fall under the purview of IT operations. GitOps requires us to describe and observe systems with declarative specifications that eventually form the basis of continuous everything. (As a refresher, continuous everything includes but is not limited to continuous integration (CI), testing, delivery, deployment, analytics, governance with many more to come).

GitOps combines Git with Kubernetes’ convergence properties and serves as an operating model for developing and delivering Kubernetes-based infrastructure and applications. GitOps empowers developers to take on operations in a way that says “You own it, you ship it!” and graduates from being a slogan everyone chants at tech conferences to a reality that can be executed day in and day out.

Infrastructure as Code

The process of managing and provisioning computer data centers through machine-readable definition files, rather than physical hardware configuration or interactive configuration tools.

Infrastructure as Code removes the manual component of managing an provisioning, so people are able to refocus their efforts towards other enterprise tasks. Infrastructure automation enables speed through faster execution when configuring your infrastructure and aims at providing visibility to help other teams across the enterprise work quickly and more efficiently. Automation removes the risk associated with human error, like manual misconfiguration; removing this can decrease downtime and increase reliability.

Kubernetes

An open-source system for automating deployment, scaling, and management of containerized applications.

It groups containers that make up an application into logical units for easy management and discovery. Kubernetes builds upon 15 years of experience of running production workloads at Google, combined with best-of-breed ideas and practices from the community. https://kubernetes.io/

Library

A library is a reusable package of code with a version, it can’t be run by itself. Examples might be a front end library like React.js, or something like Apache Log4j used for logging.

Site Reliabilty Engineering (SRE)

Is what you get when you treat operations as if it’s a software problem. Our mission is to protect, provide for, and progress the software and systems behind all of our Services. Well described by https://sre.google/

Software Product

A Software Product is a collection of applications that work together and are tested as a whole. Software Products come with a set of configuration values that are aligned across applications.

Terraform

Terraform allows infrastructure to be expressed as code in a simple, human readable language. It reads configuration files and provides an execution plan of changes, which can be reviewed for safety and then applied and provisioned. https://www.terraform.io/