CLOUDSTACK-893 first cut
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/fd3c3b6c Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/fd3c3b6c Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/fd3c3b6c Branch: refs/heads/object_store Commit: fd3c3b6c47959001dddbf9b6b17e4ea26f013bd2 Parents: 5a6a115 Author: Radhika PC <radhika.puthiyet...@citrix.com> Authored: Tue May 7 11:30:17 2013 +0530 Committer: Radhika PC <radhika.puthiyet...@citrix.com> Committed: Tue May 7 11:30:17 2013 +0530 ---------------------------------------------------------------------- docs/en-US/gslb.xml | 235 +++++++++++++++++++++++++++++++++++ docs/en-US/images/add-gslb.png | Bin 0 -> 17665 bytes docs/en-US/images/gslb.png | Bin 0 -> 184080 bytes 3 files changed, 235 insertions(+), 0 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/fd3c3b6c/docs/en-US/gslb.xml ---------------------------------------------------------------------- diff --git a/docs/en-US/gslb.xml b/docs/en-US/gslb.xml new file mode 100644 index 0000000..385642d --- /dev/null +++ b/docs/en-US/gslb.xml @@ -0,0 +1,235 @@ +<?xml version='1.0' encoding='utf-8' ?> +<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ +<!ENTITY % BOOK_ENTITIES SYSTEM "cloudstack.ent"> +%BOOK_ENTITIES; +]> + +<!-- Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> +<section id="gslb"> + <title>Global Server Load Balancing Support</title> + <para>&PRODUCT; supports Global Server Load Balancing (GSLB) functionalities to provide business + continuity, and enable seamless resource movement within a &PRODUCT; environment. &PRODUCT; + achieve this by extending its functionality of integrating with NetScaler Application Delivery + Controller (ADC), which also provides various GSLB capabilities, such as disaster recovery and + load balancing. The DNS redirection technique is used to achieve GSLB in &PRODUCT;. </para> + <para>In order to support his functionality, region level services and service provider are + introduced. A new service 'GSLB' is introduced as a region level service. The GSLB service + provider is introduced that will provider the GSLB service. Currently, NetScaler is the + supported GSLB provider in &PRODUCT;. GSLB functionality works in an Active-Active data center + environment. </para> + <section id="about-gslb"> + <title>About Global Server Load Balancing</title> + <para>Global Server Load Balancing (GSLB) is an extension of load balancing functionality, which + is highly efficient in avoiding downtime. Based on the nature of deployment, GSLB represents a + set of technologies that is used for various purposes, such as load sharing, disaster + recovery, performance, and legal obligations. With GSLB, workloads can be distributed across + multiple data centers situated at geographically separated locations. GSLB can also provide an + alternate location for accessing a resource in the event of a failure, or to provide a means + of shifting traffic easily to simplify maintenance, or both.</para> + </section> + <section id="prereq-gslb"> + <title>Prerequisites and Guidelines</title> + <itemizedlist> + <listitem> + <para>The GSLB functionality is supported both Basic and Advanced zones.</para> + </listitem> + <listitem> + <para>GSLB is added as a new network service.</para> + </listitem> + <listitem> + <para>GSLB service provider can be added to a physical network in a zone.</para> + </listitem> + <listitem> + <para>The admin is allowed to enable or disable GSLB functionality at region level.</para> + </listitem> + <listitem> + <para>The admin is allowed to configure a zone as GSLB capable or enabled. </para> + <para>A zone shall be considered as GSLB capable only if a GSLB service provider is + provisioned in the zone.</para> + </listitem> + <listitem> + <para>When users have VMs deployed in multiple availability zones which are GSLB enabled, + user is allowed to use the GSLB functionality to load balance traffic across the VMs in + multiple zones.</para> + </listitem> + <listitem> + <para>The users are allowed to use GSLB to load balance across the VMs across zones in a + region only if the admin has enabled GSLB in that region. </para> + </listitem> + <listitem> + <para>The users are allowed to load balance traffic across the availability zones in the + same region or different regions.</para> + </listitem> + <listitem> + <para>The admin is allowed to configure DNS name for the entire cloud.</para> + </listitem> + <listitem> + <para>The users can specify an unique name, across the cloud, for a globally load balanced + service. The provided name will be used as the domain under the DNS name associated with + the cloud.</para> + <para>The user-provided name along with the admin-provided DNS name is used to produce a + globally resolvable FQDN for the globally load balanced service of the user. For example, + if the admin has configured xyztelco.com as the DNS name for the cloud, and user specifies + 'foo' for the GSLB virtual service, then the FQDN name of the GSLB virtual service is + foo.xyztelco.com.</para> + </listitem> + <listitem> + <para>While setting up GSLB, users can select a load balancing method, such as round robin + or least RTT, that would be the load balance traffic used across the zones that are part + of GSLB.</para> + </listitem> + <listitem> + <para>The user shall be able to set weight to zone-level virtual server. Weight shall be + considered by the load balancing method is distributing the traffic.</para> + </listitem> + <listitem> + <para>The GSLB functionality shall support session persistence, where series of client + requests for particular domain name is sent to a virtual server on the same zone. </para> + <para>Statistics is collected from each GSLB virtual server.</para> + </listitem> + </itemizedlist> + </section> + <section id="gslb-add"> + <title>Adding a GSLB Rule</title> + <orderedlist> + <listitem> + <para>Log in to the &PRODUCT; UI as administrator.</para> + </listitem> + <listitem> + <para>In the left navigation pane, click Region.</para> + </listitem> + <listitem> + <para>Select the region for which you want to create a GSLB rule.</para> + </listitem> + <listitem> + <para>In the Details tab, click View GSLB.</para> + </listitem> + <listitem> + <para>Click Add GSLB.</para> + <para>The Add GSLB page is displayed as follows:</para> + <mediaobject> + <imageobject> + <imagedata fileref="./images/add-gslb.png"/> + </imageobject> + <textobject> + <phrase>gslb-add.png: adding a gslb rule</phrase> + </textobject> + </mediaobject> + </listitem> + <listitem> + <para>Specify the following:</para> + <itemizedlist> + <listitem> + <para><emphasis role="bold">Name</emphasis>: Name for the GSLB rule.</para> + </listitem> + <listitem> + <para><emphasis role="bold">Description</emphasis>: (Optional) A short description of + the GSLB rule that can be displayed to users.</para> + </listitem> + <listitem> + <para><emphasis role="bold">GSLB Domain Name</emphasis>: A preferred domain name for the + service.</para> + </listitem> + <listitem> + <para><emphasis role="bold">Algorithm</emphasis>: (Optional) The algorithm to use to + load balance the traffic across the zones. The options are Round Robin, Least + Connection, and Proximity.</para> + </listitem> + <listitem> + <para><emphasis role="bold">Service Type</emphasis>: The transport protocol to use for + GSLB. The options are TCP and UDP.</para> + </listitem> + <listitem> + <para><emphasis role="bold">Domain</emphasis>: (Optional) The domain for which you want + to create the GSLB rule.</para> + </listitem> + <listitem> + <para><emphasis role="bold">Account</emphasis>: (Optional) The account on which you want + to apply the GSLB rule.</para> + </listitem> + </itemizedlist> + </listitem> + <listitem> + <para>Click OK to confirm.</para> + </listitem> + </orderedlist> + </section> + <section id="assign-lb-gslb"> + <title>Assigning Load Balancing Rules to GSLB</title> + <para/> + </section> + <section id="concept-gslb"> + <title>How Does GSLB Works in &PRODUCT;?</title> + <para>The following is an illustrated conceptual model of how GLSB functionality is provided in + &PRODUCT;: An organization, xyztelco, has set up a public cloud that spans two zones, Zone-1 + and Zone-2, across geographically separated data centers that are managed by &PRODUCT;. + Tenant-A of the cloud launches a highly available solution by using xyztelco cloud. For that + purpose, they launch two instances each in both the zones: VM1 and VM2 in Zone-1 and VM5 and + VM6 in Zone-2. Tenant-A acquires a public IP, IP-1 in Zone-1, and configures a load balancer + rule to load balance the traffic between VM1 and VM2 instances. &PRODUCT; orchestrates setting + up a virtual server on the LB service provider in Zone-1. Virtual server 1 that is set up on + the LB service provider in Zone-1 represents a publicly accessible virtual server that client + reaches at IP-1. The client traffic to virtual server 1 at IP-1 will be load balanced across + VM1 and VM2 instances. </para> + <para>Tenant-A acquires another public IP, IP-2 in Zone-2 and sets up a load balancer rule to + load balance the traffic between VM5 and VM6 instances. Similarly in Zone-2, &PRODUCT; + orchestrates setting up a virtual server on the LB service provider. Virtual server 2 that is + setup on the LB service provider in Zone-2 represents a publicly accessible virtual server + that client reaches at IP-2. The client traffic that reaches virtual server 2 at IP-2 is load + balanced across VM5 and VM6 instances. At this point Tenant-A has the service enabled in both + the zones, but has no means to set up a disaster recovery plan if one of the zone fails. + Additionally, there is no way for Tenant-A to load balance the traffic intelligently to one of + the zones based on load, proximity and so on. The cloud administrator of xyztelco provisions a + GSLB service provider to both the zones. A GSLB provider is typically an ADC that has the + ability to act as an ADNS (Authoritative Domain Name Server) and has the mechanism to monitor + health of virtual servers both at local and remote sites. The cloud admin enables GSLB as a + service to the tenants that use zones 1 and 2. </para> + <mediaobject> + <imageobject> + <imagedata fileref="./images/gslb.png"/> + </imageobject> + <textobject> + <phrase>gslb.png: GSLB architecture</phrase> + </textobject> + </mediaobject> + <para>Tenant-A wishes to leverage the GSLB service provided by the xyztelco cloud. Tenant-A + configures a GSLB rule to load balance traffic across virtual server 1 at Zone-1 and virtual + server 2 at Zone-2. The domain name is provided as A.xyztelco.com. &PRODUCT; orchestrates + setting up GSLB virtual server 1 on the GSLB service provider at Zone-1. &PRODUCT; binds + virtual server 1 of Zone-1 and virtual server 2 of Zone-2 to GLSB virtual server 1. GSLB + virtual server 1 is configured to start monitoring the health of virtual server 1 and 2 in + Zone-1. &PRODUCT; will also orchestrate setting up GSLB virtual server 2 on GSLB service + provider at Zone-2. &PRODUCT; will bind virtual server 1 of Zone-1 and virtual server 2 of + Zone-2 to GLSB virtual server 2. GSLB virtual server 2 is configured to start monitoring the + health of virtual server 1 and 2. &PRODUCT; will bind the domain A.xyztelco.com to both the + GSLB virtual server 1 and 2. At this point, Tenant-A service will be globally reachable at + A.xyztelco.com. The private DNS server for the domain xyztelcom.com is configured by the admin + out-of-band to resolve the domain A.xyztelco.com to the GSLB providers at both the zones, + which are configured as ADNS for the domain A.xyztelco.com. A client when sends a DNS request + to resolve A.xyztelcom.com, will eventually get DNS delegation to the address of GSLB + providers at Zone 1 and 2. A client DNS request will be received by the GSLB provider. The + GSLB provider, depending on the domain for which it needs to resolve, will pick up the GSLB + virtual server associated with the domain. Depending on the health of the virtual servers + being load balanced, DNS request for the domain will be resolved to the public IP associated + with the selected virtual server.</para> + </section> + <section id="limitation-gslb"> + <title>Known Limitation</title> + <para>Currently, &PRODUCT; does not support orchestration of services across the zones. The + notion of services and service providers in region are to be introduced.</para> + </section> +</section> http://git-wip-us.apache.org/repos/asf/cloudstack/blob/fd3c3b6c/docs/en-US/images/add-gslb.png ---------------------------------------------------------------------- diff --git a/docs/en-US/images/add-gslb.png b/docs/en-US/images/add-gslb.png new file mode 100644 index 0000000..827a913 Binary files /dev/null and b/docs/en-US/images/add-gslb.png differ http://git-wip-us.apache.org/repos/asf/cloudstack/blob/fd3c3b6c/docs/en-US/images/gslb.png ---------------------------------------------------------------------- diff --git a/docs/en-US/images/gslb.png b/docs/en-US/images/gslb.png new file mode 100644 index 0000000..8d1a389 Binary files /dev/null and b/docs/en-US/images/gslb.png differ