Introduction to OpenStack & SDN by Ady Saputra, presented at 1st SDNRG ITB Meetup in 1st November 2014
Report
Share
Report
Share
1 of 22
More Related Content
7 - Introduction to OpenStack & SDN by Ady Saputra
1. Intro to Openstack & SDN
Meetup 1 SDNRG ITB
Ady Saputra | ady@comlabs.itb.ac.id
2. about
Ady Saputra | ady@comlabs.itb.ac.id
Mahasiswa S2 Teknik Elektro ITB
Ex-sysadmin Comlabs USDI-ITB
“Proyektor”
Openstack user (est. 2011)
3. Outline
Intro
Cloud computing
Openstack
What is it
architecture
Openstack & SDN
How to deploy openstack
Demo
4. 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)
6. 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
8. Cloud Computing : Delivery
Model
Openstack technology 101, Boston OpenStack Meet-up, Feb 19, 2014
9. Cloud Computing :
Deployment Models
Public cloud
Private cloud
Community cloud
Hybrid cloud
10. 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
11. 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
12. 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
14. 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.
15. 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, ...)
16. Neutron Component
Neutron 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
17. 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
18. 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 ?
19. OpenStack & SDN
SDN controllers with OpenStack :
Controller on every compute node
SDN controller with OpenStack :
Centralized controller model
20. 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
21. 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