Slide 1

Slide 1 text

Containers Revealed: As Easy as Tic-Tac-Toe @ViscosityNA www.viscosityna.com Latin America Oracle User Group Community Tour '23 July 29 - August 16, 2023 Sean Scott Oracle ACE Director DoK Community Ambassador Managing Principal Consultant @oraclesean linkedin.com/in/soscott/ [email protected]

Slide 2

Slide 2 text

DATABASE RELIABILITY ENGINEERING ⁘ DEVOPS & AUTOMATION HIGH AVAILABILITY ⁘ BUSINESS CONTINUITY ⁘ DISASTER RECOVERY MODERNIZATION ⁘ OBSERVABILITY ⁘ ENGINEERED SYSTEMS AutoUpgrade ⁘ Zero Downtime Migrations ⁘ Patching Real Application Clusters ⁘ Data Guard ⁘ Sharding Docker/Containers ⁘ Terraform ⁘ Ansible Exadata ⁘ Oracle Database Appliance AHF ⁘ TFA ⁘ GIMR ⁘ CHA @ViscosityNA www.viscosityna.com Sean Scott Oracle ACE Director DoK Community Ambassador Managing Principal Consultant @oraclesean linkedin.com/in/soscott/ [email protected]

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

An Open Community for Data on Kubernetes https://dok.community

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

@ViscosityNA www.viscosityna.com Oracle on Docker Running Oracle Databases in Linux Containers Download a free sample chapter: https://oraclesean.com 20% Discount Code: OracleDocker https://link.springer.com

Slide 7

Slide 7 text

@ViscosityNA www.viscosityna.com What Are Containers?

Slide 8

Slide 8 text

Containers are like lightweight Virtual Machines, right?

Slide 9

Slide 9 text

@ViscosityNA www.viscosityna.com Three full operating systems Three application/executable directories

Slide 10

Slide 10 text

@ViscosityNA www.viscosityna.com Three full operating systems Three application/executable directories

Slide 11

Slide 11 text

@ViscosityNA www.viscosityna.com www.viscosityna.com @ViscosityNA 13 Oracle Databases on a Laptop 2018 MacBook Pro 15", 2.2GHz 6-core Intel Core i7, 16GB, 1TB SSD

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

@ViscosityNA www.viscosityna.com Virtual Machines: Bootable OS, often heavy Containers: Support one application or service

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

@ViscosityNA www.viscosityna.com Virtual Machines: Bootable OS, often heavy A 100-page book of games & puzzles Containers: Support one application or service A sheet of paper with a Tic-Tac-Toe grid

Slide 17

Slide 17 text

@ViscosityNA www.viscosityna.com vo • cab • u • lar • y

Slide 18

Slide 18 text

@ViscosityNA www.viscosityna.com Stateful Stateless Persistent Immutable Ephemeral Cloud Native Context Builds Layers Images Services Dockerfile Containers Union Filesystems

Slide 19

Slide 19 text

@ViscosityNA www.viscosityna.com Games have structured playing surfaces and rules.

Slide 20

Slide 20 text

@ViscosityNA www.viscosityna.com Services deliver games to players.

Slide 21

Slide 21 text

@ViscosityNA www.viscosityna.com Images include the game rules and playing surface.

Slide 22

Slide 22 text

@ViscosityNA www.viscosityna.com Images are a minimal filesystem & metadata needed to run a service.

Slide 23

Slide 23 text

@ViscosityNA www.viscosityna.com Running an image starts a Container.

Slide 24

Slide 24 text

@ViscosityNA www.viscosityna.com A container is: A process on a host, and; A Union Filesystem.

Slide 25

Slide 25 text

@ViscosityNA www.viscosityna.com Container processes are isolated.

Slide 26

Slide 26 text

@ViscosityNA www.viscosityna.com A Union Filesystem has three layers: A Merge or Union Layer. An Upper Layer. A Lower Layer.

Slide 27

Slide 27 text

@ViscosityNA www.viscosityna.com A Union Filesystem has three layers: A Merge or Union Layer: The game. An Upper Layer: The container. A Lower Layer: The image.

Slide 28

Slide 28 text

@ViscosityNA www.viscosityna.com

Slide 29

Slide 29 text

@ViscosityNA www.viscosityna.com

Slide 30

Slide 30 text

@ViscosityNA www.viscosityna.com The Upper (merge) layer isn't "real."

Slide 31

Slide 31 text

@ViscosityNA www.viscosityna.com The Upper (merge) layer isn't "real." It's a perceived (calculated) union of: • The game board & rules • Game play

Slide 32

Slide 32 text

@ViscosityNA www.viscosityna.com Containers persist state (moves) in the run-time layer of its Union Filesystem. Containers are stateful.

Slide 33

Slide 33 text

@ViscosityNA www.viscosityna.com Deleting a container removes its Union Filesystem (and its run-time layer). Containers are Ephemeral

Slide 34

Slide 34 text

@ViscosityNA www.viscosityna.com Images are immutable and never change.

Slide 35

Slide 35 text

@ViscosityNA www.viscosityna.com Stalemate!

Slide 36

Slide 36 text

@ViscosityNA www.viscosityna.com

Slide 37

Slide 37 text

@ViscosityNA www.viscosityna.com

Slide 38

Slide 38 text

@ViscosityNA www.viscosityna.com Images are immutable and can't persist state information. They are stateless.

Slide 39

Slide 39 text

@ViscosityNA www.viscosityna.com Images = Static Containers = Living

Slide 40

Slide 40 text

@ViscosityNA www.viscosityna.com Containers are Magic!

Slide 41

Slide 41 text

@ViscosityNA www.viscosityna.com How much space do three containers use? 500MB
 + 500MB
 + 500MB 500MB 500MB
 + 500MB
 + 500MB 1,500MB 500MB 500MB 500MB +

Slide 42

Slide 42 text

@ViscosityNA www.viscosityna.com Multiple identical containers will share an image.

Slide 43

Slide 43 text

@ViscosityNA www.viscosityna.com Build & Bake Images

Slide 44

Slide 44 text

@ViscosityNA www.viscosityna.com A Dockerfile is a recipe for building images.

Slide 45

Slide 45 text

@ViscosityNA www.viscosityna.com Paper Tic-Tac-Toe Grid

Slide 46

Slide 46 text

@ViscosityNA www.viscosityna.com Image layers are modular and reusable. Layers can be cached and reused among multiple images.

Slide 47

Slide 47 text

@ViscosityNA www.viscosityna.com Paper Game of Sums 3x3 Sudoku Tic-Tac-Toe Grid

Slide 48

Slide 48 text

@ViscosityNA www.viscosityna.com Base Linux OS TensorFlow Flask Python

Slide 49

Slide 49 text

@ViscosityNA www.viscosityna.com Build Context

Slide 50

Slide 50 text

@ViscosityNA www.viscosityna.com Context is a pantry of image ingredients.

Slide 51

Slide 51 text

@ViscosityNA www.viscosityna.com Base Linux OS RU 19.15 RU 19.16 Oracle Database 19.3.0 RU 19.17 RU 19.18

Slide 52

Slide 52 text

@ViscosityNA www.viscosityna.com Ignore files limit and control the build context.

Slide 53

Slide 53 text

@ViscosityNA www.viscosityna.com Images are the minimum collection of files and directories needed to run an application. They are immutable and stateless.

Slide 54

Slide 54 text

@ViscosityNA www.viscosityna.com Running an image creates a container as the upper layer of a union filesystem, superimposed over the image, and starts an isolated process for container activity. Containers are stateful, ephemeral, and persist data to the filesystem.

Slide 55

Slide 55 text

@ViscosityNA www.viscosityna.com All containers share the same image, allowing them to achieve tremendous capacity. Containers are efficient and fast because there is nothing to “boot” or copy.

Slide 56

Slide 56 text

@ViscosityNA www.viscosityna.com Building images creates a layer for each step. Layers can be cached and shared between images.

Slide 57

Slide 57 text

@ViscosityNA www.viscosityna.com Images are portable across clouds, operating systems, and container engines. Images run identically: • in Docker, Podman, Kubernetes, etc.; • on Mac, Windows, or Linux; • and in any Cloud!

Slide 58

Slide 58 text

@ViscosityNA www.viscosityna.com Contact Me [email protected] https://linktr.ee/oraclesean