“OpenStack”
Alberto Molina Coballes
Teacher at IES Gonzalo Nazareno @alberto_molina [email protected]
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