How Citrix Cloudplatform Enables cloud native application workloads


Published on

This paper discusses the technical features in Citrix CloudPlatform, powered by Apache CloudStack that enables efficient operation of scale-out, cloud native application environment.

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

How Citrix Cloudplatform Enables cloud native application workloads

  1. 1. CloudPlatform for cloud native application workloads White Paper How Citrix CloudPlatform Enables cloudnative application workloads Technical features for scale-out workloads.
  2. 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. 2
  3. 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 Batch Processing 3
  4. 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: 4
  5. 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. 5
  6. 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 6
  7. 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. 7
  8. 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. 8
  9. 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, Spotify, and 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. 9
  10. 10. CloudPlatform for cloud native application workloads 10 White Paper Interested in learning more? • Future proofing your cloud: Why workloads define cloud strategies • Citrix CloudPlatform for the enterprise • Citrix CloudPlatform for the service provider • How Citrix CloudPlatform enables enterprise application workloads • CloudPlatform Deployment Reference Architecture Corporate Headquarters Fort Lauderdale, FL, USA India Development Center Bangalore, India Latin America Headquarters Coral Gables, FL, USA Silicon Valley Headquarters Santa Clara, CA, USA Online Division Headquarters Santa Barbara, CA, USA UK Development Center Chalfont, United Kingdom EMEA Headquarters Schaffhausen, Switzerland Pacific Headquarters Hong Kong, China About Citrix Citrix (NASDAQ:CTXS) is the cloud company that enables mobile workstyles—empowering people to work and collaborate from anywhere, easily and securely. With market-leading solutions for mobility, desktop virtualization, cloud networking, cloud platforms, collaboration and data sharing, Citrix helps organizations achieve the speed and agility necessary to succeed in a mobile and dynamic world. Citrix products are in use at more than 260,000 organizations and by over 100 million users globally. Annual revenue in 2012 was $2.59 billion. Learn more at Copyright © 2013 Citrix Systems, Inc. All rights reserved. Citrix, Xen, XenServer and NetScaler are trademarks of Citrix Systems, Inc. and/or one of its subsidiaries, and may be registered in the U.S. and other countries. Other product and company names mentioned herein may be trademarks of their respective companies. 0913/PDF