Apache CloudStack Evolution Proposal Alex Huang Software Architect, Citrix Systems.

Slides:



Advertisements
Similar presentations
How We Manage SaaS Infrastructure Knowledge Track
Advertisements

Capacity Planning in a Virtual Environment
1 Chapter 11: Data Centre Administration Objectives Data Centre Structure Data Centre Structure Data Centre Administration Data Centre Administration Data.
Gold Sponsors Bronze Sponsors Silver Sponsors Taking SharePoint to the Cloud Aaron Saikovski Readify – Software Solution Specialist.
CloudStack Scalability Testing, Development, Results, and Futures Anthony Xu Apache CloudStack contributor.
System Center 2012 R2 Overview
Keith Wiles DPACC vNF Overview and Proposed methods Keith Wiles – v0.5.
BETA!BETA! Building a secure private cloud on Microsoft technologies Private cloud security concerns Security & compliance in a Microsoft private cloud.
FI-WARE – Future Internet Core Platform FI-WARE Cloud Hosting July 2011 High-level description.
DatacenterMicrosoft Azure Consistency Connectivity Code.
Introduction to DoC Private Cloud
Virtualization for Cloud Computing
Virtualization Infrastructure Administration Cluster Jakub Yaghob.
Microsoft Load Balancing and Clustering. Outline Introduction Load balancing Clustering.
Cloud Computing By Alex Chiu. What is Cloud Computing?
Google AppEngine. Google App Engine enables you to build and host web apps on the same systems that power Google applications. App Engine offers fast.
VMware vSphere 4 Introduction. Agenda VMware vSphere Virtualization Technology vMotion Storage vMotion Snapshot High Availability DRS Resource Pools Monitoring.
How WebMD Maintains Operational Flexibility with NoSQL Rajeev Borborah, Sr. Director, Engineering Matt Wilson – Director, Production Engineering – Consumer.
System Center 2012 Setup The components of system center App Controller Data Protection Manager Operations Manager Orchestrator Service.
Real Security for Server Virtualization Rajiv Motwani 2 nd October 2010.
Scalability By Alex Huang. Current Status 10k resources managed per management server node Scales out horizontally (must disable stats collector) Real.
A Brief Overview by Aditya Dutt March 18 th ’ Aditya Inc.
Opensource for Cloud Deployments – Risk – Reward – Reality
Yury Kissin Infrastructure Consultant Storage improvements Dynamic Memory Hyper-V Replica VM Mobility New and Improved Networking Capabilities.
Cloud Computing for the Enterprise November 18th, This work is licensed under a Creative Commons.
Abstract Load balancing in the cloud computing environment has an important impact on the performance. Good load balancing makes cloud computing more.
Cloud computing is the use of computing resources (hardware and software) that are delivered as a service over the Internet. Cloud is the metaphor for.
 Cloud computing  Workflow  Workflow lifecycle  Workflow design  Workflow tools : xcp, eucalyptus, open nebula.
Virtualization. Virtualization  In computing, virtualization is a broad term that refers to the abstraction of computer resources  It is "a technique.
Chapter 8 Implementing Disaster Recovery and High Availability Hands-On Virtual Computing.
M.A.Doman Short video intro Model for enabling the delivery of computing as a SERVICE.
Presented by: Sanketh Beerabbi University of Central Florida COP Cloud Computing.
Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure.
MDC417 Follow me on Working as Practice Manager for Insight, he is a subject matter expert in cloud, virtualization and management.
608D CloudStack 3.0 Omer Palo Readiness Specialist, WW Tech Support Readiness May 8, 2012.
COMS E Cloud Computing and Data Center Networking Sambit Sahu
From Virtualization Management to Private Cloud with SCVMM 2012 Dan Stolts Sr. IT Pro Evangelist Microsoft Corporation
Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.
SC2012 Infrastructure Components Management Justin Cook (Data # 3) Principal Consultant, Systems Management Noel Fairclough (Data # 3) Consultant, Systems.
Visual Studio Windows Azure Portal Rest APIs / PS Cmdlets US-North Central Region FC TOR PDU Servers TOR PDU Servers TOR PDU Servers TOR PDU.
DoC Private IaaS Cloud Thomas Joseph Cloud Manager
Paperless Timesheet Management Project Anant Pednekar.
20409A 7: Installing and Configuring System Center 2012 R2 Virtual Machine Manager Module 7 Installing and Configuring System Center 2012 R2 Virtual.
Cloud Computing Lecture 5-6 Muhammad Ahmad Jan.
Web Technologies Lecture 13 Introduction to cloud computing.
Optimize the Business with Microsoft Datacenter Services 2.0
Cloud Computing – UNIT - II. VIRTUALIZATION Virtualization Hiding the reality The mantra of smart computing is to intelligently hide the reality Binary->
Capacity Planning in a Virtual Environment Chris Chesley, Sr. Systems Engineer
Deploying Highly Available SQL Server in Windows Azure A Presentation and Demonstration by Microsoft Cluster MVP David Bermingham.
 Cloud Computing technology basics Platform Evolution Advantages  Microsoft Windows Azure technology basics Windows Azure – A Lap around the platform.
What is Cloud Computing 1. Cloud computing is a service that helps you to perform the tasks over the Internet. The users can access resources as they.
Amazon Web Services. Amazon Web Services (AWS) - robust, scalable and affordable infrastructure for cloud computing. This session is about:
UFIT Infrastructure Self-Service. Service Offerings And Changes Virtual Machine Hosting Self service portal Virtual Machine Backups Virtual Machine Snapshots.
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CLOUD COMPUTING
Introduction to Distributed Platforms
Building a Virtual Infrastructure
StratusLab Final Periodic Review
StratusLab Final Periodic Review
Operating System Structure
GGF15 – Grids and Network Virtualization
Managing Clouds with VMM
20409A 7: Installing and Configuring System Center 2012 R2 Virtual Machine Manager Module 7 Installing and Configuring System Center 2012 R2 Virtual.
Virtualization Layer Virtual Hardware Virtual Networking
HC Hyper-V Module GUI Portal VPS Templates Web Console
* Introduction to Cloud computing * Introduction to OpenStack * OpenStack Design & Architecture * Demonstration of OpenStack Cloud.
Windows Azure Hybrid Architectures and Patterns
Robert Down & Pranay Sadarangani Nov 8th 2011
Harrison Howell CSCE 824 Dr. Farkas
Setting up PostgreSQL for Production in AWS
Presentation transcript:

Apache CloudStack Evolution Proposal Alex Huang Software Architect, Citrix Systems

Design Goals Make it easier for developers to get started Allow developers with different skill sets to work on different parts of CloudStack Give operator the choice to deploy only parts of CloudStack that they want to use Allow CloudStack components to be written in languages other than Java Increase deployment’s availability and maintainability

Action Plan Disaggregate CloudStack services Clearly differentiate between automation, orchestration, and provisioning Switch to using well-known frameworks Allow better composition at the resource layer Change the deployment model for better resiliency

Disaggregating CloudStack

CloudStack Functional Layers

Pros & Cons Pros Easy for a small team to develop in Easy to deploy Cons Interdependency in these layers causes reliability problems. – Contracts between layers cannot be enforced since each layer cannot be individually tested. Developer skill set must range from API design all the way to system level programming to effectively code in CloudStack CloudStack availability and maintainability suffers because layers with different availability and maintainability requirements are deployed in one process.

Action Plan ServicePurpose Cloud-Engine-Presents a data center abstraction layer -Orchestration within the data center abstraction layer -Provisioning of the physical resources -Directory for services and service end points Cloud-Access-Account and directory connectors -Authentication -ACL & Governess Cloud-API-End User API & UI Cloud-Management-Management of physical resources -Data Center automation -Admin UI

CloudStack Service Properties Independent life cycle Independent scaling Independent testing RPC through reliable message queue Notification through event systems Individual database (even further in the future)

Cloud-Engine vs Cloud-API Data Center Abstraction API Speaks in virtualization terms (CPU, RAM, etc) Callers can specify deployment destination down to the host Can be used to deploy service VMs (such as SSVM and VR) Contains orchestration logic Cloud API Speaks in service contracts (service offerings, network offerings, disk offerings) Callers can only specify deployment destination through resource dedication Can only deploy user VMs Contains business logic

A Possible Future

Automation, Orchestration, & Provisioning

What is the difference? The key is the data center abstraction layer – Virtual Machine, Template, Nic, IP Address, Volume, Network, Rules, Snapshot Orchestration orchestrates within this abstraction layer Provisioning manifests concepts in abstraction layer on physical resources Automation orchestrates above the data center abstraction layer to bring greater functionality

Examples Orchestration – VM deploy, Volume creation, Network Creation, Network rules propagation Provisioning – Starting a VM on a hypervisor – The actual movement of a volume from one storage pool to another Automation – HA Process – Putting a resource into maintenance mode – Uploading and downloading templates – DR process

Why is this important? Cloud-Engine is still too big. Plugin partners need to clearly see the division in functionality between Cloud-Engine and their plugin. Disaggregating CloudStack Services allow developers to quickly add services utilizing Cloud- Engine Disaggregating Cloud-Engine allows partners to add more infrastructure to be utilized in the cloud.

Cloud-Engine Components ComponentPurpose Orchestration-Orchestration of the Data Center Abstraction Layer DeploymentPlanner-Plans the deployment destination for virtual machine and volumes Compute-Provisioning of the hypervisor NetworkGuru-Provides mapping of Network to physical network NetworkElement-Provides various network services PrimaryDataStore-Provisioning of storage ImageStore-Provisioning of templates BackingStore-Provisioning of backup storage SnapshotService-Provides volume snapshots MotionService-Provides data movements between various storage technologies

Cloud-Engine Component Properties Recommended to have independent life cycles, databases, scaling, and testing. Utilize CloudStack’s plugins to bridge provisioning needed by Cloud-Engine and functionality provided by the component. All APIs must be asynchronous. Operations are idempotent.

Cloud-Engine Components

Changing CloudStack’s Deployment Model

CloudStack 4.0 Region 1 MgmtServer Cluster Availability Zone 1 Region 2 Mgmt Server Cluster Availability Zone 4 Availability Zone 5 Availability Zone 3 Availability Zone 2 Data Center 1 Data Center 2 Data Center 5 Data Center 3 Data Center 4 Availability Zone 6 Availability Zone 7

Pros & Cons Pros Simple deployment model Easy to track jobs Cons Management plane goes down, the entire cloud is not operable. No fault containment to the availability zone Unable to do a zone by zone upgrade of CloudStack Cannot guarantee zero downtime upgrades

New Deployment Model Data Center n Data Center 1 CloudStack Cloud-Engine Cloud-API Cloud- Acces CloudStack Cloud-Engine Cloud-API Database Cloud- Access Account Database Account Database GSLB VM Users Admin Console

Scalability Cloud-API nodes can be brought up and added to cluster to handle more requests Cloud-Engine cluster and Cloud-API cluster are scaled independently – Cloud-Engine cluster to hardware resources – Cloud-API cluster to incoming requests

Availability Cloud-API Servers can be deployed in geographically remote locations because they don’t share databases One Cloud-API Server going down only impacts the tasks it is executing Any number of Cloud-API Servers can be brought up Cloud-Engine cluster going down means only one zone is down. Not the whole cloud. Even if the entire Cloud-API cluster is down, admins can still manage VMs by directly connecting to the Cloud-Engine cluster.

Maintainability Zones can be individually upgraded Only the zone being upgraded cannot be provisioned Cloud-API Servers can be brought up with new versions and then the old ones shutdown