Montreal Linux MeetUp - OpenStack Overview (2017.10.03)

Preview:

Citation preview

cloudops.com @cloudops_

OpenStack OverviewOctober 3rd 2017

Stacy Véronneau● Director of OpenStack Solutions and Lead OpenStack

Architect at CloudOps.● Using public cloud resources since 2007● Started ‘exploring’ OpenStack at Folsom and using at

Grizzly● OpenStack MeetUp organizer

○ Montreal, Ottawa, Edmonton and Toronto(Co-Org)

● Speaker at OpenStack Days and Summit○ Austin, Montreal, Barcelona, Boston, Ottawa

● OpenStack Mentor since August 2017

cloudops.com @cloudops_Page

About CloudOps

3

We enable our customers to own their destiny in a cloudy world by

leveraging open source cloud orchestration and best of breed technologies.

Our team has built and continues to support dozens of regional clouds for

telco and community cloud service providers around the world.

We’ve helped hundreds of software companies migrate to and scale their

businesses on regional cloud platforms such as cloud.ca and public clouds

such as Google Cloud Platform and Amazon Web Services.

cloudops.com @cloudops_

What is OpenStack?

cloudops.com @cloudops_Page

What is OpenStack?

5

As described by Wikipedia

“OpenStack is a cloud computing project aimed at providing an infrastructure as a service (IaaS).”

The software platform consists of interrelated components that control hardware pools of processing, storage and networking”

cloudops.com @cloudops_Page

What is OpenStack?

6

● What it is○ Abstraction Layer

○ A group of interrelated projects

○ IaaS Solution

○ Community Driven

● What it isn’t○ Interdependent project (Exceptions Apply)

○ A complete standalone solution, extra components are needed

○ Standalone Virtualisation solution

cloudops.com @cloudops_Page

OpenStack Capabilities

7

● Virtual machines (VMs) on demand○ Provisioning

○ Snapshotting

● Networks○ Provisioning

○ Isolation

● Storage for VMs and arbitrary files

● Multi-tenancy○ Quotas for different projects, users

○ User can be associated with multiple projects

cloudops.com @cloudops_

History and a High Level Recap

cloudops.com @cloudops_Page

History

9

● Started in 2010 by and

● Foundation created in 2012

● Latest release was on August 30th 2017 and is named Pike

The Mission:

“To produce the ubiquitous Open Source Cloud Computing platform that

will meet the needs of public and private clouds regardless of size, by being

simple to implement and massively scalable”.

cloudops.com @cloudops_Page

History - Release Naming

10

Only single words with a maximum of 10 characters are good candidates for a name. Bonus points for sounding cool.

● Austin: The first design summit took place in Austin, TX

● Bexar: The second design summit took place in San Antonio, TX (Bexar county).

● Cactus: Cactus is a city in Texas

● Diablo: Diablo is a city in the bay area near Santa Clara, CA

● Essex: Essex is a city near Boston, MA

● Folsom: Folsom is a city near San Francisco, CA

● Grizzly: Grizzly is an element of the state flag of California (design summit takes place in San Diego, CA)

● Havana: Havana is an unincorporated community in Oregon

● Icehouse: Ice House is a street in Hong Kong

● Juno: Juno is a locality in Georgia

● Kilo: Paris (Sèvres, actually, but that's close enough) is home to the Kilogram, the only remaining SI unit tied to an artifact

● Liberty: Liberty is a village in the Canadian province of Saskatchewan

● Mitaka: It’s named after the town located in the Tokyo metro area, known for Inokashira park and the Ghibli museum,

● Newton (Austin, Texas): The "Newton House", located at 1013 E. Ninth St., Austin, TX, is listed on the National Register of Historic Places

● 2017.1 Ocata (Barcelona, Spain): Ocata is a beach about 20 minutes north of Barcelona by train

● 2017.2 Pike, the Massachusetts Turnpike, also the Mass Pike (Boston)

● 2018.1 Queens, Queens Pound river in the Souther Coast region of NSW (Australia)

● 2018.2 Rocky (British Columbia, Canada)

cloudops.com @cloudops_Page

History - Architecture @ Cactus

11

Source: docs.openstack.org

cloudops.com @cloudops_Page

History - Architecture Now

12

Source: docs.openstack.org

cloudops.com @cloudops_

High LevelatHigh Speed

cloudops.com @cloudops_Page

OpenStack - Is NOT VMware

14

cloudops.com @cloudops_Page

OpenStack - Is more an In-House AWS

15

cloudops.com @cloudops_Page

OpenStack vs AWS

16

Project Name Description AWS Equiv. Codename(s)

Compute Provision and manage large pools of on-demand computing resources EC2 Nova

Block Storage Volumes on commodity storage gear, and drivers for turn-key block storage solutions EBS Cinder

Object Storage Petabytes of reliable storage on standard gear S3 Swift

Networking L2-focused on-demand networking with some L3 capabilities VPC Neutron

Dashboard Self-service, role-based web interface for users and administrators Console Horizon

Metering Centralized metering data for all services for integration to external billing CloudWatch Ceilometer

Identity Multi-tenant authentication system that ties to existing stores (e.g. LDAP) and Image Service IAM Keystone

Image Management Upload, download, and manage VM images for the compute service VM Import/Export Glance

Orchestration Application orchestration layer that runs on top of and manages OpenStack Compute

CloudFormation, CloudWatch Heat

cloudops.com @cloudops_Page

OpenStack - Is NOT a Product

17

cloudops.com @cloudops_Page

OpenStack - Is an AWESOME platform

18

cloudops.com @cloudops_Page

OpenStack - High Level & High Speed

19

cloudops.com @cloudops_

Let’s Talk DistrosOpenStack Overview

cloudops.com @cloudops_Page

OpenStack - Let’s Talk Distros

21

cloudops.com @cloudops_

Core ServicesOpenStack Overview

cloudops.com @cloudops_Page

OpenStack - Core Services

23

OpenStack embraces a modular architecture to provide a set of core services that facilitates

scalability and elasticity as core design tenets.

cloudops.com @cloudops_Page

OpenStack - Core Services

24

Each service:

● Is also a “top-level” OpenStack component

● Has an elected “Project Technical Lead” (PTL)

● Has separate developers and design teams

● Has a well defined public API

○ With the exception of Horizon, which is the Web GUI, all other

projects have a RESTful (JSON/HTTP) API

● Has a separate database and an isolated persistent layer

cloudops.com @cloudops_Page

OpenStack Programs Relationships

25

ProvidesNetwork connectivity

for

Image

Glance

Stores disk files in

NeutronNetwork

Block Storage

CinderProvides

volumes for

NovaCompute

Poll data from

CeilometerMetering

Poll data from

Poll data from

Object Storage

SwiftStores images in

HeatOrchestrate

Arranges and directsProvidesUI for

ProvidesUI for

ProvidesUI for

ProvidesUI for

ProvidesUI for

ProvidesUI for

ProvidesUI for

Common UIHorizonDashboard

KeystoneIdentity

ProvidesAuth for

ProvidesAuth for

ProvidesAuth for

ProvidesAuth for

ProvidesAuth for

Access Control

ProvidesAuth for

ProvidesAuth for

ProvidesUI for

ProvidesAuth for

Not a program, but important to understand the relationship

Database

Not a program, but important to understand the relationship

Message Queue

cloudops.com @cloudops_Page

OpenStack Deployment Topology

26

Control Cluster

Horizon Keystone

GlanceNeutron

CinderNova

Compute Cluster

computenode

computenode

computenode

computenode

computenode

computenode

Storage Cluster (Cinder Volume, Swift)

storagenode

storagenode

storagenode

storagenode

storagenode

storagenode

Heavy CPU and RAM Heavy Disk and I/O

CeilometerHeat

cloudops.com @cloudops_

KeystoneProvides Identity, Token, Catalog and Policy services for use specifically by projects in the OpenStack family

OpenStack Overview

cloudops.com @cloudops_

Nova APIA RESTful API web service which is used to interact with Nova Compute

OpenStack Overview

cloudops.com @cloudops_

Nova SchedulerA daemon, which determines, on which compute host the request should run

OpenStack Overview

cloudops.com @cloudops_

NeutronNetwork as a Service

OpenStack Overview

cloudops.com @cloudops_

CinderBlock Storage as a Service

OpenStack Overview

cloudops.com @cloudops_

GlanceProvides services for discovering, registering, and retrieving virtual machine images

OpenStack Overview

cloudops.com @cloudops_

SwiftSwift is a highly available, distributed, eventually consistent object/blob store

OpenStack Overview

cloudops.com @cloudops_

CephThe all-in-one storage service that is not an OpenStack project

OpenStack Overview

cloudops.com @cloudops_

CeilometerThe Telemetry Service

OpenStack Overview

cloudops.com @cloudops_

HeatThe Orchestrator

OpenStack Overview

cloudops.com @cloudops_

HorizonProvides a baseline UI for managing OpenStack services

OpenStack Overview

cloudops.com @cloudops_

MagnumContainer Infrastructure Management Service(Big Tent Project)

OpenStack Overview

cloudops.com @cloudops_

DependenciesThe bare minimum components outside of Openstack

OpenStack Overview

cloudops.com @cloudops_

Provisioning of a VMThe most common and complex process in OpenStack and involves interaction of most of OpenStack components

OpenStack Overview

cloudops.com @cloudops_Page

OpenStack - Provisioning of a VM

41

● Users log into Horizon and initiate a VM create

● Keystone authorizes

● Nova API initiates provisioning and saves state to DB

● Nova Scheduler finds appropriate host

● Neutron configures networking

● Cinder provides block device

● Image URI is looked up through Glance

● Image is retrieved via Swift

● VM is rendered by Hypervisor

● VM now accessible by the users

cloudops.com @cloudops_

Deployment ToolsOpenStack Overview

cloudops.com @cloudops_Page

OpenStack - Deployment Tools

43

The deployment tools for OpenStack are like Baskin Robbins.

It’s a 31 flavors buffet.

● OpenStack Ansible

● Puppet / Chef / Salt OpenStack

● Fuel

● JuJu + Charms

● Triple-O / Kolla / OpenStack Helm / Conjur-Up / PackStack / DevStack ...

cloudops.com @cloudops_

What About That Magical Thing Called Kubernetes

OpenStack Overview

cloudops.com @cloudops_Page

OpenStack - Kubernetes

45

There are many ways to use Kubernetes when it comes to OpenStack. You can use it to deploy

OpenStack or you can use it within OpenStack. It’s been called the infrastructure club sandwich.

● K8s to deploy OpenStack○ OpenStack Helm

○ Kolla

● K8s in OpenStack○ Kubespray / OpenShift

○ Magnum / Rancher

○ KubeAdm

cloudops.com @cloudops_

What Else is Needed?OpenStack Overview

cloudops.com @cloudops_Page

OpenStack - What else is needed?

47

You now have a shiny new OpenStack Cloud but beside spinning instances,

what can you do to maximize utilisation and ROI?

● CI/CD Systems

● External AAA (Authentication, Authorization, Accounting) Integration

● Logging, Monitoring and Alerting (Day 2)

● Plan WorkLoad Onboarding

cloudops.com @cloudops_Page

OpenStack - What else is needed?

48

● Workshops

○ Architecture Design Assessment

○ Knowledge leveling sessions

○ Hands-on labs

○ Day 2 troubleshooting scenarios

○ SDN and OpenStack

○ OpenStack and Containers

○ OpenStack and Ceph

cloudops.com @cloudops_Page 49

cloudops.com @cloudops_Page

Open Source Magic In OpenStack

50

cloudops.com @cloudops_Page

Open Source is what makes OpenStack an AWESOME platform!

51

OpenStack Days Canada● October 19th 2017 - Nature Museum● https://www.openstackcanada.com/

Reach out on Slack if you have more questionshttp://openstack-canada-slack-invite.herokuapp.com/

cloudops.com @cloudops_

Thank you for your time

sveronneau@cloudops.comhttps://www.linkedin.com/in/stacyveronneau/ https://www.meetup.com/preview/Montreal-OpenStack