Your Guide to Cloud & DevOps Jargon

March 21, 2023
Your Guide to Cloud & DevOps Jargon

It’s a Thursday night and you’ve spent your journey home perplexed by the copious amount of jargon that was spouted. It’s almost as though they were speaking some sort of strange DevOps-Cloud-Martian dialect. No worries, take a peek at our cheat sheet of basic DevOps and Cloud-related terms and concepts. This is by no means a comprehensive guide to the wacky and wonderful world of IT lexicon, but rather a gentle intro to ensure it’s only the Project Manager making your head spin.

Cloud

Physical or virtual servers where your applications are running. These servers can be located in an unknown location outside your company or a well-known location down in your basement. It doesn’t matter. Server location is completely irrelevant to users. Like electricity or running water, they take server existence for granted. You may have heard the classic adage “There is no cloud, it’s just someone else’s computer”.

Container

A new virtualisation method (something similar to traditional virtual machines, only far more optimised!). Also, a new (practically standard) way of packaging and delivering applications. The most popular type of containers are Docker containers.

Kubernetes

A runtime platform for containers. If we think of containers as something similar to virtual machines, then Kubernetes is something similar to hypervisor. It does a massive job of running containers, scaling containers in case of increased load, restarting containers in case of errors, scheduling containers on different nodes in order to balance load, handling networking so all containers can talk to each other and much more. Kubernetes is open-source product that originated in Google. Today we have a slew of products based on Kubernetes, such as Red Hat OpenShift and IBM Cloud Private.

12-factor Apps

These are guidelines describing a new way of designing and implementing applications optimised for running in the cloud. Originally, there were 12 guidelines. Hence the name. However, more recently, a couple of new guidelines emerged meaning we also hear of “15-factor Apps” and “Beyond the Twelve-Factor App”. These guidelines deal with things like how to properly store source code, externalise configuration, create application logs (and so on…) in a way that maximises benefits of cloud environment. You can take a look for yourself here.

Microservice Architecture

An architectural choice that promotes building large applications by linking smaller units – microservices. Microservices are small(ish), independent parts of business logic that are independently implemented, deployed and run. Microservices are typically packaged in containers and run on a platform such as Kubernetes. Microservice architecture promotes independence of different functional parts of the system. Each part can be developed independently, by its own cross-functional team, using technology that best suits the needs. Microservice architecture also enables better system scaling – in case of increased load on a particular part of the system, it is possible to spin up an additional instance of that particular part (microservice) instead of additional instance of the whole application. This approach significantly reduces wasted resources!

DevOps

A term describing the culture in which the Development team and Operations team work together in harmony from the very beginning of a project to define and automate the process of packaging, installing, promoting and running applications across all environments. There are two key aspects of DevOps culture. The first is organisational, since Dev and Ops must work together in order to deliver value (working software), instead of stepping on each other’s toes. The other is technical, and deals with automating as much of application lifecycle as possible to save time and reduce operational risk.

Delivery Pipeline

A process that aims to automate as many steps as possible, from the building and packaging of applications to installing and running them on runtime environments. This process is typically defined using tools such as Jenkins, IBM Urban Code Deploy, Ansible, Gitlab, etc. and is typically comprised of the following steps; build, automated tests, installation in test environment, manual user test, and installation in production environment.

Prolifics

Your trusted partner for all-things DevOps and Cloud.