Image for post
Image for post
Photo by Luca Bravo on Unsplash

by Maegan Jong and Dominik Tornow

Kubernetes is a Container Orchestration Engine designed to host containerized applications on a set of nodes, commonly referred to as a cluster. Using a systems modeling approach, this series aims to advance the understanding of Kubernetes and its underlying concepts.

For this blog post, a basic understanding of Kubernetes and Networking is recommended.

Kubernetes Networking is a core abstraction of Kubernetes. In a nutshell, the Kubernetes Networking Model guarantees that all Kubernetes Pods on a cluster are able to communicate. …


by Maegan Jong and Dominik Tornow

Infrastructure as a Service, Infrastructure as Code, or recently Infrastructure as Data — certainly infrastructure comes in many forms, shapes, and sizes. Yet, even though these terms sound deceptively similar and deceptively simple, they denote fundamentally different and intricate concepts.

After Infrastructure as a Service — or Cloud Computing — entered the stage, the software engineering community had to determine just out how to work with Infrastructure as a Service.

This blog post discusses some of the most popular methods and provides concise and accurate definitions to both technical and non-technical stakeholders.

Image for post
Image for post

TL;DR

  • Infrastructure as a Service refers to the capability of acquiring and releasing resources on demand. …


Ever since the term “Microservice” made its debut in 2005, its usage has grown in popularity. However, even in 2020, a concise and accurate definition is not readily available. This article provides a definition for technical and non-technical stakeholders.

This blog post provides concise and accurate definitions of the concepts Monolith and Microservice. Note, this blog post discusses the question “What is the nature of a microservice” but does not discuss the question “What is the nature of a good microservice” or the question “What is the motivation for adopting microservices”.

Whether an application is a monolithic application or a microservice-based application is a function over the application’s relationship between its organization into components and its organization into…


Ever since the term “serverless” made its debut in 2012, its usage has grown in popularity. However, a concise and accurate definition is not readily available. This article provides a definition for technical and non-technical stakeholders.

This blog post provides a concise and accurate definition of the concept serverless.

Model of computation

Image for post
Image for post

The remainder of this blog post is based on a minimal model of computation:

A software system is composed of a set of resources, such as computational resources, network resources, or storage resources. Additionally, a software system handles a set of application events, also referred to as requests.

There are four relevant actions to consider: A software system must be able to acquire and release a set of resources. In addition, a software system must be able to receive events and process events. …


Ever since the term “cloud native” made its debut in 2010, its usage has grown in popularity. However, a concise and accurate definition is not readily available. This article provides a set of related definitions for technical and non-technical stakeholders.

This blog post provides a concise and accurate definition of the concept cloud native. In addition, this blog post provides concise and accurate definitions of related concepts.

Responsiveness, Scalability, and Reliability

Image for post
Image for post

Responsiveness is defined as an application’s ability to meet its service level agreements (SLAs), such as response time or throughput.

Scalability is defined as responsiveness in the presence of load.

Reliability is defined as responsiveness in the presence of failure. …


Image for post
Image for post
Kubernetes — Conceptual Architecture

By Andrew Chen and Dominik Tornow

Kubernetes is a Container Orchestration Engine designed to host containerized applications on a set of nodes, commonly referred to as a cluster. Using a systems modeling approach this series aims to advance the understanding of Kubernetes and its underlying concepts.

For this blog post, an advanced understanding of Kubernetes, Kubernetes Objects, and Kubernetes Controllers is recommended.

Kubernetes is characterized as a declarative Container Orchestration Engine: In a declarative system, the user supplies a representation of the desired state of the system to the system. …


Image for post
Image for post
Kubernetes — Conceptual Architecture

By Andrew Chen and Dominik Tornow

Kubernetes is a Container Orchestration Engine designed to host containerized applications on a set of nodes, commonly referred to as a cluster. Using a systems modeling approach, this series aims to advance the understanding of Kubernetes and its underlying concepts.

This blog post uses the Alloy Specification Language, a specification language for expressing structure and behavior based on first order logic. However a plain English description of each Alloy specification is provided.

This blog post is the first in a three part series:

  • Part I describes the structure and behavior of the API Server
  • Part II describes the Kubernetes…


By Andrew Chen and Dominik Tornow

Kubernetes is a Container Orchestration Engine designed to host containerized applications on a set of nodes, commonly referred to as a cluster. Using a systems modeling approach this series aims to advance the understanding of Kubernetes and its underlying concepts.

For this blog post, a basic understanding of Kubernetes is recommended.

Pods are the fundamental building blocks of Kubernetes, however even seasoned Kubernetes users struggle to describe what Pods actually are.

This blog post provides a concise mental model that highlights defining characteristics of Kubernetes Pods. …

About

Dominik Tornow

Principal Engineer at Cisco, Office of the CTO

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store