Let's Explore Kubernetes:

Overview

Learning Objectives

Understand how Kubernetes can be used to scale an application

Develop an understanding of core technical concepts

Gain a recognition for the importance of standardising processes

Introduction

Poppy proposes opening up a restaurant to scale the business more efficiently. After carrying out lots of research and speaking with other restaurant owners in the community, she understands that setting up a successful restaurant requires:

  • Documented ingredients and detailed recipes
  • Predefined menus to order from
  • Defined staff roles, and digitised restaurant management system to coordinate staff

The Proposal

To incorporate these three aspects, she drafts out a diagram of what the restaurant should look like.

'Development Kitchen'

In the kitchen, Poppy proposes that Tommy needs documented ingredients and detailed recipes for all his dishes so that any prep chef in the kitchen can produce a meal at the same quality. They start with Tommy’s best-selling burger, which he has been making for years and knows like the back of his hand.

Tommy tells the prep chefs that his secret herbs and spices mix, combined with onion and mince, is the key to his unique burger taste and keeps his customers coming back for more.

To ensure any prep chef can recreate his famous patty, Tommy documented the process of combining his secret herbs and spices mix with other ingredients into a detailed recipe for how to create the famous burger.

Tommy relies on external providers to make life easier. For many years, a community bakery has perfected and shared its burger bun recipe, and cheese from a dairy conglomerate is the perfect topping for Tommy's burger.

Checkpoint Click here to check in and see what you've learned so far

Documented ingredients - Developers, like the prep chefs, require standardised processes for combining their code with any dependencies it needs to run (such as settings, libraries, system tools).

Detailed Recipes: Developers write instructions on how to run their code, that has been packaged with its dependencies, on any computer. They create containers based on these instructions, which can then be easily executed on any computer at scale.

Front Desk Area

Next, Poppy and Tommy work with the prep chefs to create predefined menus which define what the customers can order including a description of each dish and what preferences they have for their meal.

Poppy requests a list from the prep chefs outlining available dishes, including ingredients and preparation instructions. She uses this to create a menu for the front desk to offer customers.

The menu includes a list of customer preferences, such as choosing how much they want their meat cooked: rare, medium or well-done.

Customers order from the front desk, where a receptionist inputs the order into a database. All staff use iPads connected to this database so they can track order lifecycles in real-time from the restaurant floor.

Checkpoint Click here to check in and see what you've learned so far

- Predefined menus: Just like in a menu, developers need to define tasks, configurations, and requests that users can make to a developer's code. They define this using Workloads.

- Developers use a database in Kubernetes to track the lifecycle of all these requests to spin up containers.

Dining Area

Next, Poppy thinks about how the overall restaurant will function between the kitchen, front desk and dining area. She introduces defined roles and responsibilities to coordinate staff during the customers dining experience.

The maître d' assigns customers to tables, which focuses on a collaborative seating style where different groups can share tables. It's important for the maître d' to track available and occupied seats on each table.

The customer then goes to the front desk to order their food, and a dedicated waiter is assigned to them who is responsible for making sure the order is a success from start to finish.

Poppy assigns a dedicated chef to cook meals at each table to ensure each customer has the same consistent, high quality dining experience. She sees this as being a pivotal role in the operation of the restaurant.

Checkpoint Click here to check in and see what you've learned so far

- Workloads provide a clear definition of what can be requested from a developer's code.

- Just as a restaurant will have defined roles and responsibilities to coordinate staff, Kubernetes will ensure that code is deployed to multiple places in a consistent manner at scale

So, whether you're cooking up a delicious meal or developing code, clear processes and standardisation are key to success!

Section Recap

In this section we learned...

Containers package code with dependencies so it can run anywhere

Workloads define what can be requested from your code

Kubernetes is an open source orchestration system that ensures consistent deployment of code at scale

Next Section

Let's learn how to standardise the preparation of code with Containers.

Next Containers