Download as pdf or txt
Download as pdf or txt
You are on page 1of 22

Intro to Openstack & SDN

Meetup 1 SDNRG ITB


Ady Saputra | ady@comlabs.itb.ac.id
about
Ady Saputra | ady@comlabs.itb.ac.id

 Mahasiswa S2 Teknik Elektro ITB

 Ex-sysadmin Comlabs USDI-ITB

 “Proyektor”

 Openstack user (est. 2011)


Outline
 Intro
 Cloud computing

 Openstack
 What is it
 architecture

 Openstack & SDN

 How to deploy openstack

 Demo
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)
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
Cloud Computing : Essential
Characteristic
 On-demand self-service

 Rapid elasticity

 Ubiquitous network access

 Resource pooling

 Measured service
Cloud Computing : Delivery
Model

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


Cloud Computing :
Deployment Models
 Public cloud
 Private cloud
 Community cloud
 Hybrid cloud
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
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
Openstack : Release History
 Austin : Oct 2010  Havana : Oct 2013

 Bexar : Feb 2011  Icehouse : April 2014

 Cactus : April 2011  Juno : Oct 2014

 Diablo : Sept 2011  Kilo : April 2015

 Essex : April 2012

 Folsom : Sept 2012

 Grizzly : April 2013


Openstack : Architecture
Horizon

Neutron
Nova Glance Swift

Cinder
keystone
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.
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, ...)
Neutron Component Neutron Server
• Runs on Controller node.
Exposes
• Passes requests API. Enforces network model.
•Neutron Plugin to Neutron plugin.

• Runs on Controller node.


• Implements the API.
• database andneutron
Interacts with server,
agents.
Queue
• Enhance communication between
each components of neutron
Database
•PluginPersistent network model
agent (*)
Run
• Connect on each compute node
•DHCP Agent (*) instances to network port

• Start/stop dhcp server


Maintain dhcp configuration
•L3 Agent (*)
• To implement floating IPs and other L3
features, such as NAT
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
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 ?
OpenStack & SDN
SDN controller with OpenStack :
Centralized controller model

SDN controllers with OpenStack :


Controller on every compute node
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


 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
Demo

You might also like