haroon abdelrahman created CLOUDSTACK-241:
---------------------------------------------
Summary: AWS Style Regions
Key: CLOUDSTACK-241
URL: https://issues.apache.org/jira/browse/CLOUDSTACK-241
Project: CloudStack
Issue Type: New Feature
Reporter: haroon abdelrahman
Assignee: haroon abdelrahman
Regions
1 Background
Currently, CloudStack only supports Amazon style Availability zones (AZ). This
feature is to allow the CloudStack infrastructure hierarchy to support Amazon
style Regions. Regions provides the following benefits to customers:
• Higher availability of the services: users can deploy services across AZs and
even if one of the AZ goes down the services are still available to the
end-user through VMs deployed in other zones.
•Higher availability of the MS: Since MS only manages a single Region, if that
MS goes down, only that particular Region is impacted. Admin should be able to
access all the other Regions.
•Scalability: The scalability limit of CloudStack dramatically improves, as the
scalability limit of MS is limited to a single Region.
•Object Store: With Regions construct, CloudStack would also allow users to
define Object Store (Secondary Storage) across AZs. This helps users easily
deploy VMs in different AZs using the same template, offerings.
2Requirements
•Admin should be able to install a management server for a Region and then
connect to management servers in other Regions. Each Management Server in each
region should know about all other regions and their management servers.
oConnect To Region
•Admin should be able to create multiple Regions within a CloudStack cloud.
I.e., CloudStack should manage multiple regions within a cloud. The following
operations should be supported:
oCreate Region
oDelete Region
oList Regions
•Admin should be able to create multiple zones with a Region. Management server
cluster manages all the zones within the region. Following Zone operations
should be supported on per regions basis:
oCreate Zone
oDelete Zone
oList Zones
•Management Server cluster for each region should only control the
infrastructure within that region. In other words, if a management server
cluster fails, then only the region managed by that server cluster should be
inaccessible for admin and users. It should not have any impact on the other
Regions in the cloud
•Each Region should have access to an object store. The object store should be
common to all Zones within the Region. I.e., any object stored from a Zone
should be visible across all the other zones within the region
•EIP function should be available across both basic and advance Zones within a
Region
•ELB function should be available across both basic and advance Zones within a
Region
•The administrative hierarchy (Users, Accounts, Domains, Projects) - should be
valid across all the regions. I.e., if admins create domains, accounts and
users etc. in one region it should be reflected in other regions as well.
•Authentication credentials – username, password, keys – should be valid across
all regions
•Switching between Regions should not require the user to sign-on again (SSO
should be supported).
•Resource management should be extended to Region level
oAvailable compute, storage, network (IPs, VLANs etc.) resources that are
currently tracked should be aggregated and displayed at region level
oAppropriate global parameters should be available at Region level while the
remaining would be available at Zone level
•Usage: All the (per account) usage records should be aggregated to Regions
level
•Global Configurations: All of the administrative hierarchy (Domains, Accounts,
Users, Projects) related Global Configurations should have consistent values
across all regions and has to be propagated when a user modifies a
configuration on one of the regions.
•Each region should maintain a list of all other regions and their region
endpoints.
Note:
•Users are required to deploy all the MSs of a particular region in one zone
3UI / UX Requirements
•User/Admin should be able to view all Regions by logging into a MS of any of
the Regions. User then should be able to select a specific Region to view
details of that Region.
oReports on the dashboard should be aggregated to Region level
•On first UI access, user should be able to connect to another Cloudstack
instance or treat this instance as the first region
•Modify the start-up wizard to force users define the Region (Region Name,
Description, etc) before they start creating the Availability Zones
•Users should be able to switch between various regions for UI using SSO.
4Upgrade Scenarios
Following upgrade scenarios should be supported:
•Multiple Zones to Multiple Regions: Current deployments with multiple Zones
should be able to move to a deployment of multiple Regions. Admins should be
able to map one or more zones to a Region
•All AZs in each Region should get access to all secondary storage from each
region
•Multiple Zones to Region: Current deployments with multiple Zones should be
able to move to a deployment of single Region (this is a subset of the above
requirement)
oThis should be default upgrade behavior
5Non-Requirements
•Management Server limited to per Zone is not a requirement for Campo. This
functionality could be added in a subsequent release
•EIP and ELB functions across zones are only supported when both zones are
either basic or advance. It is not required to support EIP or ELB across basic
and advanced zones
•It is not required to display a dashboard/reports that are aggregated across
Regions
6Open Items:
•How will the hierarchy change with the requirement of supporting both a Basic
Zone and an Advanced Zone within a single Cloudstack instance?
•Assuming we don’t need the capability / APIs to disconnect Management server
from one set and connect to another set of management servers
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira