1 open stack cloud system lecture 7. 2 what is openstack it is not a single open source project it...
DESCRIPTION
3 What is OpenStack A group of open source projects aimed at providing comprehensive cloud services There are currently seven core projects within OpenStack More projects are in “incubation” phase All these projects communicate via public APIs It is supported by the OpenStack Foundation, an independent legal entity Released under Apache License Source:TRANSCRIPT
1
Open Stack Cloud SystemLecture 7
2
What is OpenStack
It is not a single open source project
It is not a hypervisor
It is not a storage platform
It is not (necessarily) competitive to VMware
3
What is OpenStack
A group of open source projects aimed at providing comprehensive cloud
services
There are currently seven core projects within OpenStack
More projects are in “incubation” phase
All these projects communicate via public APIs
It is supported by the OpenStack Foundation, an independent legal entity
Released under Apache License
Source: http://ilearnstack.com/2013/04/23/introduction-to-openstack-2/ http://www.openstack.org/
4
Virtual Machine: A software package, sometimes using hardware
acceleration, that allows an isolated guest operating system to run
within a host operating system
Stateless: Once shut down, all HW states disappear
Hypervisor: A software platform that is responsible for creating,
running, and destroying multiple virtual machines
OpenStack is hypervisor agnostic
Type I and Type II hypervisor
VM and Hypervisor
5
Type 1 and Type 2 Hypervisors
6
Disk images that can be booted on a virtual machine by a hypervisor.
Can be a single image that contains boot loader, kernel and operating system.
Boot loader and kernel can be separated.
Allows for custom kernels and resizable images.
REST (REpresentational State Transfer) is an architectural style, and an
approach to communications that is often used in the development of web services
REST is often preferred over the more heavyweight SOAP (Simple Object Access
Protocol) style
REST does not leverage as much bandwidth, which makes it a better fit for use
over the Internet
Virtual Machine Images and REST
7
Object Storage the way in which we organize and
work with units of storage, called objects
Every object contains three things data itself, metadata
and unique identifier
Static Web content, data backups and archival images,
and multimedia (videos, pictures, or music) files are best
stored as objects
Block Storage files are split into evenly sized blocks
of data
each with its own address but with no additional
information (metadata) to provide more context for what
that block of data is
Object Storage vs Block Storage
8
Features and Benefits of Openstack
Instance life cycle management i.e. Run, reboot, suspend, resize and terminate instances
Management of compute resources i.e. CPU, memory, disk, and network interfaces.
Management of Local Area Networks
API with rate limiting and Authentication to manage who has access to compute resources
and prevent users from impacting each other with excessive API utilization
Distributed and asynchronous architecture for massively scalable and highly available
system
Virtual Machine (VM) image management i.e. store, import, share, and query images
Floating IP addresses i.e. Ability to assign (and re-assign) IP addresses to VMs
Security Groups i.e. flexibility to assign and control access to VM instances by creating
separation between resource pools
Role Based Access Control (RBAC) to ensure security by user, role and project
REST-based API
http://www.openstack.org/
9
Openstack Components
• http://applycloud.blogspot.kr/2013/05/openstack-components.html, 24th May 2013 by pachu
Code name
Project name
10
Openstack Components OverviewCore Components
Component Name Purpose DescriptionNova Compute Provides virtual servers on demand
Quantum Network Provides network connectivity as a service between interface devices managed by other Openstack services
Swift Object Store Provides object storage. It allows you to store or retrieve files ( but not mount directories like a fileserver)
Cinder Block Storage Provides persistent block storage to guest VMs
Glance Image Repository Provides a catalog and repository for virtual disk images
Horizon Dashboard Provides a modular wen based user interface for all Openstack services
Keystone Identity Provides authentication and authorization for all the Openstack services
Under Development ComponentsCeilometer Metering Central collection from metering / monitoring data
Heat Orchestration Template based orchestration engine for Openstack
• http://applycloud.blogspot.kr/2013/05/openstack-components.html, 24th May 2013 by pachu
11
OpenStack is comprised of seven core projects that form a complete IaaS solution
• http://ken.pepple.info/openstack/2012/09/25/openstack-folsom-architecture/• http://www.openstack.org/
IaaS
Components Interaction
12
Source: http://ilearnstack.com/2013/04/23/introduction-to-openstack-2/ http://www.openstack.org/
Horizon – Dashboard Modular web-based user interface for all the OpenStack services
Operations launching an instance, assigning IP addresses and setting access controls
can be performed over cloud
13
Keystone is a framework for authentication and authorization for all the OpenStack services.
Key Capabilities Keystone handles API requests
Provides configurable catalog, policy, token
and identity services.
It provides the ability to add
tenants - users groups
manage permissions between users
and groups
Permissions include the ability to
launch and terminate instances
Keystone – Identity
Source: http://ilearnstack.com/2013/04/23/introduction-to-openstack-2/ http://www.openstack.org/
14
Key Components nova-api a RESTful API web service which accepts
incoming commands to interact with the OpenStack
cloud
nova-compute a worker daemon which creates and
terminates virtual machine instances via Hypervisor’s
APIs
nova-scheduler takes a request from the queue
and determines which compute server host it should
run on
Nova – Compute
Source: http://ilearnstack.com/2013/04/23/introduction-to-openstack-2/ http://www.openstack.org/
Main part – core component and one of 1st projects
Most complicated and distributed component
Delivers a fully featured, redundant, and scalable cloud computing platform
A large number of processes cooperate to turn end user API requests into
running virtual machines
15Source: http://ilearnstack.com/2013/04/23/introduction-to-openstack-2/ http://www.openstack.org/
nova-conductor : Provides services for nova-compute, such as completing database updates and
handling long-running tasks
nova database : It stores most of the build-time and run-time state for a cloud infrastructure.
Queue : Provides a central hub for passing messages between daemons. This is usually implemented
with RabbitMQ.
Console services : Allows end users to access their virtual instance’s console through a proxy. This
involves several daemons (nova-console, nova-novncproxy and nova-consoleauth).
nova-network : it’s a worker daemon very similar to nova-compute. It accepts networking tasks from
the queue and then performs tasks to manipulate the network (such as setting up bridging interfaces or
changing iptables rules). This functionality is being migrated to Quantum, a separate OpenStack
service.
nova-volume : Manages creation, attaching and detaching of persistent volumes to compute
instances. This functionality is being migrated to Cinder, a separate OpenStack service.
Nova – Compute ( Key Components)
16
Key Capabilities glance-api accepts Image API calls for image
discovery, image retrieval and image storage
glance-registry stores, processes and retrieves
metadata about images (size, type, etc.)
glance database A database to store the image
metadata
storage repository for the actual image files.
Glance supports normal file systems, RADOS block
devices, Amazon S3, HTTP and Swift
Glance – Image store
Source: http://ilearnstack.com/2013/04/23/introduction-to-openstack-2/ http://www.openstack.org/
Provides discovery, registration and delivery services for disk and server images
17
Key Capabilities quantum-server accept API requests and route them
to the correct quantum plugin
Plugins and agents perform actual actions, like
plug/unplug ports, creating networks and subnets and
IP addressing
message queue to route info between quantum-
server and various agents
quantum database to store networking state for
particular plugins
Source: http://ilearnstack.com/2013/04/23/introduction-to-openstack-2/ http://www.openstack.org/
Provides “ network connectivity as a service ” between interface devices
Allows users to create their own networks and then attach interfaces to them
Pluggable architecture to support many popular networking vendors and
technologies
Quantum – Network
18
Key Capabilities cinder-api accepts requests and routes them to cinder-
volume for action.
cinder-volume reacts reading or writing to the cinder
database to maintain state, interacts with other
processes (like cinder-scheduler) through a message
queue and directly on block storage providing hardware
or software.
cinder-scheduler picks the optimal block storage node
to create the volume on.
messages queue route information between Cinder
processes.
cinder database store volumes
Source: http://ilearnstack.com/2013/04/23/introduction-to-openstack-2/ http://www.openstack.org/
Cinder allows block devices to be exposed and connected to compute instances
for expanded storage & better performance
Cinder – Block Storage
19
Key Capabilities Swift Proxy server accepts incoming requests, like
files to upload, modifications to metadata, container
creation, container listing etc.
Accounts server manage accounts defined with the
object storage service
Container servers manage a mapping of containers,
folders, within the object store service
Object servers manage actual objects, files, on the
storage nodes
Source: http://ilearnstack.com/2013/04/23/introduction-to-openstack-2/ http://www.openstack.org/
Object store allows you to store or retrieve files.
It provides a fully distributed
API-accessible storage platform that can be integrated directly into applications
or used for backup, archiving and data retention
Swift – Object Storage
20
Ceilometer, Heat and Trove
Ceilometer: Monitors and meters the OpenStack cloud for billing,
benchmarking, scalability, and statistical purposes
Heat: Orchestrates multiple composite cloud applications by using
either the native HOT template format or the AWS Cloud Formation
template format, through both an OpenStack-native REST API and a
Cloud Formation-compatible Query API
Trove: Provides scalable and reliable Cloud Database-as-a-Service
functionality for both relational and non-relational database engines
http://www.openstack.org/
21
VM Creation Process
Two Minutes Video
22
VM Creation Process
23
Openstack Release History
Austin 21 October 2010
Bexar 3 February 2011
Cactus 15 April 2011
Diablo 22 September 2011
Essex 5 April 2012
Folsom 27 September 2012
Grizzly 4 April 2013
Havana 17 October 2013
Icehouse 17 April 2014
Juno October 2014
K-series April 2015
24
Complete List with User Stories : http://www.openstack.org/user-stories/
Web / SaaS/ eCommerce : PayPal , HP , Wikimedia , etc.
Academic / Research / Government : Argonne National Labs, CERN,
MIT Computer Science & Artificial Intelligence Lab (CSAIL)
Information Technology: HP, IBM, Cisco, eNovance, Opera Software,
Seagate, Aptira, etc.
Film / Media / Gaming : Comcast , Sony Gaming Network.
Who is Using Openstack
25
Openstack Deployment
Controller Node: Responsible for most of the openstack services and can be
defined as nerve center. All requests are routed through this node
Compute Node: Responsible for managing virtual machines. Hypervisor is
runs on compute node
26
Networking Requirements
For an OpenStack production deployment, most nodes must have
these network interface cards:
One network interface card for external network traffic
Another card to communicate with other OpenStack nodes.
For simple test cases, machine with a single network interface card
can also be used
Controller and compute node uses the physical IP and virtual IP
addresses
27
Services Installation
Controller Node Compute Node
Mysql Server Mysql-client
RabbitMQ (Queuing) Nova-compute
Keystone (Authentication)
Glance (Image)
Nova-api
Nova-cert
Nova-consoleauth
Nova-scheduler
Nova-conductor
Nova-novncproxy
Dashboard (Horizon)
Cinder (Block Storage)
28
Thanks