Some DevOps terms a beginner should know about

Some DevOps terms a beginner should know about

Start your DevOps journey with these terms.

DevOps can be a bit confusing for beginners, that is because of its complex terminologies. Here are some terms you must know as a DevOps beginner.

Agile

is an iterative approach to project management and software development that helps teams deliver value to their customers faster and with fewer issues.

Client-server architecture

is a distributed application structure that partitions tasks or workloads between the providers of a resource or service, called servers, and service requesters, called clients.

A container

powered by the containerization engine, is a standard unit of software that encapsulates the application code, runtime, system tools, system libraries, and settings necessary for programmers to efficiently build, ship and run applications.

Container Registry

Used for the storage and distribution of named container images. While many features can be built on top of a registry, its most basic functions are to store images and retrieve them.

CI/CD pipelines

A continuous integration and continuous deployment (CI/CD) pipeline is a series of steps that must be performed in order to deliver a new version of software. CI/CD pipelines are a practice focused on improving software delivery throughout the software development life cycle via automation.

Cloud native

A cloud-native application is a program that is designed for a cloud computing architecture. These applications are run and hosted in the cloud and are designed to capitalize on the inherent characteristics of a cloud computing software delivery model.

Daemon-less

A container runtime that does not run any specific program (daemon) to create objects, such as images, containers, networks, and volumes.

DevOps

is a set of practices, tools, and a cultural philosophy that automate and integrate the processes between software development and IT teams.

Docker

An open container platform for developing, shipping and running applications in containers.

A Dockerfile

is a text document that contains all the commands you would normally execute manually in order to build a Docker image. Docker can build images automatically by reading the instructions from a Dockerfile.

Docker client

is the primary way that many Docker users interact with Docker. When you use commands such as docker run, the client sends these commands to dockerd, which carries them out. The docker command uses the Docker API. The Docker client can communicate with more than one daemon.

Docker Command Line Interface (CLI)

The Docker client provides a command line interface (CLI) that allows you to issue build, run, and stop application commands to a Docker daemon.

Docker daemon (dockerd)

creates and manages Docker objects, such as images, containers, networks, and volumes.

Docker Hub

is the world's easiest way to create, manage, and deliver your team's container applications.

Docker localhost

Docker provides a host network which lets containers share your host’s networking stack. This approach means that a localhost in a container resolves to the physical host, instead of the container itself.

Docker remote host

A remote Docker host is a machine, inside or outside our local network which is running a Docker Engine and has ports exposed for querying the Engine API.

Docker networks

help isolate container communications.

Docker plugins

such as a storage plugin, provides the ability to connect external storage platforms.

Docker storage

uses volumes and bind mounts to persist data even after a running container is stopped.

LXC

LinuX Containers is a OS-level virtualization technology that allows creation and running of multiple isolated Linux virtual environments (VE) on a single control host.

IBM Cloud Container Registry

stores and distributes container images in a fully managed private registry.

Image

An immutable file that contains the source code, libraries, and dependencies that are necessary for an application to run. Images are templates or blueprints for a container.

Immutability

Images are read-only; if you change an image, you create a new image.

Microservices

are a cloud-native architectural approach in which a single application contains many loosely coupled and independently deployable smaller components or services.

Namespace

A Linux namespace is a Linux kernel feature that isolates and virtualizes system resources. Processes which are restricted to a namespace can only interact with resources or processes that are part of the same namespace. Namespaces are an important part of Docker’s isolation model. Namespaces exist for each type of resource, including networking, storage, processes, hostname control and others.

Operating System Virtualization

OS-level virtualization is an operating system paradigm in which the kernel allows the existence of multiple isolated user space instances, called containers, zones, virtual private servers, partitions, virtual environments, virtual kernels, or jails.

Private Registry

Restricts access to images so that only authorized users can view and use them.

REST API

A REST API (also known as RESTful API) is an application programming interface (API or web API) that conforms to the constraints of REST architectural style and allows for interaction with RESTful web services.

Registry

is a hosted service containing repositories of images which responds to the Registry API.

Repository

is a set of Docker images. A repository can be shared by pushing it to a registry server. The different images in the repository can be labelled using tags.

Server Virtualization

Server virtualization is the process of dividing a physical server into multiple unique and isolated virtual servers by means of a software application. Each virtual server can run its own operating systems independently.

Serverless

is a cloud-native development model that allows developers to build and run applications without having to manage servers.

Tag

A tag is a label applied to a Docker image in a repository. Tags are how various images in a repository are distinguished from each other.

These terms have been picked from IBM's introduction to Docker and Kubernetes Certificate courses. Huge shoutout to them.

Thanks for reading.