openstack-user - osones.com · goals of the training: openstack discover openstack and use its...

149
OPENSTACK-USER 1

Upload: others

Post on 29-May-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

OPENSTACK-USER

1

Page 2: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

ABOUT THESE TRAINING MATERIALS

2 . 1

Page 3: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

TRAINING MATERIALS WRITTEN BY ALTER WAY CLOUDCONSULTING

ex Osones -

Copyright © 2014 - 2019 alter way CloudConsultingLicense: Sources: HTML/PDF:

Creative Commons BY-SA 4.0 license

https://cloud-consulting.alterway.fr

Creative Commons BY-SA 4.0https://github.com/Alterway/formations/

https://osones.com/formations/

2 . 2

Page 4: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

INTRODUCTION

3 . 1

Page 5: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

GOALS OF THE TRAINING: CLOUDUnderstand concepts and benefits of cloudKnow the vocabulary related to cloudOverview of cloud market players and focus on AWS andOpenStackKnow how to take advantage of IaaSBe able to decide what is cloud compatible or notAdapt its system administration and development methodsto a cloud environment

3 . 2

Page 6: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

GOALS OF THE TRAINING: OPENSTACKDiscover OpenStack and use its different servicesKnow how the project works and its capabilitiesUnderstand the internals of each OpenStack componentBe able to make the right configuration choicesBe capable of manually deploying an OpenStack cloudproviding IaaSKnow the best practices for deploying OpenStackBe able to track down the cause of an error in OpenStackBe able how to react in front of a bug and know the fixprocess

3 . 3

Page 7: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

REQUIREMENTSAdvanced sys admin skills for Linux such as Ubuntu, Red Hator Debian, including:

Package managementConfiguration files and services handlingLVM (Logical Volume Management) and filesystems

Notions:Virtualization: KVM (Kernel-based Virtual Machine), libvirtNetwork: iptables, namespacesSQL

Optional:Comfortable in a Python environment

3 . 4

Page 8: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

CLOUD, OVERVIEW

4 . 1

Page 9: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

FORMAL DEFINITION

4 . 2

Page 10: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

SPECIFICATIONSProvide one or more service(s)...

Self serviceThrough thenetworkSharing resourcesFast elasticityMetering

Inspired by the NIST definitionhttps://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-

145.pdf

4 . 3

Page 11: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

SELF SERVICEUser goes directly to the serviceNo humain intermediaryImmediate responsesServices catalog for theirdiscovery

4 . 4

Page 12: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

THROUGH THE NETWORKUser uses the service through the networkThe service provider is remote to the consumerNetwork = internet or notUsage of standard network protocols (typically:HTTP)

4 . 5

Page 13: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

SHARING RESSOURCESA cloud provided services to multiple users/organizations(multi-tenant)Tenant or project: logical isolation of resourcesResources are available in large quantities (consideredunlimited)Resources usage is not visibleAccurate location of resources is not visible

4 . 6

Page 14: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

FAST ELASTICITYProvisionning and deletion of resources almostinstantaneousEnables scalingAbility to automate these scaling actionsVirtually no limit to this elasticity

4 . 7

Page 15: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

METERINGUsage of cloud resources is monitored by the providerThe provider can do capacity planning and billing from theseinformationsUser is therefore billed depending on accurate usage ofresourcesUser can take advantage of these informations

4 . 8

Page 16: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

MODELSservice models: IaaS, PaaS, SaaSdeployment models: public, private,hybrid

4 . 9

Page 17: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

IAASInfrastructure as a ServiceInfrastructure:ComputeStorageNetworkTarget users: administrators (system, storage,network)

4 . 10

Page 18: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

PAASPlatform as a ServiceTwo concepts:Environment to develop/deploy an application(language/framework specific - example: Python/Django)Higher level resources than infrastructure, example: DBMSTarget users: application developers

4 . 11

Page 19: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

SAASSoftware as a ServiceTarget users: end usersNot to be confused with the economic definition ofSaaS

4 . 12

Page 20: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

SOMETHING AS A SERVICE?Load balancing as a Service (Infra)Database as a Service (Platform)MyApplication as a Service(Software)etc.

4 . 13

Page 21: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

SERVICE MODELS IN ONE DIAGRAM

IaaS - PaaS - SaaS (source: Wikipedia)

Page 22: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

4 . 14

Page 23: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

PUBLIC OR PRIVATE CLOUD?Who is it for?

Public: everyone, available on internetPrivate: to an organization, available on itsnetwork

4 . 15

Page 24: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

HYBRID CLOUDUsage of multiple public and/or private cloudsAttractive concept but implementation is hard a prioriSome use cases fit perfectlyContinuous integration (CI)Incentives:Avoid lock-inCloud bursting

4 . 16

Page 25: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

VIRTUALIZATION INSTANTLet's make it clear.

Virtualization is a technology that can implement thecompute functionA cloud providing compute resources can use virtualizationBut it can also use:Bare-metalContainers

4 . 17

Page 26: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

APIS ARE KEYReminder: API stands for Application Programming InterfaceIn the software sense: Interface for a program to use a libraryIn the cloud sense: Interface for a program to use a service(XaaS)Programming interface (through the network, often HTTP)Explicit boundary between the provider and the userDefines how the user interacts with the cloud to manage theirresourcesManages: CRUD (Create, Read, Update, Delete)

4 . 18

Page 27: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

API RESTOne ressource == one URI (Uniform Resource Identifier)Usage of HTTP verbs to define operations (CRUD)GETPOSTPUTDELETEUsage of HTTP return codesResources are represented in the HTTP responses'body

4 . 19

Page 28: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

REST - EXAMPLESGET http://endpoint/volumes/GET http://endpoint/volumes/?size=10POST http://endpoint/volumes/DELETE http://endpoint/volumes/xyz

4 . 20

Page 29: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

REAL EXAMPLEGET /v2.0/networks/d32019d3-bc6e-4319-9c1d-6722fc136a22{ "network":{ "status":"ACTIVE", "subnets":[ "54d6f61d-db07-451c-9ab3-b9609b6b6f0b" ], "name":"private-network", "provider:physical_network":null, "admin_state_up":true, "tenant_id":"4fd44f30292945e481c7b8a0c8908869", "provider:network_type":"local", "router:external":true, "shared":true, "id":"d32019d3-bc6e-4319-9c1d-6722fc136a22", "provider:segmentation_id":null }}

4 . 21

Page 30: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

WHY CLOUD? ECONOMICAL POINT OF VIEWConsider IT resources as service provider resourcesShift the "investment" budget (Capex) to the "operation"budget (Opex)Cut costs by sharing resources, and maybe with economies ofscaleReduce delivery timesMatch costs to the real usage of resources

4 . 22

Page 31: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

WHY CLOUD? TECHNICAL POINT OF VIEWAbstract from the lower layers (server, network, OS, storage)Get rid of the technical administration of resources andservices (DB, firewalls, load-balancing, etc.)Design infrastructures which can scale on the flyAct on resources through lines of code and manageinfrastructures "as code"

4 . 23

Page 32: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

MARKET

4 . 24

Page 33: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

AMAZON WEB SERVICES (AWS), LEADER

AWS logoStarted in 2006At first: "e-commerce" web services fordevelopersThen: other services for developersAnd finally: infrastructure resourcesRecently, SaaS

4 . 25

Page 34: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

PUBLIC IAAS ALTERNATIVES TO AWSGoogle Cloud PlatformGoogle Cloud PlatformMicrosoft AzureMicrosoft AzureRackspaceDreamHostDigitalOceanIn France:Cloudwatt (Orange BusinessServices)Numergy (SFR)OVHIkoulaScalewayOutscale

4 . 26

Page 35: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

PRIVATE IAASOpenStackOpenStackCloudStackEucalyptusOpenNebula

4 . 27

Page 36: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

OPENSTACK IN A FEW WORDS

OpenStack logoWas born in 2010OpenStack Foundation since 2012Written in Python and distributed under Apache 2.0 licenseLarge support from the industry and various contributions

4 . 28

Page 37: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

PUBLIC PAAS EXAMPLESAmazon Elastic Beanstalk( )Google App Engine ( )Heroku ( )

https://aws.amazon.com/fr/elasticbeanstalkhttps://cloud.google.com/appengine

https://www.heroku.com

4 . 29

Page 38: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

PRIVATE PAAS SOLUTIONSCloud Foundry, Foundation ( )OpenShift, Red Hat ( )Solum, OpenStack ( )

https://www.cloudfoundry.orghttps://www.openshift.org

https://wiki.openstack.org/wiki/Solum

4 . 30

Page 39: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

INFRASTRUCTURE AS A SERVICE CONCEPTS

4 . 31

Page 40: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

BASICSInfrastructure:ComputeStorageNetwork

4 . 32

Page 41: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

COMPUTE RESOURCESInstanceImageFlavorKeypair (SSH)

4 . 33

Page 42: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

INSTANCEDedicated to computeShort typical lifetime, to be consideredephemeralShould not store persistent dataNon persistent root diskBased on an image

4 . 34

Page 43: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

CLOUD IMAGEDisk image containing an already installed OSInfinitely instanciableCan talk to the metadata API

4 . 35

Page 44: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

METADATA APIhttp://169.254.169.254Available from the instanceProvides informations about the instanceExposes userdataThe cloud-init tool helps take advantage of thisAPI

4 . 36

Page 45: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

FLAVORInstance type in AWSDefines an instance model regarding CPU, RAM, disk (root),ephemeral diskThe ephemeral disk has, like the root disk, the advantage ofoften being local and thus fast

4 . 37

Page 46: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

KEYPAIRSSH public key + private keyCloud manages and stores the public keyThis public key is used to give SSH access to theinstances

4 . 38

Page 47: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

NETWORK RESOURCES 1/2L2 networkNetwork portL3 networkRouterFloating IPSecurity group

4 . 39

Page 48: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

NETWORK RESOURCES 2/2Load Balancing as aServiceVPN as a ServiceFirewall as a Service

4 . 40

Page 49: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

STORAGE RESOURCESCloud provides two kinds of storage

BlockObject

4 . 41

Page 50: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

BLOCK STORAGEVolumesVolumes that can be attached to an instanceAccess to raw devices such as /dev/vdbAbility to use any kind of file systemAbility to use LVM, encryption, etc.Compatible with all existing applicationsRequires provisioning space by defining volumesize

4 . 42

Page 51: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

SHARED STORAGE?Block storage is notnot a shared storage solution likeNFSNFS is at a higher layer: file systemA volume is a priori connected to a single host

4 . 43

Page 52: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

"BOOT FROM VOLUME"Starting an instance with its root disk on a volumevolume

Root disk data persistenceGets similar to classicalserver

4 . 44

Page 53: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

OBJECT STORAGEAPI: CRUD on dataPush and retrieve objectsobjects in/from a containercontainer/bucketNo data hierachy, no directories, no file systemRead/write access through APIs onlyNo provisioning necessaryApplication must be designed to take advantage of objectstorage

4 . 45

Page 54: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

ORCHESTRATIONOrchestrate creation and management of resources in thecloudArchitecture definition in a templatetemplateResources created from a templatetemplate make a stackstackThere are also orchestration tools (rather than services)

4 . 46

Page 55: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

USAGE BEST PRACTICES

4 . 47

Page 56: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

WHY BEST PRACTICES?Two differents possible views:

Don't change anythingRisk not meeting expectationsLimit usage to test & dev use caseAdapt to new cloud compliant practices to take advantage ofit

4 . 48

Page 57: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

HIGH AVAILABILITY (HA)Cloud control plane (APIs) is HAManaged resources might notbe

4 . 49

Page 58: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

PET VS CATTLEHow to consider instances?

PetCattle

4 . 50

Page 59: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

INFRASTRUCTURE AS CODEWith code

Provision infrastructure resourcesConfigure said resources, instances inparticular

The job is changing: Infrastructure Developer

4 . 51

Page 60: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

SCALINGScale out rather than Scale upScale out: horizontal scalingScale up: vertical scalingAuto-scalingManaged by the cloudManaged by an externalcomponent

4 . 52

Page 61: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

CLOUD READY APPLICATIONSStore their data in an appropriateplaceAre architected to be fault tolerantEtc.

Cf. https://12factor.net/

4 . 53

Page 62: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

BEHIND CLOUD

4 . 54

Page 63: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

HOW TO IMPLEMENT A COMPUTE SERVICEVirtualization(system) ContainersBare metal

4 . 55

Page 64: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

STORAGE IMPLEMENTATION: (SOFTWARE DEFINED STORAGE)SDS

WarningWarning: not to be confused with the block vs object topic

Use of commodity hardwareNo hardware RAIDSoftware is responsible for the dataHardware failures are taken into account and managedThe CephCeph project and the OpenStack SwiftOpenStack Swift componentimplement SDS

See also ScalityScality4 . 56

Page 65: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

SDS - CAP THEOREM

Page 66: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

Consistency - Availability - Partition tolerance

4 . 57

Page 67: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

RÉCAPITULATIF VOCABULAIRE

4 . 58

Page 68: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

NOTIONS ET VOCABULAIRE IAAS 1/4Identité et accès

Tenant/Projet (Project) : locataire du cloud, propriétairede ressources.Utilisateur (User) : compte autorisé à utiliser les APIOpenStack.Quota : contrôle l’utilisation des ressources (vcpu, ram, fip,security groups,...) dans un tenant.Catalogue (de services) : services disponibles etaccessibles via les API.Endpoint : URL permettant l’accès à une API. Un endpointpar service.

4 . 59

Page 69: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

NOTIONS ET VOCABULAIRE IAAS 2/4Calcul/Serveurs (Compute)

Image : généralement, un OS bootable et “cloud ready”.Instance : forme dynamique d’une image.Type d’instance (flavor) : mensurations d’une instance(cpu, ram, capacité disque,...).Metadata et user data : informations gérées par le IaaS etmises à disposition de l’instance.Cloud-init, cloud-config : mécanismes permettant laconfiguration finale automatique d’une instance.

4 . 60

Page 70: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

NOTIONS ET VOCABULAIRE IAAS 3/4Stockage (Storage)

Volume : disque virtuel accessible par les instances(stockage “block”).Conteneur (Container) : entités logiques pour le stockagede fichiers et accessibles via une URL (stockage “objet”).

Réseau et sécurité (Network, Security)Groupe de sécurité (Security groups) : ensemble de règlesde filtrage de flux appliqué à l’entrée des instances.Paire de clés (Keypairs) : clé privée + clé publiquepermettant les connexions aux instances via SSH.IP flottantes (Floating IP) : adresse IP allouée à la demandeet utilisée par les instances pour communiquer avec leréseau “externe”.

4 . 61

Page 71: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

NOTIONS ET VOCABULAIRE IAAS 4/4Orchestration

Stack : ensemble des ressources IaaS utilisées par uneapplication.Template : fichier texte contenant la description d’unestack.

4 . 62

Page 72: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

OPENSTACK: THE PROJECT

5 . 1

Page 73: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

OVERVIEW

5 . 2

Page 74: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

HIGH LEVEL

Simple version

5 . 3

Page 75: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

HISTORYStarted in 2010Goal: the Free Open Source Cloud Operating SystemMerge of two projects from Rackspace (Storage) and NASA(Compute)Free software distributed under Apache 2.0 licenseBirth of the Foundation in 2012

5 . 4

Page 76: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

MISSION STATEMENTTo produce a ubiquitous Open Source Cloud Computing platform that is easy to use, simple to implement, interoperable between deployments, works well at all scales, and meets the needs of users and operators of both public and private clouds.

5 . 5

Page 77: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

RELEASESAustin (2010.1)Bexar (2011.1), Cactus (2011.2), Diablo (2011.3)Essex (2012.1), Folsom (2012.2)Grizzly (2013.1), Havana (2013.2)Icehouse (2014.1), Juno (2014.2)Kilo (2015.1), Liberty (2015.2)Mitaka (2016.1), Newton (2016.2)Ocata (2017.1), Pike (2017.2)Queens (2018.1), RockyRocky (2018.2)Stein (2019.1), Train (2019.2)Early 2020: Ussuri

5 . 6

Page 78: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

SOME OF THE SUPPORTERS/CONTRIBUTORS ...Editors: Red Hat, Suse, Canonical, Vmware, ...Hardware makers: IBM, HP, Dell, ...Hardware makers/network: Juniper, Cisco, ...Hardware makers/storage: NetApp, Hitachi, ...Also: NASA, Rackspace, Yahoo, OVH, Citrix, SAP, ...GoogleGoogle! (since July 2015)

https://www.openstack.org/foundation/companies/

5 . 7

Page 79: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

... AND USERSAll the previously mentioned contributorsIn France: CloudwattCloudwatt and NumergyNumergyWikimediaCERNPaypalComcastBMWEtc. Not counting confidential deployments

https://www.openstack.org/user-stories/

5 . 8

Page 80: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

THE DIFFERENT SUB-PROJECTS

OpenStack Compute - NovaOpenStack (Object) Storage - SwiftOpenStack Block Storage - CinderOpenStack Networking - NeutronOpenStack Image Service - GlanceOpenStack Identity Service -KeystoneOpenStack Dashboard - HorizonOpenStack Telemetry - CeilometerOpenStack Orchestration - Heat

https://www.openstack.org/software/project-navigator/

5 . 9

Page 81: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

THE DIFFERENT SUB-PROJECTS (2)

Page 82: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

But also:Bare metal (Ironic)Queue service (Zaqar)Database service (Trove)Data processing (Sahara)DNS service (Designate)Shared File Systems (Manila)Key management (Barbican)Container (Magnum)

OthersClient CLI and librariesOpenStack deployment toolsLibraries used by OpenStackTools used to developOpenStack 5 . 10

Page 83: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

APISEach project supports its OpenStack APISome projects support the corresponding AWS API(Nova/EC2, Swift/S3)

5 . 11

Page 84: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

THE 4 OPENSOpen SourceOpen DesignOpen DevelopmentOpen Community

https://governance.openstack.org/tc/reference/opens.html

https://www.openstack.org/four-opens/

5 . 12

Page 85: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

THE OPENSTACK FOUNDATIONMain governance entity and legal representation of theprojectBoard members are part of the sponsoring companies andelected by individual membersEveryone can (freely) become an individual memberHuman resources: marketing, event managemement, releasemanagement, a few developers (mainly on infrastructure)600 organizations across the world80000 individual members in 170 countries

5 . 13

Page 86: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

THE OPENSTACK FOUNDATION

Main entities of the Foundation

5 . 14

Page 87: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

OPEN INFRASTRUCTURELately, the OpenStack Foundation expands to OpenOpenInfrastructureInfrastructureBeyond OpenStack, new projects:

Kata ContainersZuulAirshipStarlingX

5 . 15

Page 88: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

RESOURCESAnnouncements (new versions, security advisories):

Documentation portal: API/SDK: Project governance: Releases: Support:

[email protected]#openstack@Freenode

[email protected]://docs.openstack.org/

https://developer.openstack.org/https://governance.openstack.org/

https://releases.openstack.org/

https://ask.openstack.org/

5 . 16

Page 89: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

RESOURCESNews:

Official blog: Planet: Superuser:

Commercial resources: among others

Job board:

https://www.openstack.org/blog/http://planet.openstack.org/

http://superuser.openstack.org/

https://www.openstack.org/marketplace/https://www.openstack.org/community/jobs/

5 . 17

Page 90: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

USER SURVEYRegular survey done by the Foundation (every 6 months)Targets deployers and usersUsable data: https://www.openstack.org/analytics

5 . 18

Page 91: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

CERTIFIED OPENSTACK ADMINISTRATOR (COA)The only certification:

Approved by the OpenStack FoundationNot linked to a specific company

Content:Mainly OpenStack cloud user oriented

Practical aspects:Practical exam, remote, duration: 2.5 hoursCost: $300 (one re-take possible)

Ressources

Tips: Handbook: (unofficial) Exercises:

https://www.openstack.org/coa/requirements/

https://www.openstack.org/coa/https://www.openstack.org/coa/tips/

http://www.openstack.org/coa/handbookhttps://github.com/AJNOURI/COA

Page 92: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

5 . 19

Page 93: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

RESOURCES - FRENCH COMMUNITY AND ASSOCIATION

Logo OpenStack-fr -

Meetups: Paris, Lyon, Toulouse, Montréal, etc.OpenStack Days France (Paris):

Attending events such as Paris Open Source SummitCommunication channels:

[email protected]#openstack-fr@Freenode

https://openstack.fr/ https://asso.openstack.fr/

https://openstackdayfrance.fr

5 . 20

Page 94: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

USING OPENSTACK

6 . 1

Page 95: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

PRINCIPLEAll the features are available through the APIClients (including Horizon) go through the APICredentials are required, with the OpenStackAPI:userpasswordproject (tenant)domain

6 . 2

Page 96: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

OPENSTACK APISOne API per OpenStack serviceVersioned, backwards compatiblity is guaranteedBody of requests and responses is formatted withJSONREST architectureManaged resources are specific to a project

https://developer.openstack.org/#api

6 . 3

Page 97: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

API ACCESSDirect, using HTTP, with tools like curlWith a libraryOfficial implementations in PythonOpenStackSDKOther implementations, including for other languages(example: jclouds)Shade (Python library which includes business logic)With official command line toolsWith HorizonThrough higher-level third-party tools (example: Terraform)

6 . 4

Page 98: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

OFFICIAL CLIENTSOpenStack provides official clientsHistorically: python-PROJECTclient (Python library andCLI)Today: openstackclient (CLI)CLI toolsAuthentication is done by passing credentials as parameters,environment variables or configuration fileThe --debug parameter shows the HTTP connection

6 . 5

Page 99: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

OPENSTACK CLIENTUnified CLI clientopenstack <resource ><action > commands (interactive shellavailable)Aims at replacing specific CLI clientsProvides a more homogeneous user experienceclouds.yaml configuration file

https://docs.openstack.org/python-openstackclient/latest/configuration/index.html#clouds-yaml

6 . 6

Page 100: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

KEYSTONE: AUTHENTICATION, AUTHORIZATION AND SERVICECATALOG

6 . 7

Page 101: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

PRINCIPLESKeystone is responsible for authentication and authorization

and service catalog.

Standard user authenticates against KeystoneAdmin user often interacts with Keystone

6 . 8

Page 102: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

APIAPI v3: port 5000Manages:UsersUsers, groupsgroupsProjectsProjects (tenants)RolesRoles (link between user and project)DomainsDomainsServicesServices and endpointsendpoints (service catalog)Provides:TokensTokens (authentication tokens)

6 . 9

Page 103: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

SERVICE CATALOGFor each service, multiple endpoints are possible dependingon:regioninterface type (public, internal, admin)

6 . 10

Page 104: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

TYPICAL USAGE SCENARIO

Page 105: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

Interactions with Keystone

6 . 11

Page 106: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

NOVA: COMPUTE

6 . 12

Page 107: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

PRINCIPLESMainly manages instancesinstancesInstances are created from images provided by GlanceInstances' network interfaces are associated with NeutronportsBlock storage can be provided to instances by Cinder

6 . 13

Page 108: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

INSTANCE PROPERTIESEphemeral, a priori not HADefined by a flavorBuilt from an imageOptional: volume attachmentsOptional: boot from volumeOptional: public SSH keyOptional: network ports

6 . 14

Page 109: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

APIManaged resources:

InstancesInstancesFlavorsFlavors (instance types)KeypairsKeypairs: resources dedicated to each user (not part of aproject)

6 . 15

Page 110: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

ACTIONS ON INSTANCESReboot /shutdownSnapshotLogsVNC accessResizeMigration (admin)

6 . 16

Page 111: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

GLANCE: IMAGE REGISTRY

6 . 17

Page 112: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

PRINCIPLESImage (and snapshot) registryImage properties

6 . 18

Page 113: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

APIAPI v2: current version, manages images and snapshotsAPI artifacts: future version, more common

6 . 19

Page 114: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

IMAGE TYPESGlance supports a wide range of image types, limited by Nova's

underlying technology support

rawqcow2amivmdkiso

6 . 20

Page 115: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

IMAGE PROPERTIES IN GLANCEThe user can define a number of properties among which some

will be used at instance creation

Image typeArchitectureDistributionDistribution versionMinimum diskspaceMinimum RAM

6 . 21

Page 116: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

IMAGE SHARINGPublic image: available to all projectsBy default, only the admin can make an image publicShared image: available to one or multiple other project(s)

6 . 22

Page 117: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

DOWNLOADING IMAGESMost OS provide regularly updated images:

Ubuntu : Debian : CentOS :

https://cloud-images.ubuntu.com/https://cdimage.debian.org/cdimage/openstack/https://cloud.centos.org/centos/

6 . 23

Page 118: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

NEUTRON: NETWORK

6 . 24

Page 119: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

APIThe API exposes these main resources:

Network: layer 2Subnet: layer 3Port: can be attached to an instance interface, a load-balancer, etc.RouterFloating IP, security group

6 . 25

Page 120: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

FLOATING IPSIn addition to fixed IPs which are set on instancesAllocation (reservation for the project) of an IP from a poolAssociation of an allocated IP to a port (of an instance, forexample)Not directly set on instances

6 . 26

Page 121: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

SECURITY GROUPSSimilar to a firewall in front of each instaneAn instance can be associated to one or multiple securitygroupsIngress and egress access rulesRules per protocol (TCP/UDP/ICMP) and portTargets an IP address, a network or another security group

6 . 27

Page 122: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

ADDITIONAL FEATURESBeyond the basic L2 and L3 networking features, Neutron may

provide other services:

Load BalancingFirewall: different from security groupsVPN: to reach a private network without floatingIPsQoS

6 . 28

Page 123: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

CINDER: BLOCK STORAGE

6 . 29

Page 124: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

PRINCIPLESProvides volumes (block storage) that can be attached toinstancesManages different volume typesManages volume snapshots and volume backups

6 . 30

Page 125: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

USAGEAdditional volume (and persistent storage) on an instanceBoot from volume: OS is on the volumeBackup to object store (Swift ou Ceph) feature

6 . 31

Page 126: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

HEAT: ORCHESTRATION

6 . 32

Page 127: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

PRINCIPLESHeat is the native OpenStack solution, orchestration serviceHeat provides an API to manage stacksstacks from templatestemplatesA Heat template follows the HOT (Heat OrchestrationTemplate) format, based on YAML

6 . 33

Page 128: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

A HEAT ORCHESTRATION TEMPLATE (HOT) TEMPLATEparameters - resources - outputs

heat_template_version: 2013-05-23description: Simple template to deploy a single compute instanceresources:my_instance: type: OS::Nova::Server properties: key_name: my_key image: F18-x86_64-cfntools flavor: m1.small

6 . 34

Page 129: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

BUILD A TEMPLATE FROM EXISTING RESOURCESMultiple projects are being developed

Flame (Cloudwatt)HOT builderMerlin

6 . 35

Page 130: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

HORIZON : WEB DASHBOARD

6 . 36

Page 131: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

PRINCIPLESProvides a web interfaceUses existing APIs to provide a user interfaceAbility to log in without specifiying a project: Horizondetermines the list of available projects

6 . 37

Page 132: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

USAGEOne interface per project (ability to switch)Availability of the service catalogDownload of a clouds.yaml config fileRestricted “admin” area

6 . 38

Page 133: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

CLOUD-READY ARCHITECTURES

7 . 1

Page 134: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

DESIGN AN APPLICATION FOR THE CLOUD

7 . 2

Page 135: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

ADAPT OR THINK “CLOUD READY” APPLICATIONS 1/3See OpenStack project design tenets and Twelve-Factor

Distributed rather than monolithic architectureEases scalingLimits failure domain

Loose coupling between components

https://12factor.net/

7 . 3

Page 136: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

ADAPT OR THINK “CLOUD READY” APPLICATIONS 2/3Message bus for inter-component communicationStateless: allows multiple access routes to the applicationDynamic: application must adapt to its environnement andreconfigure itself when necessaryAllow deployment and operation using automation tools

7 . 4

Page 137: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

ADAPT OR THINK “CLOUD READY” APPLICATIONS 3/3Limit as much as possible hardware or software specificdependencies that may not work in a cloudIntegrated fault toleranceDo not store data locally, but rather:

DatabaseObject storage

Use standard logging tools

7 . 5

Page 138: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

DESIGN AN INFRASTRUCTURE FOR THE CLOUD

7 . 6

Page 139: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

AUTOMATIONAutomate infrastructure management:mandatoryResources creationResources configuration

7 . 7

Page 140: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

INFRASTRUCTURE AS CODEWork like a developerDescribe your infrastructure as code (Heat/Terraform,Ansible)Track changes in a VCS (git)Set up code reviewUse testing mechanismsTake advantage of continuous integration and deploymentsystems

7 . 8

Page 141: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

ORCHESTRATION NEEDManage all kind of resources through a uniqueentrypointInfrastructure description in a file (template)Heat (included in OpenStack), Terraform

7 . 9

Page 142: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

TESTS AND CONTINUOUS INTEGRATIONCode styleSyntax validationUnit testsIntegration testsFull deploymenttests

7 . 10

Page 143: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

FAULT TOLERANCETake advantage of application abilitiesDon't try to make the compute infrastructureHA

7 . 11

Page 144: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

AUTOSCALING GROUPGroup of similar instancesVariable number of instancesAutomated scaling depending onmetricsEnables horizontal scaling

7 . 12

Page 145: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

MONITORINGTake into account instances' lifecycle: DOWN != ALERTMonitor the service rather than the server

7 . 13

Page 146: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

BACKUPBe able to recreate your instances (and the rest of theinfrastructure)Data (application, logs): block, object

7 . 14

Page 147: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

HOW TO MANAGE IMAGES?Use of generic images and personalization at launchCreation of intermediary and/or completely personalizedimages:

Cold modification: libguestfs, virt-builder, virt-sysprepModification through an instance: automation possiblewith PackerBuild from scratch: diskimage-builder (TripleO)Build from scratch with distribution-specific tools(openstack-debian-images for Debian)

7 . 15

Page 148: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

CONCLUSION

8 . 1

Page 149: OPENSTACK-USER - osones.com · GOALS OF THE TRAINING: OPENSTACK Discover OpenStack and use its different services Know how the project works and its capabilities Understand the internals

POUR CONCLURELe cloud révolutionne l’ITOpenStack est le projet libre phare sur la partie IaaSL’utilisation d’un cloud IaaS implique des changements depratiqueLes métiers d’architecture logicielle et infra évoluent

8 . 2