"Web Age Speaks!" Webinar Series

Getting to know OpenStack Introduction  Mikhail Vladimirov  Director, Curriculum Architecture  [email protected] Web Age Solutions  Providing a broad spectrum of regular and customized training classes in programming, system administration and architecture to our clients across the world for over ten years

©WebAgeSolutions.com 2 Overview of Talk

What is the Cloud concepts, types and features OpenStack Background Services What is new in Grizzly Release (April 2013)

©WebAgeSolutions.com 3 Getting to Know OpenStack

What is the Cloud The Cloud: what’s in a name?

The cloud-like shape used in logical/conceptual/abstract system diagrams lent its name to represent the IT (computing) Cloud. A metaphor for the

Cloud

©WebAgeSolutions.com 5 Electrical Power Distribution Analogy

 Computing Cloud concept is similar to the electrical power grid that generates and delivers electricity from suppliers to consumers, where  Power stations are data centers  Transmission lines are the network  Consumer electrical appliances are client applications  Electrical power is available on demand  Power distribution is a utility service  Clients pay as per “as you go” model  Much more efficient and reliable then managing your own power generator

©WebAgeSolutions.com 6  The Cloud offers computing resources (hardware and software) delivered over a network (typically, the Internet)

©WebAgeSolutions.com 7 Cloud Computing

 Ideas behind cloud computing are drawn from experience and insights gained from running large data centers and hosting services, convergence of grid-like federation of system resources and virtualization technology  Grid-computing resource mobilization helps with resource provisioning on service demand  Virtualization (a way to abstract hardware from software) helps with consolidation for better resource utilization, management and driving operational costs down  Mainframes were the fore-fathers of the Cloud  IBM positions IBM System z as a cloud platform of choice

©WebAgeSolutions.com 8 Cloud Computing Features

Cloud infrastructure is built to rapidly scale up and down, on service demand True elastic capacity provisioning Amazon even put “elastic” in its commercial cloud service offering: Elastic Compute Cloud (EC2) No capital expenditures for clients Pay as you go model Faster time to market Aids in business agility

©WebAgeSolutions.com 9 Cloud Service Models

Collaboration, CRM, Email, Image processing, etc. Adobe Creative Cloud, Apple iCloud, , Gmail, … (SaaS) Runtime(s), Queues, Object Storage, Dev tools, Web/DB server (PaaS) AWS Beanstalk, Azure, CloudFoundry, GAE … Infrastructure As a Service Low-level system resource (IaaS) provisioning: compute (VMs), block Metal As a Service storage, network, load balancing AWS, Azure, Compute (MaaS) Engine, RackSpace, OpenStack

Hardware provisioning to support agile IaaS ops

©WebAgeSolutions.com 10 Cloud Deployment Models

Private Cloud – (corporate) cloud computing infrastructure behind Public Cloud - cloud infrastructure available to the general public; owned by an organization in business of selling cloud services Hybrid Cloud - composition of two or more clouds of different deployment model types (e.g. private + public) Other models exist, e.g. the Community Cloud

©WebAgeSolutions.com 11 Cloud Deployment Models

©WebAgeSolutions.com 12 Getting to Know OpenStack

OpenStack OpenStack background

 OpenStack is an open-source IaaS cloud computing project with a mission:  "Provide ... massively scalable, elastic cloud computing for both public and private clouds...large or small"  Started by Rackspace and National Aeronautics and Space Administration (NASA) in 2010.  NASA donated nova cloud computing fabric controller  Rackspace donated (Swift)  With support form more than150 companies, OpenStack is becoming the de facto standard for open- source cloud infrastructure.  Released in both the and Linux distributions.  Currently, the project is in very active development.

©WebAgeSolutions.com 14 OpenStack main services

OpenStack has a modular architecture that includes the following components/services

OpenStack Services as of the Folsom release

©WebAgeSolutions.com 15 Compute (Nova)

 Cloud computing fabric controller for OpenStack  Functionally similar to Amazon's EC2.  Supports Amazon WS RESTful API.  Manages the life cycle of virtual machine instances (launch, stop, reboot).  Consists of a number of modules that collaborate in the compute layer of the cloud and are named as nova-  nova-api, nova-compute, nova-volume*, nova-network*, etc.  Interacts with cloud infrastructure components that require asynchronous communication via AMQP (Advanced Message Queue Protocol).  Commercial versions of this component are available from Rackspace and HP.

* - deprecated, to be retired

©WebAgeSolutions.com 16 Compute (Nova) command -line

Nova client offers simple and intuitive command-line interface (CLI) $ nova list # get the list of virtual instances in the current cloud project (tenant) $ nova boot Instance_Name --image # boot a virtual instance named Instance_Name from OS image identified by ID $ nova pause # pause the instance; the VM state is preserved in memory, all activities stopped until the instance is re-launched (un-paused)

©WebAgeSolutions.com 17 Image (Glance)  Provides catalog and repository services for virtual disk images used by Compute (Nova) to create virtual instances.  Uses a (usually, MySQL) to store image metadata (image location, size, name, etc.).  For image store, Glance can use standard file systems, and can also be configured to use the Object Store (Swift) as a back-end (some of the options are for read-only operations).  Glance offers an HTTP connector for image uploads  The maximum image size that may be uploaded via HTTP connector is 1TB.  Glance has a modular architecture  Glance API for image search, retrieval and storage is provided by the glance-api module  Meta-information about images (name, size, type, etc.) is handled by the glance-registry module

©WebAgeSolutions.com 18 Object Store (Swift)  Distributed and eventually consistent object store for blobs, files, virtual disk images from Glance (optional)  Similar to Amazon S3  Production ready system  Swift was originally written by Rackspace for their cloud file system and donated to OpenStack project  Massively scalable both in the store size and capacity (number of objects stored).  was a critical factor in NASA’s decision to stop using another open-source cloud project,  Has built-in redundancy and fail-over mechanisms.  Provides an HTTP connector with a RESTful API to store and retrieve objects.  Provides back-up and archival capabilities.

©WebAgeSolutions.com 19 Components of Swift  Account server  Maintains a list of containers (a concept similar to directories on a file system with the primary difference being that containers cannot be nested)  Container server  Maintains a list of objects in a container; tracks object statistics (e.g. their numbers)  Object Server  A blob store for objects. Objects are typically binary files stored in the file system along with their metadata in the form of extended file attributes (xattr) as supported by the underlying OS  Currently (Folsom release), the object server can store objects under 5 GB; support for large objects is in the works  Proxy server(s)  Consumers interact with Swift via proxy server(s) using the Swift API or raw HTTP(s) with requests like file upload, container creations, etc.  The Ring  Contains the mapping of names of entities and their physical location

©WebAgeSolutions.com 20 Components of Swift

©WebAgeSolutions.com 21 Block Storage (Cinder)  Persistent block storage for guest VMs managed by Compute (Nova)  Similar to SAN (Storage Area Network) - files are accessed over network using low-level I/O bus interfaces (SCSI or ATA)  Conceptually similar to Amazon EC2’s Elastic Block Storage (EBS)  Takes over the job of the Compute's nova-volume module in older versions of OpenStack for providing volumes for virtual instances created by Nova  The Cinder API allows for changing volumes types (similar to image flavors) and creating volume snapshots

©WebAgeSolutions.com 22 Identity (Keystone)

Provides authentication and authorization services for all OpenStack services Acts as a service catalog of endpoints for consumption by other OpenStack system components The keystone module handles API requests as well as provides configurable catalog, policy, token and identity services

©WebAgeSolutions.com 23 Keystone

©WebAgeSolutions.com 24 Network (Quantum)  Provides virtual networking for Nova  As of the Folsom release, Quantum is part of the core OpenStack platform  Provides an SPI (service provider interface) mechanism for various network technology implementations to be transparently plugged into the networking infrastructure and accessed through common API

Source: http://www.slideshare.net/danwent/openstack-quantum-intro-os-meetup-32612

©WebAgeSolutions.com 25 Dashboard(Horizon)  Web interface to administer OpenStack services.  Built using Django (a web application framework written in Python)  Features:  Access and security management • Security groups, keypairs, floating IPs assignment, etc.  Flavor (virtual instance hardware profile) management  Image management  Service catalog viewing  User, quota and project usage management  Volume management • Volume and snapshot creation  Object store manipulation • Create, delete containers and objects  Download environment variables for a project

©WebAgeSolutions.com 26 Launching an instance in Horizon

©WebAgeSolutions.com 27 Pulling it all Together

 (Greatly) Simplified Conceptual Architecture of OpenStack

©WebAgeSolutions.com 28 Services in OpenStack  A service in OpenStack is an application (or a suite of inter-related applications) deployed in the cloud and sometimes set up to run as a system service (daemon).  Canonical, the company behind Ubuntu, aims at taking complexity out of service packaging and deployment in the cloud by offering a deployment tool called Juju along with more than 100 charms (service installation packages).  Some of the more popular charms are:  Tomcat (Java Web Server)  MySQL (database engine)  Ruby on Rails (Ruby Web framework)  Jenkins (continuous integration server and slaves)  MongoDB (NoSQL data store) ©WebAgeSolutions.com 29 Services in OpenStack Installing a service is as simple as running a simple Juju script:  e.g. the "juju deploy mysql" one-liner installs MySQL from the mysql charm Once a service is installed, it can be interrelated with other services  E.g. the following commands will use mysql and wordpress (blogging system) charms to install MySQL and WordPress services and then configure MySQL to be WordPress's data store. juju deploy mysql juju deploy wordpress juju add-relation wordpress mysql  Establishing such service inter-relationships is referred to as "Service Orchestration".

©WebAgeSolutions.com 30 Services and Applications in OpenStack

©WebAgeSolutions.com 31 OpenStack releases (A,B,C, …)

Release Due date

Deprecated

©WebAgeSolutions.com 32 OpenStack Roadmap

October 2013: Havana Software Release Havana Roadmap Highlights: Metering (Ceilometer): Centralized usage metering/monitoring data collection (used in billing) Services Orchestration (Heat): Template-based orchestration engine for OpenStack where designers and developers can define application deployment LBaaS (Load-balancer-as-a-Service) is a Quantum extension that introduces load balancing feature set into the core

©WebAgeSolutions.com 33 Grizzly: OpenStack’s 7th Release

Delivered by the global team of 517+ developers http://www.openstack.org/software/grizzly/

©WebAgeSolutions.com 34 Grizzly: Compute (Nova)

Improved production operations at greater scale based on the “Cell” concept to manage distributed clusters The “NoDB” host architecture to minimize reliance on a central database Added support for multiple hypervisors, including ESX, KVM, , and Hyper-V Additional functionality added for bare metal provisioning Added the ability to hot add/remove network devices

©WebAgeSolutions.com 35 Grizzly: Block Storage (Cinder)

Centralized management of heterogeneous storage environments. Elastic block storage allocation based on the workload with a new intelligent scheduler Community added drivers for a range of backend storage devices: Ceph/RBD Red Hat/ EMC Hewlett-Packard IBM, etc.

©WebAgeSolutions.com 36 Grizzly: Block Storage (Cinder)

©WebAgeSolutions.com 37 Grizzly: Networking (Quantum)

The area of major improvements Addition of support for Big Switch, PlumGrid, Brocade and Midonet, etc. A new load-balancing-as-a-service (LBaaS) framework and API Solid foundation for innovation and integration with OpenStack

©WebAgeSolutions.com 38 Grizzly: Networking (Quantum)

©WebAgeSolutions.com 39 Grizzly: Dashboard (Horizon)

Extended multilingual support Support for new features across OpenStack clouds: E.g. Networking and LBaaS Backwards compatible with the Folsom release, allowing users to take advantage of additional features in their Folsom cloud prior to a full upgrade to the latest version

©WebAgeSolutions.com 40 Grizzly: Network Topology

©WebAgeSolutions.com 41 Grizzly: Image (Glance)

Support for an extended set of common properties on images  Improved image retrieving performance

©WebAgeSolutions.com 42 Grizzly: Object Storage (Swift)

Added automatic control of the growth of object storage environments Support for the ability to perform bulk operations for ease of large cluster deployment and management Added cross-origin resource sharing (CORS) to enable browser connections directly to the back-end storage environment which improves the performance and scalability of web- integrated object storage clusters

©WebAgeSolutions.com 43 Grizzly: Identity(Keystone)

 Major performance improvements  Added new token format based on standard PKI functionality  Ability to perform offline token authentication by clients without requiring additional Identity service calls  Better organization and management of multi- tenant environments  support for groups, impersonation, role-based access controls (RBAC), and greater capability to delegate administrative tasks

©WebAgeSolutions.com 44 Getting to Know OpenStack

Our Offerings Cloud computing and solutions offerings

 WA1826 Designing Cloud Solutions (2 days)

 WA1929 Cloud Computing for Architects (4 days)

©WebAgeSolutions.com 46 Summary

In this session, we: Reviewed main Cloud types, features and deployment models Explored OpenStack’s services Looked at what is new in the Grizzly release

©WebAgeSolutions.com 47