SlideShare a Scribd company logo
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)
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
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 
Horizon 
Nova 
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 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
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

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
  • 7. Cloud Computing : Essential Characteristic  On-demand self-service  Rapid elasticity  Ubiquitous network access  Resource pooling  Measured service
  • 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
  • 13. Openstack : Architecture Neutron Cinder Horizon Nova keystone Glance Swift
  • 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
  • 22. Demo