cloud orchestration major tools comparision
DESCRIPTION
Cloud Orchestration major tools comparison (including history, installation, market share, integration with other public cloud system for each tool) For any clarification contact [email protected]TRANSCRIPT
Email: [email protected]
Eucalyptus
• Elastic Utility Computing Architecture Linking Your Programs To Useful Systems
• Virtual Grid Application Development Software project • Open source software for building AWS compatible private and hybrid
clouds
Email: [email protected]
Eucalyptus Architecture: Components
• Modular, Distributed and highly scalable• Six Distinct component that can be deployed in various architectures
Cloud Controller
CLCWalrus
Cluster Controller CC
Storage Controller SC
VM Ware Broker
optional
Node Controller
VM VM
Node Controller
VM VM
Node Controller
VM VM
Cloud
ClusterAvailability Zone
Nodes
Two components many user components small transactions per component
scalability
Many componentsFewer users per componentLarger transaction per component
Cloud Controller
• Administrative interface for cloud management• Manages authenticates, provisioning, scheduling, accounting,
reporting and quota management• Accepts user API requests from CUI based( like euca2ools) or GUI
based tools (like hybrid box)• Only one cloud controller can be active per cloud
Email: [email protected]
Walrus
• Persistent storage shared across a cloud infrastructure• No Data type restriction (contains images, volumes, snapshot and
application data)• Can be used as HTTP put/get storage as a service • Only one walrus can be active per cloud• Eucalyptus equivalent to amazon S3
Email: [email protected]
Clusters
• Also known as availability zones• A subset of cloud that share single LAN• Each cluster
• A single broadcast domain• Supports a single Hypervisor• Support single SLA• Offers a fixed amount resource
• Aggregation of node controller computer/network resources• Controlled via quotes and user access controller
Cloud layer components
Cluster 1 components
Cluster 2 components
Email: [email protected]
Cluster Controller
• Front end for a cluster within the cloud• Manages the compute node (node
controllers) in the cluster• Manages virtual instance execution• Each cluster can have only active cluster
controller
Manages• Node controllers• Instance execution• Instance networking• SLAS
Email: [email protected]
Storage Controller
• Manages EBS (Eucalyptus Block Storage ) volumes and snapshots
• Makes persistent volumes (virtual disks) available to instances
• Sends volumes snapshots to walrus• Each cluster can have only one active
storage controller• Equivalent to Amazon EBS (Elastic Block
Storage)
Manages• Volumes• Snapshots• iSCSI SANs
Volume Instance
Email: [email protected]
Node Controller
• Web service running in Apache• Manages Hypervisors (XEN, KVM etc.)• Manages Virtual machine instances• No software limit to number of node
controllers per cluster• Performance limits exists
Manages
Instance
VM VM VM
Libvirt API
Email: [email protected]
Eucalyptus Security
• Component registration since architect is not monolithic• The Cloud stack baseline
• VLAN• API PKI• VM SSH
Email: [email protected]
Eucalyptus High Availability
• Failover, not load balanced• Eight Controller machines at
cloud/cluster lever• Storage redundancy relies on
SAN vendor• Arbitrators monitor connectivity
to CLC, Walrus and CC
Email: [email protected]
Sample Architecture: Maximum Eight Clusters
Node Controller
VM VM VM
Node Controller
VM VM VM
Node Controller
VM VM VM
SAN
CC SC
Node Controller
VM VM VM
Node Controller
VM VM VM
Node Controller
VM VM VM
SAN
CC SC
CLC Walrus
Email: [email protected]
Eucalyptus Installation Steps• Build physical network, storage nodes, Hypervisor• Open firewall ports on cloud component nodes (CLC to Walrus, CC to
NC etc.) • Setup yum/dpkg repositories (eucalyptus.repo)• RPM/ apt-get installation of eucalyptus components• Configure eucalyptus.conf• Euca.conf: create postgres db• Register components and arbitrators• HA: Configure DRBD
Email: [email protected]
Eucalyptus Functionalities• Cloud Bursting: Create additional resource for your cloud using
resource from another cloud• Migration environments: Exporting date (images, volumes,
configuration etc.) from stage to production environment• Disaster Recovery: Primacy site is eucalyptus cloud and secondary in
on another cloud• Eucalyptus supports DAS and SAN devices to take advantage of
storage arrays to improve performance and reliability. • Eucalyptus Machine Images can be backed by EBS-like persistent
storage volumes, improving the performance of image launch time and enabling fully persistent virtual machine instances.
Email: [email protected]
Eucalyptus Functionalities
• User Self Service portal to provision and configure compute, network, and storage resources.
• Built-in key management and encryption capabilities. Access to virtual instances is available using familiar SSH and RDP mechanisms.
• Virtual instances with application configuration can be stopped and restarted using encrypted boot from EBS capability.
• IaaS service components Cloud Controller, Cluster Controller, Walrus, Storage Controller, and VMware Broker are configurable as redundant systems that are resilient to multiple types of failures.
Email: [email protected]
Eucalyptus Functionalities
• Management state of the cloud machine is preserved and reverted to normal operating conditions in the event of a hardware or software failure.
• Users can build a library of Eucalyptus Machine Images (EMIs) with application metadata that are decoupled from infrastructure details to allow them to run on Eucalyptus clouds.
• Amazon Machine Images are also compatible with Eucalyptus clouds. • VMware Images and vApps can be converted to run on Eucalyptus clouds and
AWS public clouds.• Role base access control through identity management (MS active directory or
LDAP)
Email: [email protected]
Email: [email protected]
Openstack
• Joint Project with Rackspace and NASA• Launched in June 2010• Enables anyone to create and offer cloud computing services• Many corporations joined
Email: [email protected]
Openstack Software Architecture
Email: [email protected]
Openstack Architecture: Components
1 Compute (Nova)2 Object Storage (Swift)3 Block Storage (Cinder)4 Networking (Neutron)5 Dashboard (Horizon)6 Identity Service (Keystone)7 Image Service (Glance)8 Telemetry (Ceilometer)9 Orchestration (Heat)
Email: [email protected]
Openstack Software ArchitectureHorizon
Rabbit-mq
rdbms
Nova API
Nova Compute
Nova Volume
Nova Network
Nova Scheduler
Hypervisor
VM
VM
VMVM
VM
VMVM
Swift Account
Swift Container
Swift Object
Swift Proxy
Glance Control
Glance registry
Keystone: Identity, Token, Catalog, Policy
Email: [email protected]
Release name Release date Included Component code names
Austin 21 October 2010 Nova, SwiftBexar 3 February 2011 Nova, Glance, SwiftCactus 15 April 2011 Nova, Glance, SwiftDiablo 22 September 2011 Nova, Glance, Swift
Essex 5 April 2012 Nova, Glance, Swift, Horizon, Keystone
Folsom 27 September 2012 Nova, Glance, Swift, Horizon, Keystone, Quantum, Cinder
Grizzly 4 April 2013 Nova, Glance, Swift, Horizon, Keystone, Quantum, Cinder
Havana 17 October 2013 Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer
Openstack Releases
Email: [email protected]
Compute Nova
• OpenStack Compute (Nova) is a cloud computing fabric controller (the main part of an IaaS system).
• Developed in Python and uses many external libraries such as Eventlet (for concurrent programming), Kombu (for AMQP communication), and SQLAlchemy (for database access).
• Compute's architecture is designed to scale horizontally on standard hardware with no proprietary hardware or software requirements and provide the ability to integrate with legacy systems and third party technologies.
• Designed to manage and automate pools of computer resources and can work with widely available virtualization technologies, as well as bare metal and high-performance computing (HPC) configurations.
Email: [email protected]
Object Storage : Swift
• OpenStack Object Storage (Swift) is a scalable redundant storage system. • Objects and files are written to multiple disk drives spread throughout
servers in the data center, with the OpenStack software responsible for ensuring data replication and integrity across the cluster.
• Storage clusters scale horizontally simply by adding new servers. Should a server or hard drive fail, OpenStack replicates its content from other active nodes to new locations in the cluster.
• Uses software logic to ensure data replication and distribution across different devices, inexpensive commodity hard drives and servers can be used.
Email: [email protected]
Block Storage : Cinder
• OpenStack Block Storage (Cinder) provides persistent block-level storage devices for use with OpenStack compute instances.
• The block storage system manages the creation, attaching and detaching of the block devices to servers. Block storage volumes are fully integrated into OpenStack Compute and the Dashboard allowing for cloud users to manage their own storage needs.
• In addition to local Linux server storage, it can use storage platforms including Ceph, CloudByte, Coraid, EMC (VMAX and VNX), GlusterFS, IBM Storage (Storwize family, SAN Volume Controller,XIV Storage System, and GPFS), Linux LIO, NetApp, Nexenta, Scality, SolidFire and HP (StoreVirtual and StoreServ 3Par families).
Email: [email protected]
Networking: Neutron
• OpenStack Networking is a system for managing networks and IP addresses. • OpenStack Networking provides networking models for different applications or user
groups. Standard models include flat networks or VLANs for separation of servers and traffic.
• OpenStack Networking manages IP addresses, allowing for dedicated static IP addresses or DHCP. Floating IP addresses allow traffic to be dynamically rerouted to any of your compute resources, which allows you to redirect traffic during maintenance or in the case of failure. Users can create their own networks, control traffic and connect servers and devices to one or more networks.
• Administrators can take advantage of software-defined networking (SDN) technology like OpenFlow to allow for high levels of multi-tenancy and massive scale.
• OpenStack Networking has an extension framework allowing additional network services, such as intrusion detection systems (IDS), load balancing, firewalls and virtual private networks (VPN) to be deployed and managed.
Email: [email protected]
Dashboard :Horizon
• OpenStack Dashboard (Horizon) provides administrators and users a graphical interface to access, provision and automate cloud-based resources.
• The design allows for third party products and services, such as billing, monitoring and additional management tools.
• The dashboard is also brand-able for service providers and other commercial vendors who want to make use of it.
Email: [email protected]
OpenStack Identity: Keystone
• OpenStack Identity (Keystone) is common authentication system across the cloud operating system and can integrate with existing backend directory services like LDAP.
• Users and third-party tools can programmatically determine which resources they can access.
• Additionally, the catalog provides a queryable list of all of the services deployed in an OpenStack cloud in a single registry.
• Multiple forms of authentication • standard username and password credentials• token-based systems and AWS-style (i.e. Amazon Web Services) logins.
Email: [email protected]
Image Service (Glance) Telemetry (Ceilometer)Orchestration (Heat)• OpenStack Image Service (Glance) provides discovery, registration and
delivery services for disk and server images. Stored images can be used as a template
• OpenStack Telemetry Service (Ceilometer) provides a Single Point Of Contact for billing systems, providing all the counters they need to establish customer billing, across all current and future OpenStack components.
• Heat is a service to orchestrate multiple composite cloud applications using templates, through both an OpenStack-native ReST API and a CloudFormation-compatible Query API.
Email: [email protected]
Openstack Security: Keystone
Email: [email protected]
Openstack Software Architecture for HAHorizon
Rabbit-mq
rdbms
Nova API
Nova Compute
Nova Volume
Nova Network
Nova Scheduler
Hypervisor
VM
VM
VMVM
VM
VMVM
Swift Account
Swift Container
Swift Object
Swift Proxy
Glance Control
Glance registry
Keystone: Identity, Token, Catalog, Policy
Email: [email protected]
Openstack High Availability
Email: [email protected]
Openstack Installation Steps• Build physical network, storage nodes, Hypervisor• Keystone setup• Glance setup• Nova setup• Swift storage setup• Swift Proxy setup• Horizon setup
Email: [email protected]
Openstack Features
• Metering and Monitoring (Cielometer) provides a central collection of metering and monitoring data.
• The global clustering feature allows customer to take your object storage environment — a cost effective system to backup – and run across several data centers
• All APIs now support SSL encryption, Virtual Private Networks and Firewall as a Service.
• Customer can now boot from volume, for live migration, and there’s added support for rolling upgrades.
Email: [email protected]
Email: [email protected]
Cloudstack
• Originally developed by cloud.com• Purchased by Citix in 2010• Donated to ASF in Feb 2012
Email: [email protected]
Cloudstack Architecture: Components
Cluster stack pod
cluster
Cluster stack pod
Primary storage
host1
host2
Network
Secondary storage
ZONE
Services
Email: [email protected]
Cloudstack Architecture: Components
• Hosts : Servers onto which services will be provisioned • Primary Storage: VM disk storage • Cluster: A grouping of hosts and their associated storage • Pod : Collection of clusters in the same failure boundary • Network : Logical network associated with service offerings • Secondary Storage : Template, snapshot and ISO storage • Zone : Collection of pods, network offerings and secondary storage • Management Server Farm : Management and provisioning tasks
Email: [email protected]
Cloudstack Security
Email: [email protected]
Cloudstack High availability
• Load Balance multi node management server
• Replicated Database for disaster recovery
Email: [email protected]
Cloudstack Installation Steps• Build physical network, storage nodes, Hypervisor• Unzip Cloudstack .tar.gz run install.sh (yum install cloud mysql)• Cloud Bridge RPM• Setup NFS share (primary/secondary storage)• Download system & user templates• Database schema setup• UI bases cloud launch
Email: [email protected]
Comparisons
Email: [email protected]
ComparisonEucalyptus Open Stack Cloudstack
Storage: Disk Image Yes Yes Yes
Storage: Block Devices Via an elastic block storage service
Via an elastic block storage service
iSCI, OCF2, CLVM (Depends on Hypervisor)
Storage: Fault Tolerance Uses DRBD Uses rsyn in the backend
Parts are build –in, storage in manual
VM Image services & self service Yes yes Yes
VM Image for Amazon API Yes Partial support Yes
Self service(web interface, Users & Quotas, Console access, User Management)
Yes Yes Yes
Networking Comparison (Auto allocation, Floating IPs, User defined, Layer 2)
Yes yes Yes
Email: [email protected]
Comparison
Eucalyptus Open Stack Cloudstack
Code Java and C Python Java
Hypervisors Xen, KVM, VMWare Xen, KVM, UML, LXC, VM Ware Xen, KVM, VM Ware, Citrix
Installation Medium effort: Nice RP/ DEB. Difficult: Not enough automation and many choices
Fewest parts to install, RPM needed
Excellent Install Guide
YUM/Apt RepoFew commands for initiation
Included un UbuntuLot of configuration requiredPuppet labs model
Provides their own repoExcellent installation guideMinimum configuration required
Maintenance Depends on Installation base Many components to Maintain Medium
Email: [email protected]
Comparison
Eucalyptus Open Stack Cloudstack
Architecture Five main components,AWS clone
Fragmented into lot of pieces
Monolithic controller. Datacenter model, not object storage
Administration GUI with 3.3, Strong CLI (compatible with Amazon EC2 APL)
Web UI, euca2tools, native CLI
GUI and CLI
Security Baseline + Component registration
Baseline + Key stone Baseline VLAN/Firewall VM protection
High Availability Primary and secondary component failover
Swift Ring or manual Load balanced multi node controlled
Email: [email protected]
Strengths and WeaknessEucalyptus Open Stack Cloud Stack
Weakness Installation requirements
Configurable but not very easily customizable
Community inclusion
Young Codebase
Uncertain future
Initial configuration
Very clean GUI
Single Java code
Weak AWS integration
Strengths Excellent commercial support
Fault tolerance
Offers Hybrid solution with AWS
Single Codebase
Growing community
Corporate support
Well round GUI
Stack is fairly simple
Customization of the storage backend
Email: [email protected]
Comparison
DC Virtualization
Cloud Model
Infrastructureprovision
Low Flexibility High
AWS
vCloud
Cloud stack
EucalyptusOpen Stack
Email: [email protected]
Comparisons
Eucalyptus Openstack Cloud stack
Core Philosophy Hybrid private/ public cloud compatibility
Public & private cloud Standardized API
Private and highly customized cloud, standard API
Other public cloud compatibility
Excellent with AWS, some with Rackspace and others
Excellent with Rackspace, some with AWS
Some AWS
Ideal setting Large group of machines for lot of semi trusted users
Large group of machines for lot pf users
Medium group machines for semi trusted users
Fault tolerance Build in, with maturity Built-it, semi matured Built-in, semi matured
Email: [email protected]
Market shares
Email: [email protected]
Others
OPEN SOURCE• Ganeti• Abiquo• OpenNebula• Joyent
COMMERCIAL• BMC CLM• Vcloud Director
Email: [email protected]
Q & A
Email: [email protected]
Thank you
Email: [email protected]