Creating a Cloud Infrastructurewith OpenStackBruno Amaro Almeidawww.brunoamaro.comhttps://www.linkedin.com/in/brunoamaroalmeida
Agenda What is OpenStack Components Example Infrastructure Scalability What if? Demo
Who, When, What … OpenStack is a collection of open source software. Project started in 2010 Rackspace and NASA are the key initial contributors. Rackspace contributed their "Cloud Files" platform (code) to power the Object Storagepart of the OpenStack NASA contributed their "Nebula" platform (code) to power the Compute part. OpenStack consortium has managed to have more than 150 members includingCanonical, Dell, Citrix, AT&T, etc.
Components Nova (Compute Infrastructure) Glance (Imaging Service) Swift (Storage Infrastructure) Keystone (Identity Service) Horizon (Administrative Web-Interface)
Nova, Compute Infrastructure Functions and Features: Instance life cycle management Management of compute resources Networking and Authorization REST-based API Asynchronous eventually consistent communication Hypervisor agnostic : support for Xen, XenServer/XCP, KVM, UML, VMwarevSphere and Hyper-V
Glance, Imaging Service Allow to use any of these storage backends Local filesystem (default) OpenStack Object Store to store images S3 storage directly S3 storage with Object Store as the intermediate for S3 access. HTTP (read-only)
Swift, Storage Infrastructure Similar to Amazon Web Services - Simple Storage Service (S3) Functions and Features Storage of large number of objects Storage of large sized objects Data Redundancy Archival capabilities - Work with large datasets Data container for virtual machines and cloud apps Media Streaming capabilities Secure storage of objects Backup and archival Extreme scalability
Keystone, Identity Service Keystone provides identity and access policy services for allcomponents in the OpenStack family. Services Token Service (that carries authorization information about an authenticateduser) Catalog Service (that contains a list of available services at the users disposal) Policy Service (that lets keystone manage access to specific services byspecific users or groups).
Horizon, Administrative Web-Interface Services Instance Management - Create or terminate instance, view console logs and connect throughVNC, Attaching volumes, etc. Access and Security Management - Create security groups, manage keypairs, assign floatingIPs, etc. Flavor Management - Manage different flavors or instance virtual hardware templates. Image Management - Edit or delete images. Manage users, quotas and usage for projects. User Management - Create user, etc. Volume Management - Creating Volumes and snapshots. Object Store Manipulation - Create, delete containers and objects. (…)
Example Infrastructurenode0188.8.131.52Controller10.11.0.200storage10.11.0.[250-X]Virtual Instances10.11.3.XInternet
Scalability?node0184.108.40.206Controller10.11.0.200storage10.11.0.[250-X]More CPU power?+ NodesMore Storage?+ Storage Nodes(GlusterFS, HadoopFS)Internet
What if…?node0220.127.116.11Controller10.11.0.200storage10.11.0.[250-X]Node Crasha) Only instances running on that node are affectedb) Instance image still on gluster and not on nodeController crash?a) Can’t deploy new instances or access webinterfaceb) Instances running on controller are affectedc) Instances running on the nodes are ok Storage crash (e.g. GlusterFS)a) With replication factor of 3, it doesn’t matterb) Gluster rebalance the cluster.Internet
DEMO Install a controller (… using F-Secure EasyStack script) Add an image template Deploy multiple virtual instances Explore nova console commands Add a extra nova-compute node