7 - Introduction to OpenStack & SDN by Ady Saputra
-
Upload
sdnrg-itb -
Category
Technology
-
view
1.647 -
download
3
Transcript of 7 - Introduction to OpenStack & SDN by Ady Saputra
Intro to Openstack & SDN
Meetup 1 SDNRG ITBAdy Saputra | [email protected]
about
Ady Saputra | [email protected]
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
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
Openstack : Architecture
Neutron
Cinder
Nova
Horizon
keystone
Glance Swift
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 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
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 controllers with OpenStack :
Controller on every compute node
SDN controller with OpenStack :
Centralized controller model
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