This paper discusses the technical features in Citrix CloudPlatform, powered by Apache CloudStack that enables efficient operation of scale-out, cloud native application environment.
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
How Citrix Cloudplatform Enables cloud native application workloads
1. CloudPlatform for cloud native application workloads
White Paper
How Citrix
CloudPlatform
Enables cloudnative application
workloads
Technical features for
scale-out workloads.
citrix.com
2. CloudPlatform for cloud native application workloads
White Paper
To drive business growth through innovation and
agility, organizations are increasingly adopting new
application software development paradigms and
architectures to achieve “web-scale”. Cloud-native
software development creates massively parallel
workloads, often with large, unstructured datasets.
This type of workload called cloud-native application
workloads have fundamental characteristics and
usage patterns that differ from traditional scale-up
application workloads.
IT organizations embracing cloud computing face the challenge of having to support
and deliver both traditional, scale-up application workloads and cloud-native, scale
out application workloads, often under the same resource envelope. Decisions
regarding cloud architecture, leveraging existing investments, and more importantly,
the long term operational aspects necessary to support diverse application
workloads are critical to developing a successful long-term cloud strategy.
Cloud-native application workloads versus traditional
application workloads
Cloud-native application workloads are designed for an infrastructure layer that is
not resilient. The application service is expected to remain functional and continue
to deliver the same level of performance even if there are failures on any given
node or component. Examples of scale-out, cloud-native application workloads
include data serving, search, social and mobile apps, batch processing, big data/
analytics, noSQL and HPC. The rate of dynamic scaling and elasticity of these
types of workloads would not be possible without advanced software development
techniques. As an example, take the analysis of massive data sets or Big Data,
using MapReduce. Farms of servers handle the filtering and transformation of the
data (which is called the Map phase). Independent farms of servers handle the
aggregation of the results or what is called the Reduce phase. File read and writes
between the two systems and the parallel execution exemplify typical cloud-native
application workloads.
In contrast to scale out, cloud-native application workloads, traditional client-server
or n-tier applications running in the enterprise datacenter scale up by adding
infrastructure, generally by adding webservers or database servers. Traditional
application workloads are designed to run on reliable, enterprise-grade hardware,
where the underlying server or storage device isn’t expected to fail during normal
course of operation. Admins can implement high availability measures such as
reserving specific physical infrastructure such as a blade server to create a reserve
buffer. In the case of a failure, the platform will provision the standby infrastructure.
citrix.com
2
3. CloudPlatform for cloud native application workloads
White Paper
Different workloads, different architectures
Cloud-native application workloads differ from traditional, scale-up application
workloads in a number of ways. The workloads themselves are larger and
distributed across a pool of servers for computation and the data sets can be
massive. Redundancy is achieved by deploying the underlying infrastructure across
multiple sites. Software development assumes a Share Nothing architecture,
which is a form of distributed computing in which each node is independent and
self-sufficient. Because nothing is shared, there is no contention across the system
and none of the nodes share memory or disk storage.
Server virtualization is primarily used for provisioning and orchestration flexibility
while resource utilization may be a lesser concern. What is common amongst
these architectures is the separation of data and execution to take advantage of
horizontally scale-out infrastructure for processing. For example, a NoSQL system
could split hundreds of terabytes of data into shards and horizontally scale out to
large cluster sizes. Another example workload is media streaming. Media files are
pre-encoded in various formats and bit-rates, packetized, and transmitted using
large clusters to a geographically disparate client base. Media content would be
cached by the servers so that the same content can be delivered to multiple users
with the same consistency and level of quality.
It is not uncommon to find cloud-native application workloads and traditional
enterprise application workloads running in the same company and/or even in
the same department. For example, car manufacturers could analyze real-time
big data using Apache Hadoop to optimize their parts supply chain. Within the
same manufacturing department, their discrete manufacturing application for plant
operations could be running a very traditional application workload such as SAP.
Whether the organization is running traditional, scale-up and/or cloud-native
application workloads, cloud administrators should be aware that the two types of
workloads have distinct performance characteristics and infrastructure profiles.
Characteristics of cloud workloads – scale-up and scale-out
Scale-up/traditional
Scale-out/cloud-native
Characteristic
Compute/Memory Intensive
Massively Parallel, Real Time
Constraints
Intended Usage
Steady state
Elastic, Transient and/or LongLive
Availability
Designed with Redundancy
Designed for Resiliency
Infrastructure
Resource
Stateful
Stateless/Ephemeral/Share
Nothing
Redundancy
Fault Tolerance built-in the
infrastructure
Multi-site redundancy
Data
Structured Data (relational
DB)
Massive Datasets (noSQL)
Processing type OLTP
citrix.com
Batch Processing
3
4. CloudPlatform for cloud native application workloads
White Paper
Scale-up/traditional
Scale-out/cloud-native
Application
Areas
ERP, on-premise CRM,
BI/DW, Custom Business
Applications
Dev/Test, Email, Search,
Web, Mobile, data serving,
eCommerce, MapReduce,
media streaming, Industryspecific analytics & modeling
Software
Vendors
Microsoft, Oracle, SAP, SAS
Adobe, Apache Hadoop,
MongoDB, SAP Hana,
Wordpress
Infrastructure resource profile
Scale-up/traditional
application
Scale-out/cloud-native
application
Hypervisor
Heterogeneous
Pre-set choices
VM
Configuration varies
Fixed-size
Network
Dedicated IP Pool, VLAN
Shared IP
Storage
Network SAN
Local, NFS, Block
Availability/DR
Mission critical
Best effort/Adhoc
Security
Central Authorization
De-centralized
Utilization
Highly optimized
Peaks & variable
Enabling cloud-native application, scale-out workloads with
CloudPlatform
Citrix CloudPlatform, powered by Apache Cloudstack, is the only future-proofed,
application-centric cloud solution proven to reliably orchestrate both existing
scale-up enterprise workloads and scale-out cloud-native application workloads
within a single unified cloud management platform. CloudPlatform combines the
best private cloud foundation for enterprise workloads like CRM and ERP with
true Amazon-style scale, elasticity and operational efficiency for cloud-native
application workloads like social applications, Big Data and HPC.
When considering how a cloud-native application workload could run in the cloud,
one needs to consider that the workload is designed to minimize cost and run
on distributed commodity infrastructure, typical components in a cloud-native
availability zone include:
citrix.com
4
5. CloudPlatform for cloud native application workloads
White Paper
• An affordable hypervisor such as Citrix XenServer, Xen or KVM
• Object based storage, Elastic Block Storage (EBS) volumes, NFS volumes and
local host storage
• Software Defined Networking (SDN) and L3 Security Groups for workload and
tenant isolation
• Elastic Load Balancing (ELB) or Global Server Load Balancing (GSLB) for
redirection of traffic to servers in multiple availability zones
Amazon Web Services (AWS) style operations and scale
DevOps is a software development methodology which focuses on communication,
collaboration, and integration between IT and developers to improve software
quality and support rapid release cycles. To that end, DevOps professionals have
gotten accustomed to rapid prototyping and load/stress testing using Amazon Web
Services (AWS), a collection of web services (most notably Elastic Compute Cloud
(EC2) and Simple Storage Service (S3) delivered over the internet.
DevOps professionals also have gotten accustomed to getting elastic cloud
resources on demand, pay by the use model from Amazon and want similar
operational efficiency and scale efficiency but under company governance that
meet industry and organizational compliance.
citrix.com
5
6. CloudPlatform for cloud native application workloads
White Paper
With CloudPlatform, DevOps professionals can have the industry’s most flexible
and open cloud orchestration platform while maintaining API compatibility
between availability zones in CloudPlatform and the AWS public cloud. An
existing rich ecosystem of third party tools developed for AWS are also compatible
with CloudPlatform.
CloudPlatform enables organizations to create workload specific availability zones
or regions which can support high performance, massively parallel workloads
on distributed, low cost infrastructure. Organizations can deliver cloud-native
application workloads with availability, storage and network with proven scalability
for public and private clouds with over 40,000 hosts per region.
Regions
Cloud Administrators can define availability regions consisting of multiple zones
and/or datacenters. The benefits to implementing regions are increased scalability
and availability, geographic availability, lower latency and ensuring corporate
compliance. Regions enable application workloads to be launched and deployed
across multiple availability zones from the same template. Application availability
would not impacted if a given zone were to fail because the VMs supporting the
service will be running in multiple zones.
Object Storage
Cloud-native application workloads that make use of object storage will have
transparent access to storage objects across geographic and logically defined
locations. The ability to access object storage in a region or across multiple zones
increases workload availability and operations efficiency. Object Storage can be
used to store persistent data given a zone failure. Also the same object storage can
provide secondary storage for Infrastructure-as-a Service and Storage-as-a-Service.
Dedicated private cloud isolation
Cloud infrastructure layers—zones, pods, clusters and hosts—and virtual machine
resources—CPU, memory, storage and network—can be granularly grouped into
different isolated logical partitions for true multi-tenant private cloud deployments.
Dedicated resources can be applied to any of the infrastructure layers to support
virtual private cloud use cases to meet requirements for compliance, security
and performance.
Logical isolation
With CloudPlatform, enterprises can organize their private cloud into multiple
discrete logical abstraction layers including availability zones or regions, each
comprising resources in one or more physical datacenters. CloudPlatform uses a
logical isolation hierarchy that includes Domain, Sub-domain, Account and Users.
Usage quotas can be applied to any layer in the hierarchy. This logical isolation
hierarchy can be used to model the organizational structure in typical enterprises
in a domain to represent a business unit; users can also be grouped into Accounts
which could represent a team. A sub-domain could represent a division in a
larger business unit. The same isolation hierarchy can be applied to a service
citrix.com
6
7. CloudPlatform for cloud native application workloads
White Paper
provider context in which an Account could represent an individual customer.
CloudPlatform ensures that all memory, CPU, network, and storage resources are
both available and isolated from one user account to another.
Guest isolation using security groups
Guest Instances require isolation from other instances running within the same
Zone. When guest VMs need to communicate with each other over a network,
CloudPlatform provides two isolation methods, Security Groups and VLANs.
Although Security Groups can be implemented in both the Basic and Advanced
Networking models, VLANs are only available in advanced networking. Advanced
Networking allows the cloud administrator to provide custom IP ranges for different
accounts. In a Basic Networking setup, the guest instances use the same IP range
as the underlying CloudPlatform and Hypervisor architecture.
When using Security Groups, each account has a default Security Group that is
automatically created. When new instances are created, they are assigned to one
or more Security Groups. Users can create additional Security Groups at any time.
Communication between guest instances can happen only if they are assigned
to the same security group. The use of Ingress and Egress rules on the Security
Group control the flow of traffic, both in and out of the group.
Hypervisor agnostic
CloudPlatform supports the leading commercially supported hypervisors including
Citrix XenServer, VMware® vSphere® Oracle® VM (OVM) , and KVM. Bare metal
infrastructure without a hypervisor is also supported. Customers have complete
freedom to choose the right hypervisor or hypervisors for their workload instead of
being locked into technology from one single vendor.
Traditional application availability zones typically begin with bare metal or a
supported hypervisor, such as VMware® vSphere or Citrix XenServer which supports
live migration of VMs. CloudPlatform has a two-tier storage hierarchy. Root and
data volumes are stored on a primary storage tier that typically resides on host local
storage, FC, iSCSI or NFS for performance. VM templates and volume snapshots are
stored on a secondary storage tier, typically NFS or object storage.
Virtual Machine operations and management
CloudPlatform provides efficient lifecycle management of virtual machines,
including creation and maintenance under a single platform. Root and data
volumes reside on the primary storage tier and are created at VM creation. When
a VM is destroyed, the root volume is also destroyed. In the case of data volumes
that are attached to the VM, they do not get destroyed when the VM is destroyed
which means that administators can take scheduled or adhoc snapshots of the
volume to preserve configuration states for backup or data recovery. OS and ISO
templates can be imported, created, and stored across zones or regions on the
secondary storage tier for optimized storage efficiency.
citrix.com
7
8. CloudPlatform for cloud native application workloads
White Paper
Advanced cloud networking
Cloud operators can create advanced cloud networking configurations and
Network-as-a-Service offerings including Portable IP capabilities, global server
load balancing (GSLB), and AWS-like Health Checks to ensure application
availability. In addition, CloudPlatform has an in-built virtual router that provides
granular control of network services like DHCP, Network Address Translation
(NAT), load balancing, firewall, and port forwarding.
CloudPlatform integrates with enterprise class Application Delivery Controllers
(ADCs) to provide server load balancing. Advanced features such as compression,
connection multiplexing, caching, and SSL offload found in ADCs are becoming
increasingly helpful off load overburdened networks and servers and increasing
application availability. CloudPlatform supports a broad ecosystem of ADCs and
networking devices including Citrix Netscaler, F5 load balancers, Cisco hardware
and software (UCS, Nexus 1000v, ASA1000v), Juniper firewalls and VMware
Distributed Virtual Switch. Advanced networking requirements for architecture, scale,
SLAs, load balancing can be met using best of breed networking solution for the
most demanding cloud-native application workloads and availability requirements.
In particular, the Citrix NetScaler Global Server Load Balancing (GSLB) feature is
enabled through CloudPlatform which enables distribution of traffic across multiple
sites and helps to manage disaster recovery. GSLB works by controlling how the
system routes incoming client requests by directing DNS requests to the bestperforming GSLB site in a distributed Internet environment. Pre-defined NetScaler
policies and configurations can be orchestrated by CloudPlatform to send traffic.
For example, a policy could direct traffic to the closest availability zone, a region
with the lowest latency or the least amount of load, or to a secondary datacenter in
case of an outrage.
Intelligent load balancers such as Citrix NetScaler can be configured to perform
AWS-style Health Checks on backend services through CloudPlatform. NetScaler
will perform periodic checks on backend services based on a set of service level
parameters to be monitored. When a VM fails the Health Check, Citrix Netscaler will
automatically remove the VM from the load balancer pool and route the incoming
requests only onto healthy VMs. Once the VM successfully passes the health checks
again, the load balancer will add the VMs back into the resource pool.
CloudPlatform with Citrix NetScaler offers AutoScale technology that automatically
expands and contracts the cloud according to business demands. Citrix Netscaler
has the ability to monitor CPU usage, server health or application responsiveness.
Working in unison with CloudPlatform, changes to application load can prompt
Citrix Netscaler to scale up or scale down the corresponding backend services or
guest VMs.
Citrix NetScaler comes with a choice of configurations, as a physical appliance
or as a Virtual Machine that runs on Citrix XenServer. CloudPlatform treats Citrix
NetScaler just like any other infrastructure resource, for which it can be added into
the resource pool.
citrix.com
8
9. CloudPlatform for cloud native application workloads
White Paper
Portable IPs
AWS provides Elastic IP addresses (EIP), or a pool of static IP’s that can be
assigned to dynamically re-map internal instances to external network interfaces.
CloudPlatform works very much in the same way, users can remap zone level
static public IPs and utilize NAT with any instance from their account. Static
IPs recovered from destroyed VMs can be re-mapped to other VM instances
programmatically without service interruption.
Portable IPs in CloudPlatform are elastic IPs that can be transferred across
geographically separated zones. Cloud Administrators can provision a pool of
portable IPs that are available across regions or transfer them from one network
to another. Portable IPs and availability zones can provide cloud-native application
workloads with elasticity and fail-over application availability.
Trusted to run the world’s most demanding cloud-native
application workloads
With over 200+ clouds in production, CloudPlatform is the trusted cloud
management platform to orchestrate the world’s most demanding workloads.
Leading enterprises and higher education institutions like Disney, Autodesk, Nokia,
Amdocs, University of Sao Paulo and Royal Melbourne Institute of Technology
to web-centric companies like Edmunds.com, Spotify, and Overstock.com.
Customers as diverse as these choose CloudPlatform because it is the only
application-centric orchestration solution designed for any workload.
Only CloudPlatform is proven to reliably orchestrate both existing scale-up
workloads and cloud-native application, scale-out workloads. Organizations can
implement a single cloud architecture providing the optimal infrastructure to meet
the requirements and characteristics for each type of workloads.
citrix.com
9