Slide 1

Slide 1 text

Containers Revealed: Easy as Tic-Tac-Toe Sean Scott Oracle ACE Director DoK Community Ambassador Managing Principal Consultant @oraclesean linkedin.com/in/soscott/ sean.scott@viscosityna.com @ViscosityNA www.viscosityna.com Latin America Community Tour '23 - Costa Rica July 31, 2023

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 Sean Scott Oracle ACE Director DoK Community Ambassador Managing Principal Consultant @oraclesean linkedin.com/in/soscott/ sean.scott@viscosityna.com @ViscosityNA www.viscosityna.com

Slide 3

Slide 3 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 4

Slide 4 text

@ViscosityNA www.viscosityna.com What Are Containers?

Slide 5

Slide 5 text

Containers are like lightweight Virtual Machines, right?

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

@ViscosityNA www.viscosityna.com Three databases Three schemas

Slide 8

Slide 8 text

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

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 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 11

Slide 11 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 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 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 25

Slide 25 text

@ViscosityNA www.viscosityna.com

Slide 26

Slide 26 text

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

Slide 27

Slide 27 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 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

@ViscosityNA www.viscosityna.com Stalemate!

Slide 32

Slide 32 text

@ViscosityNA www.viscosityna.com Shift the Image Right Moves fall off the game board: Changing an image changes the game!

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

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

Slide 35

Slide 35 text

@ViscosityNA www.viscosityna.com Containers are Magic!

Slide 36

Slide 36 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 37

Slide 37 text

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

Slide 38

Slide 38 text

@ViscosityNA www.viscosityna.com Build & Bake Images

Slide 39

Slide 39 text

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

Slide 40

Slide 40 text

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

Slide 41

Slide 41 text

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

Slide 42

Slide 42 text

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

Slide 43

Slide 43 text

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

Slide 44

Slide 44 text

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

Slide 45

Slide 45 text

@ViscosityNA www.viscosityna.com Contact Me sean.scott@viscosityna.com https://linktr.ee/oraclesean