T-110.5121 Mobile cloud computing: OpenStack
Risto Laurikainen
CSC – IT Center for Science
Introduction
Open source tools to build an (Amazon-like) IaaS cloud
Provides an interface to resources
– Compute – Storage – Network
Modular design of various services
Message queue architecture: components
communicate using an AMQP message queue
Very active development with lots of companies
contributing: seen as an alternative to VMware
Simplified IaaS architecture
Frontend Network Cluster
nodes
Simplified IaaS architecture
Frontend Network Cluster nodes
Controls:
network, cluster nodes
Simplified IaaS architecture
Frontend Network Cluster nodes
Controls:
network, cluster nodes
Two separated types of traffic:
management, virtual machines
Simplified IaaS architecture
Frontend Network Cluster nodes
Controls:
network, cluster nodes
Two separated types of traffic:
management, virtual machines
Virtual machines running on hypervisors
Resources provided
Compute (Nova)
– nova-compute daemon runs on cluster nodes
– Launches virtual machines on hypervisor (KVM, Xen, Vmware ESX/ESXi etc.)
Storage (Swift/Cinder/Glance)
– Object storage – Block storage
– Virtual machine image storage
Network (Quantum)
– Creates virtual networks on top of physical networks to connect virtual machines
– Users can create their own network topologies with overlapping IP spaces
OpenStack Cactus, April 2011
OpenStack Essex, April 2012
OpenStack Folsom, September 2012
Interfaces and components
OpenStack APIs Component Manages
Compute API Nova Virtual machines
Object API Swift Files in object storage
Network API Quantum Virtual networks
Image API Glance VM images
Identity API Keystone Access rights
Block Storage API Cinder Virtual disks (iSCSI) Amazon APIs Component Manages
EC2 Nova VMs
S3 Swift Files in object storage
Virtual machine flavors
VM flavors define
Number of virtual CPUs Amount of memory
Additional storage space (“ephemeral disk”) Swap
Flavor is selected when a VM is launched
Flavors are defined by an administrator
Virtual machine images
Virtual machine OS disk is stored as an image The process of starting a virtual machine is
1.Create a base image on the VM host by copying it from the repository (Glance)
2.Create a copy-on-write copy of the base image 3.Create additional scratch space etc.
4.Boot using the copy of the base image
Step 1 can be skipped if the base image is
already on the host, in which case the VM boots
almost instantly
Storage options
Object storage
– Add files (objects) into central storage – Organized into buckets
– No file system
Block storage
– Virtual hard disk attachable to virtual machines over the network
– Can only be attached to one virtual machine at a time
– Data remains after the virtual machine has been shut down
Virtual machine local storage
– Virtual hard disks stored locally as image files on a machine that runs a virtual machine
– Data is lost after the virtual machine shuts down