The JAM cloud glossary: cloud terms defined

by Ned Hallett
Published on April 2020

In the constantly changing world of cloud, it can be hard to keep up. That’s why Just After Midnight are putting together your one-stop-shop for definitions and explanations and definitions of key cloud terms. Keeping popping back, as we’ll be expanding this list monthly.

Definition of all things VM

VM Stands for…Virtual Machine

This is when part of a server is isolated to create a virtual computer. VMs are a backbone component of cloud computing.

VMI Stands for Virtual Machine Interface

This is a template of a VM: a preset of specifications.

Instances

An instance is a term used to refer to a single VM: an instance of that VM. Think of it as the word copy when referring to a DVD, e.g. a ‘copy’ of Harry Potter and the Chamber of Secrets 

Definitions of common cloud acronyms 

SaaS Stands for Software as a Service 

This refers to the provisioning of software via the internet, e.g Google Sheets or MailChimp.

IaaS Stands for Infrastructure as a Service 

This refers to the provisioning of computer infrastructure over the internet, e.g. Microsoft Azure or Amazon EC2.

PaaS Stands for Platform as a Service 

This refers to the provisioning of computing platform over the internet, e.g. AWS Elastic Beanstalk or Heroku.

FaaS Stands for Function as a Service 

This refers to the provisioning of stateless compute containers, in which an application’s server-side logic is run, e.g AWS Lambda or Google Cloud Functions.

CI/CD Stands for Continuous Integration/ Continuous Delivery/ Continuous Deployment

CI/CD encompasses a coding philosophy and set of practices geared toward developing more quickly and with fewer bugs. 

  • Continuous integration refers to the frequent adding of code into code repositories in which that code can be automatically tested for bugs and integration. Automatic testing is stressed in CI.
  • Building on continuous integration, continuous delivery places emphasis on automated release, allowing code to be released to users at the push of a button.
  • Continuous deployment builds further on continuous delivery, essentially removing the button push: in continuous deployment, all code that passes automated testing is deployed without any human input.

CDN Stands for Content Delivery Network

This refers to a geographically distributed network of servers able to supply various elements of HTML webpages to users within their area. This creates redundancy and reduces load times.

Current Development Terms 

Monolith to Microservices

Monolithic and microservices are both styles of programme architecture, the phrase monolith to microservices can refer both to the transition of one particular application from monolith to microservices (also called refactoring) and to the trend within the industry toward microservice applications.

Monoliths

A monolithic application is really just a non-microservices-based application. In contrast to microservice-based applications, the component elements are not easily separated.

Microservices

Microservice applications are made up of smaller, more modular components, meaning they can be swapped our or altered without damaging the other components they’re connected to. 

The benefits of microservice applications are commonly given as the ability to combine different components best-of-breed services and to work on individual components – e.g the search, shopping cart and photo carousel function on an e-commerce page – in isolation.

DevOps

DevOps refers to a set of cultural and technical practices in software development. It comes from a combination of ‘agile’ practices with the integration of development and operations work. 

The benefits of DevOps are typically given as increased creativity, faster time to market and more robust products.

Containerisation 

A container is similar to a VM in that both are a type of virtualisation. However, containers have smaller components and share more with the host hardware.

This makes them ‘lighter’ and more able to function in a range of different environments. Containers can be developed using a container engine like Amazon ECS, Docker or Kubernetes.

For further information on any of the concepts in this post, or for anything else, get in touch here.

SHARE