Photo by Luke Chesser on Unsplash

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.

Recommended Read

Overview

The Kubernetes Networking Model guarantees that all Kubernetes Pods on a Kubernetes Cluster are able to communicate, that is, able to exchange messages.

However, the Networking Semantics change in the presence of Networking Policies from Default Allow for all Pods to Default Deny for selected Pods with Explicit Allow:


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.

Related

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.

TL;DR


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…


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

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…


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

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…


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. …


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

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