7 - Introduction to OpenStack & SDN by Ady Saputra

22
Intro to Openstack & SDN Meetup 1 SDNRG ITB Ady Saputra | [email protected]

Transcript of 7 - Introduction to OpenStack & SDN by Ady Saputra

Page 1: 7 - Introduction to OpenStack & SDN by Ady Saputra

Intro to Openstack & SDN

Meetup 1 SDNRG ITBAdy Saputra | [email protected]

Page 2: 7 - Introduction to OpenStack & SDN by Ady Saputra

about

Ady Saputra | [email protected]

Mahasiswa S2 Teknik Elektro ITB

Ex-sysadmin Comlabs USDI-ITB

“Proyektor”

Openstack user (est. 2011)

Page 3: 7 - Introduction to OpenStack & SDN by Ady Saputra

Outline

Intro

Cloud computing

Openstack

What is it

architecture

Openstack & SDN

How to deploy openstack

Demo

Page 4: 7 - Introduction to OpenStack & SDN by Ady Saputra

Intro

Experience with Openstack

2011, assessing web hosting startup company,

requirement :

Scalable

Low cost

Support big data

Use Openstack (Cactus, from scratch; Diablo &

Essex, using Stackops)

2014, master thesis (Icehouse)

Page 5: 7 - Introduction to OpenStack & SDN by Ady Saputra
Page 6: 7 - Introduction to OpenStack & SDN by Ady Saputra

Cloud Computing :

Definition

“Cloud computing is a model for enabling

ubiquitous, convenient, on-demand network

access to a shared pool of configurable

computing resources [...] that can be rapidly provisioned and released with minimal

management effort or service provider

interaction.”

— NIST

Page 7: 7 - Introduction to OpenStack & SDN by Ady Saputra

Cloud Computing : Essential

Characteristic

On-demand self-service

Rapid elasticity

Ubiquitous network access

Resource pooling

Measured service

Page 8: 7 - Introduction to OpenStack & SDN by Ady Saputra

Cloud Computing : Delivery

Model

Openstack technology 101, Boston OpenStack Meet-up, Feb 19, 2014

Page 9: 7 - Introduction to OpenStack & SDN by Ady Saputra

Cloud Computing :

Deployment Models

Public cloud

Private cloud

Community cloud

Hybrid cloud

Page 10: 7 - Introduction to OpenStack & SDN by Ady Saputra

Openstack

“OpenStack is a cloud operating system that controls

large pools of compute, storage, and networking resources throughout a data center, all managed through a dashboard that gives administrators control

while empowering users to provision resources through

a web interface.”

— OpenStack Foundation

Page 11: 7 - Introduction to OpenStack & SDN by Ady Saputra

OpenStack : Feature

Open source software for building private and public clouds Designed for flexibility and many different use cases Mix and match components Kit of administrative tools

Enables multi-tenancy Quota for different users Users can be associated with multiple tenants

Provides virtual machines (VM) on demand Self service provisioning Snapshotting capability

Storage volumes Block storage for VM images Object storage for VM images and arbitrary files

Page 12: 7 - Introduction to OpenStack & SDN by Ady Saputra

Openstack : Release History

Austin : Oct 2010

Bexar : Feb 2011

Cactus : April 2011

Diablo : Sept 2011

Essex : April 2012

Folsom : Sept 2012

Grizzly : April 2013

Havana : Oct 2013

Icehouse : April 2014

Juno : Oct 2014

Kilo : April 2015

Page 13: 7 - Introduction to OpenStack & SDN by Ady Saputra

Openstack : Architecture

Neutron

Cinder

Nova

Horizon

keystone

Glance Swift

Page 14: 7 - Introduction to OpenStack & SDN by Ady Saputra

Openstack : Architecture Compute "Nova” provides virtual servers resource (CPU, RAM, etc)

on demand.

Image "Glance” provides a catalog and repository for virtual disk images.

Dashboard "Horizon” provides a modular web-based user interface for all the OpenStack services. Used to perform most operations like

launching an instance, assigning IP addresses and setting access

controls.

Identity "Keystone” provides authentication and authorization for all the OpenStack services. It also provides a service catalog of services

within a particular OpenStack cloud.

Object Store "Swift” provides object storage. It allows you to store or retrieve files (but not mount directories like a fileserver).

Block Storage "Cinder” provides persistent block storage to guest VMs.

Network “Neutron” provides "network connectivity as a service" between interface devices managed by other OpenStack services.

Page 15: 7 - Introduction to OpenStack & SDN by Ady Saputra

OpenStack : Neutron

Provide Network-as-a-Service (NaaS) Allowing tenants to control their own private networks

Ability to create “multi-tier” networks

Control IP addressing (IP address overlapping)

Neutron API for operating logical networks Separate logical operations and backend provisioning

Backend technologies are provisioned/configured by Neutron

plugins/drivers

Support multiple emerging network technologies New requirements never before in cloud data centers

Multi tenancy, remote data center, VM mobility, advanced

network services, ...

Nova provides only legacy basic technology (VLAN + iptables)

Needs new architecture/framework to support emerging network technologies SDN/OpenFlow-based network

Overlay tunneling (VXLAN, NVGRE, STT, ...)

L2 Fabric (Fabric Path, QFabric, ...)

Page 16: 7 - Introduction to OpenStack & SDN by Ady Saputra

Neutron ComponentNeutron Server

• Runs on Controller node.

• Exposes API. Enforces network model.

• Passes requests to Neutron plugin.

Neutron Plugin

• Runs on Controller node.

• Implements the API.

• Interacts with neutron server,

database and agents.

Queue

• Enhance communication between

each components of neutron

Database

• Persistent network model

Plugin agent (*)

• Run on each compute node

• Connect instances to network port

DHCP Agent (*)

• Start/stop dhcp server

• Maintain dhcp configuration

L3 Agent (*)

• To implement floating IPs and other L3

features, such as NAT

Page 17: 7 - Introduction to OpenStack & SDN by Ady Saputra

Neutron ML2 Plugin

Allowing OpenStack to utilize variety of layer 2 networking technologies found in complex real data-center

OVS / Linux Bridge plugins will be removed in the near future

We can use multiple network technologies at the same time

Type Driver

Manages logical network resources depending on “network type” (e.g., VLAN-ID)

Support local, flat, vlan, gre & vxlan network type

Mechanism Driver : Configures/provisions network devices

Open vSwitch agent driver, Linux Bridge agent driver, OpenFlow Agent driver

Cisco Nexus 1000V driver, Arista driver

Page 18: 7 - Introduction to OpenStack & SDN by Ady Saputra

Neutron advantages

Advance Network Service

LBaaS, FWaaS, VPNaaS, etc.

Provide additional network features

rather than simple data transfer

(L2/L3)

Would like to insert such network

services on demand.

Use network services in “Cloud” style

(through API and on demand)

It fits into SDN.

NFV support ?

Page 19: 7 - Introduction to OpenStack & SDN by Ady Saputra

OpenStack & SDN

SDN controllers with OpenStack :

Controller on every compute node

SDN controller with OpenStack :

Centralized controller model

Page 20: 7 - Introduction to OpenStack & SDN by Ady Saputra

How to deploy

Public Clouds

Cloudwatt, DreamCompute, eNocloud, HP, Rackspace.

Local Dev Environment

http://devstack.org/

distributions powered by OpenStack

Cloudscaling, Debian, Fedora, Piston Cloud

Computing, RedHat, SwiftStack, SUSE, Ubuntu, Stackops

build from scratch

Page 21: 7 - Introduction to OpenStack & SDN by Ady Saputra

OpenStack Compute (nova): https://launchpad.net/nova

OpenStack Object Storage (swift): https://launchpad.net/swift

OpenStack Image Service (glance): https://launchpad.net/glance

OpenStack Identity (keystone): https://launchpad.net/keystone

OpenStack Dashboard (horizon): https://launchpad.net/horizon

OpenStack Networking (Neutron): https://launchpad.net/Neutron

OpenStack Block Storage service (cinder): https://launchpad.net/cinder

Ceilometer: https://launchpad.net/ceilometer

Heat: https://launchpad.net/heat

Database Service (Trove) - Scalable and reliable Cloud Database as a

Service provisioning functionality for both relational and non-relational

database engines

Bare Metal (Ironic) - Provides an API for management and provisioning of

physical machines.

Queue Service (Marconi) - message queueing API and service for distributed

application messaging

Data Processing (Savannah) – Hadoop on OpenStack

Page 22: 7 - Introduction to OpenStack & SDN by Ady Saputra

Demo