Exploring a new way to manage systems with ostree and atomic - - PowerPoint PPT Presentation

exploring a new way to manage systems with ostree and
SMART_READER_LITE
LIVE PREVIEW

Exploring a new way to manage systems with ostree and atomic - - PowerPoint PPT Presentation

Exploring a new way to manage systems with ostree and atomic Michael Scherer, misc@redhat.com Who am I ? Sysadmin @ In a previous episode.. Packager/sysadmin/build system maintainer @mageia Python coder @ some firewall startup Counter


slide-1
SLIDE 1

Exploring a new way to manage systems with ostree and atomic

Michael Scherer, misc@redhat.com

slide-2
SLIDE 2

Who am I ?

slide-3
SLIDE 3

Sysadmin @

slide-4
SLIDE 4

In a previous episode..

slide-5
SLIDE 5

Packager/sysadmin/build system maintainer @mageia

slide-6
SLIDE 6

Python coder @ some firewall startup

slide-7
SLIDE 7

Counter stri^W Sysadmin @ unamed european institution

slide-8
SLIDE 8

Old ways

slide-9
SLIDE 9

Assemble set of packages

slide-10
SLIDE 10

Binary packages

slide-11
SLIDE 11

Sources

slide-12
SLIDE 12

Both ways

slide-13
SLIDE 13

Base + ports

slide-14
SLIDE 14

Appliances..

slide-15
SLIDE 15

.. or phones/tablets

slide-16
SLIDE 16

A new hop^W way

slide-17
SLIDE 17

Project Atomic

slide-18
SLIDE 18

Codename for a set of distribution

slide-19
SLIDE 19

Centos/Fedora

slide-20
SLIDE 20

Others are welcome

slide-21
SLIDE 21

Atomic upgrade

slide-22
SLIDE 22

Containers

slide-23
SLIDE 23

Lightweight

slide-24
SLIDE 24

Base of openshift v3

slide-25
SLIDE 25

Let's get technical

slide-26
SLIDE 26

Components, bottom To top

slide-27
SLIDE 27

Ostree

slide-28
SLIDE 28

Created for testing GNOME

slide-29
SLIDE 29

Firmware-like

slide-30
SLIDE 30

Bootable read only filesystem

slide-31
SLIDE 31

All in /usr + some link to /var

slide-32
SLIDE 32

Reboot on new version

slide-33
SLIDE 33

Reboot on old version

slide-34
SLIDE 34

Make rollback possible

slide-35
SLIDE 35

Git for filesystem

slide-36
SLIDE 36

Docker & systemd

slide-37
SLIDE 37

Ship applications with runtime

slide-38
SLIDE 38

API to start, monitor, control services

slide-39
SLIDE 39

Cgroups usage to limit containers

slide-40
SLIDE 40

Geard / Kubernetes

slide-41
SLIDE 41

Orchestrate containers

slide-42
SLIDE 42

Manage network

slide-43
SLIDE 43

Distribute tasks

slide-44
SLIDE 44

Ensure redundancy

slide-45
SLIDE 45

Various others things

slide-46
SLIDE 46

SELinux

slide-47
SLIDE 47

Isolation

slide-48
SLIDE 48

Protect base system from containers

slide-49
SLIDE 49

Protect containers from containers

slide-50
SLIDE 50

Cherry on the cake

slide-51
SLIDE 51

Cockpit as a web interface

slide-52
SLIDE 52

Why ?

slide-53
SLIDE 53

The stars aligned right

slide-54
SLIDE 54

Ostree from Gnome QA

slide-55
SLIDE 55

Jails => Openvz => Linux namespace => LXC => Docker

slide-56
SLIDE 56

SELinux / svirt

slide-57
SLIDE 57

Systemd

slide-58
SLIDE 58

Pressure on IT departments

slide-59
SLIDE 59

Automate more

slide-60
SLIDE 60

Drive human costs down

slide-61
SLIDE 61

Colocate services more

slide-62
SLIDE 62

Drive hardware spending down

slide-63
SLIDE 63

Deliver faster

slide-64
SLIDE 64

Drive profits high

slide-65
SLIDE 65

Agility

slide-66
SLIDE 66

Dev Ops

slide-67
SLIDE 67

Dev systems != Prod servers

slide-68
SLIDE 68

Example

slide-69
SLIDE 69

Gluster.org web infra

slide-70
SLIDE 70

Need to be redone

slide-71
SLIDE 71

Static website

slide-72
SLIDE 72

Need a httpd server

slide-73
SLIDE 73

Need a builder

slide-74
SLIDE 74

Need a wiki

slide-75
SLIDE 75

Mediawiki

slide-76
SLIDE 76

MySQL || PostgreSQL

slide-77
SLIDE 77

Varnish

slide-78
SLIDE 78

Awstats

slide-79
SLIDE 79

Traditional way

slide-80
SLIDE 80

All on 1 server

slide-81
SLIDE 81

VM way

slide-82
SLIDE 82

1 VM per service

slide-83
SLIDE 83

Containers way

slide-84
SLIDE 84

Everything in a different containers

slide-85
SLIDE 85

Microservices

slide-86
SLIDE 86

Why ?

slide-87
SLIDE 87

A few problems

slide-88
SLIDE 88

Static website build

slide-89
SLIDE 89

Use middleman

slide-90
SLIDE 90

Ruby

slide-91
SLIDE 91

No comment

slide-92
SLIDE 92

Web designer use F20

slide-93
SLIDE 93

So better use this as well

slide-94
SLIDE 94

Unpackaged software

slide-95
SLIDE 95

Mediawiki

slide-96
SLIDE 96

Need specific isolation

slide-97
SLIDE 97

Test upgrade and rollback

slide-98
SLIDE 98

Scaling issues

slide-99
SLIDE 99

Mediawiki write on the FS

slide-100
SLIDE 100

Use S3 backed storage

slide-101
SLIDE 101

Swift container

slide-102
SLIDE 102

Need a new version of something ?

slide-103
SLIDE 103

Varnish 4.0 ?

slide-104
SLIDE 104

( not a good example )

slide-105
SLIDE 105

A few constraints

slide-106
SLIDE 106

Treat container as cattle

slide-107
SLIDE 107

Throw away instances

slide-108
SLIDE 108

Intra container communication

slide-109
SLIDE 109

Data container pattern

slide-110
SLIDE 110

Immutable infrastructure pattern

slide-111
SLIDE 111

Must take scalability in account

slide-112
SLIDE 112

( May be complex to do )

slide-113
SLIDE 113

Kubernetes / etcd

slide-114
SLIDE 114

MySQL replication

slide-115
SLIDE 115

Swift replication

slide-116
SLIDE 116

Deployment workflow

slide-117
SLIDE 117

Install a few atomic host

slide-118
SLIDE 118

All are clients, one is master

slide-119
SLIDE 119

Depend on services running

slide-120
SLIDE 120

Custom containers

slide-121
SLIDE 121

Need to have a private registry

slide-122
SLIDE 122

Docker registry

slide-123
SLIDE 123

Alternatives : Pulp + crane

slide-124
SLIDE 124

Can be run in a container

slide-125
SLIDE 125

Upload of definition to kubernetes

slide-126
SLIDE 126

$ kubectl create -f gluster.json

slide-127
SLIDE 127

Exact syntax as exercise to the audience

slide-128
SLIDE 128

Management of containers build

slide-129
SLIDE 129

Layered containers

slide-130
SLIDE 130

Select the base

slide-131
SLIDE 131

Add runtime

slide-132
SLIDE 132

Add custom code

slide-133
SLIDE 133

Using STI ( Source to Image )

slide-134
SLIDE 134

Workflow of containers update

slide-135
SLIDE 135

Testing and QA

slide-136
SLIDE 136

Lot of questions are still open

slide-137
SLIDE 137

Configuration management ?

slide-138
SLIDE 138

Backup ?

slide-139
SLIDE 139

Monitoring ?

slide-140
SLIDE 140

Log centralisation ?

slide-141
SLIDE 141

Fine grained management ?

slide-142
SLIDE 142

Network management ?

slide-143
SLIDE 143

http://projectatomic.io/

slide-144
SLIDE 144

?