OpenStack Alberto Molina Coballes Teacher at IES Gonzalo Nazareno alb.molina@gmail.com @alberto_molina
Table of Contents From public to private clouds Open Source Cloud Platforms Why OpenStack? OpenStack architecture and components OpenStack in action Private cloud administration References OpenStack Doc: docs.openstack.org http://iesgn.github.io/cloud/
From public to private clouds
The NIST Definition: Essential characteristics On demand self-service Broad network access Resource pooling Rapid elasticity Measured service
The NIST Definition: Deployments models Public cloud Private Cloud Community Cloud Hybrid Cloud
The NIST Definition: Service model Software as a Service (SaaS) Platforms as a Service (PaaS) Infrastructure as a Service (IaaS) Reference The NIST Definition of Cloud Computing
Source: blog.brightpattern.com
Maybe it's clearer with this analogy ;)
Why private cloud is needed? Public clouds are fine but some points must be considered carefully: Privacy Security Vendor lock-in Control over data Customization Performance? Overall Cost? A private or hybrid cloud may be an option to take into account
Infrastructure as a Service Public cloud providers: AWS, GCE & Azure. Is there room for someone else? Private Cloud: VMware and Open Source platforms In this talk we will focus on IaaS and private cloud, mainly in an Open Source Cloud Platform called OpenStack
Open Source Cloud Platforms
CloudStack Former cloud.com Purchased by citrix on 2011 Donated to Apache Software Foundation on 2012 Supports VMware, KVM, XenServer, XCP and Hyper-V Easy to use Web interface Compatible with AWS EC2 and S3 APIs
Eucalyptus Oldest and most mature? Open Source Cloud platform Focus on AWS compatibility Licensing issues in the past (Open core?) Supports VMware, KVM and Xen euca2ools: AWS compatible CLI Developed by Eucalyptus Systems
OpenNebula Data Center Virtualization Software Claim to be a VMware vcloud competitor Compatible with AWS EC2 API OpenNebula Marketplace Developed by OpenNebula Community Easier to install and configure?
OpenStack Next item in detail
Why OpenStack?
OpenStack Openstack is an open-source IaaS cloud computing platform. Its mission is to provide a flexible solution for both public and private clouds of any size, and for this matter two basic requirements are considered: clouds must be simple to implement and massively scalable.
OpenStack releases Name Release date New components Austin October 2010 Nova and Swift Bexar February 2011 Glance Cactus April 2011 Diablo September 2011 Essex April 2012 Horizon, Keystone Folsom October 2012 Quantum, Cinder Grizzly April 2013 Havana October 2013 Neutron, Heat, Ceilometer Icehouse April 2014 TripleO, Ironic, Trove, Marconi
OpenStack principles All of the code for OpenStack is freely available under the Apache 2.0 license Support all Available Hypervisors Implement REST APIs and Open Image Format Open design process: Blueprints Public repositories (github) Commitment to drive and adopt open standards Open community and transparency
Source: cloudscaling Companies Supporting The OpenStack Foundation
Why OpenStack? We want to manage our own software to provide IaaS Open Source Stable project, well supported by companies and with a promising future It has a lot of functionalities Works fine on conventional hardware Easy to install (ha!)
OpenStack architecture and components
OpenStack components Core components Compute (nova) Object Storage (swift) Identity (keystone) Image (glance) Block Storage (cinder) Dashboard (horizon) Networking (neutron) Other components DBaaS (trove) DNSaaS (designate) Orchestration (heat) Metering (ceilometer) Baremetal (ironic) TripleO Queue and Notif (zaqar)
OpenStack in action
Demo Image overview ssh keypair management Security groups Instances Volumes Command line interface
Private cloud administration
Enterprise legacy applications Not fault-tolerant Must run on smart hardware Typically scales up Runs on long-lived machines (virtual or not) Redundancy provided by a lower level
Cloud ready applications Fault-tolerant (resilience) Typically runs on short-lived machines Scale out Elasticity Smart applications Conventional hardware Automation Agility DevOps
Cloud ready or legacy applications? Nowadays most of the applications used are not cloud ready IaaS is an evolution of virtualization for legacy applications (virtualization 2.0) Block storage is a SAN equivalent Load balancers vs high availability clusters Re-architecting legacy applications
Cloud administration The main purpose of a system administrator is to keep applications up and running properly and never lost data In this area there are two differents profiles: Cloud application system administrator: Deploys and maintains applications running on the cloud Cloud system administrator: Manages the cloud platform
Cloud application system administrator Common to public or private clouds Overall knowledge of cloud resources REST APIs, specifically AWS de facto standard Cloud Orchestration: Cloudformation Image Management and transformation Instance life cycle Object Storage Block Storage Monitoring Automation Configuration management
Cloud system administrator Not for juniors ;) Deep knowledge of underlying technologies: virtualization, networking and storage Monitoring Automation Configuration management
Thanks Alberto Molina Coballes Teacher at IES Gonzalo Nazareno @alberto_molina alb.molina@gmail.com