Apache Authors: Michael Bushong, RealWire News Distribution, Liz McMillan, David Smith, Bob Gourley

Related Topics: Cloud Expo, Java, SOA & WOA, Virtualization, Apache, Security

Cloud Expo: Article

Understanding the Impact of Your Workload on Your Cloud Infrastructure

Deploying dynamic and scalable websites

Enterprises are quickly realizing that their future success is dependent on their ability to adapt their business to the Cloud. That realization however comes with more questions and concerns about executing an effective cloud-based strategy. The explosion of the OpenStack community has made it possible for hosting providers and businesses to create or utilize Amazon-like public and private clouds, but it's clear that the Cloud is not a one-size-fits-all solution. One prime factor that dictates the success of a cloud computing strategy is the particular workload an enterprise is tackling. From DevOps, to rapidly deploying dynamic and scalable websites, enterprises' workload needs should dictate their cloud architecture.

The specific workloads have an impact on many elements of the cloud, particularly the architecture of the infrastructure. It becomes clear how integral infrastructure architecture is to meeting workload requirements as we examine specific workload use cases.

The first element to consider in the architecture of cloud infrastructure is computing power. The number and speed of compute nodes within a cloud configuration will dictate how quickly processes can be executed. This comes into play prominently when assessing a workload, as the computing power required to develop a web app pales in comparison to the compute power required to execute Big Data analysis. Large-scale data analysis projects require powerful compute capabilities. While this kind of project is completely within the purview of well-constructed cloud architectures, that architecture must be designed as such.

The next integral ingredient to a cloud's architecture is the storage architecture. There are several different types of storage that vary in availability, resiliency and transactional performance. Amazon's Simple Storage Service (S3) provides a multi-tenant object storage environment, while block storage, like Amazon EBS, provides a persistent storage target. Typically an enterprise architecture would require a multi-level SAN architecture that provided enough IOPS (input/outputs) for the storage of the VMs as well as the transactional block storage. As flash storage has matured, it has become possible to collapse the typical storage architecture, running virtual machine operating systems and persistent transactional data on the same tier.

Another variable that's worth pointing out is that of data access speeds. While one might have a large element of storage space, the ability to quickly access the data stored within is a factor in developing infrastructure for particular workloads.

The last vector for consideration is that of density. In many datacenters, space is readily available. However, that may not always be the case. Compact and energy-efficient datacenter hardware systems take up less space in a datacenter, thereby saving space and presumably cost. However, dense hardware tends to be more expensive - making the proposition contingent upon cost per square foot versus the cost of denser hardware. One must also consider the power density per square foot as this varies widely depending on the data center. This kind of determination must be made based on ad hoc criteria and circumstances. Less dense solutions tend to also be less power-efficient, bringing an additional cost point of analysis into the picture.

Dissecting DevOps
DevOps is a term that has gained quite a bit of notoriety in recent years, as enterprises acknowledge the interdependence of IT operations and software development teams. DevOps aficionados are looking to cloud technology as a means to more closely align the two groups' respective goals, which tend to be fundamentally at odds.

The DevOps operation means creating a cloud environment that allows developers to quickly self-service launch the necessary build and test virtual machines required to create the artifacts used in a continuous delivery pipeline. This kind of pipeline requires that the main code base (often referred to as the trunk or mainline) be constantly in the "green" state and execute with no fatal errors. One of the fundamental keys to creating that pipeline is rapidly rebuilding and unit testing any changed code. Some development shops rebuild on every code check-in by every developer, while others take a less extreme approach and build every ten minutes or on the hour.

The success that can be achieved by a continuous build environment is largely dependent on a fast, well-orchestrated infrastructure. In this use-case, an IT manager will seek out a cloud architecture that launches and kills virtual machines (VMs) quickly, and includes highly accessible storage. Depending on the specifics, this could result in a cloud that combines a large amount of IOPS to quickly launch the VMs and perform the workload.

Deploying Dynamic and Scalable Websites
There's arguably no greater beneficiary of cloud computing than a company that repeatedly launches similar websites. Let's take a media company as an example that delivers entertainment content across its platform. Critical to this company's success is delivering existing and new content through rapidly changing websites. Powering this are innovative applications that provide interactive experiences that engage and create a loyal user base. For this particular type of workload, developers require automated provisioning and flexible storage and compute options, as different launches require different demands, such as a UGC contest demanding greater storage and an MMORPG video game that requires a compute-intensive environment.

These requirements often vary in their scope but are consistent in their frequency, so it is vital to eliminate the need for repetitive, time-consuming tasks such as installing and configuring commonly used website software like databases and web servers. Well-made templates can be re-used and when consistency is maintained automatically, system administrators can focus on higher-value tasks rather than performing repairs. Where other workloads may have a narrow scope, elasticity and flexibility within compute, storage and data access elements is required to effectively and efficiently deploy dynamic and scalable websites.

Approaching High Performance Computing Animation
One interesting HPC application of cloud technologies is that of animation rendering. Over the years the animation industry has used various computer hardware and software technologies to automate the steps in the production process. Because many of these steps require high-performance computing systems with significant CPU and IOPs capabilities, animation shops have often relied on purpose-built hardware and software systems for their peak capacity. With the advent of server virtualization, high-speed solid state drives (SSDs) and standards-based cloud platforms, animators are taking a closer look at the benefits of cloud technology. In order for these workloads to be efficient and effective in the cloud, high power computing must be coupled with high IOPs, as virtual machines must be launched and deprovisioned as short lived but CPU-intensive tasks.

Designing an infrastructure around a particular workload is a process that requires comprehensive understanding of the basic functions of the workload in question, and while optimizing an infrastructure for a particular workload can present some front-end hurdles, the efficiency and potential cost savings in the long run are significant, as managers can focus resources on a particularly impactful element of their architecture.

More Stories By Christopher Aedo

Christopher Aedo is senior director of technical operations at Morphlabs where he oversees the technology and operations side. He found his niche early in his career while helping a global accounting firm move their information systems from an IBM mainframe to a distributed network of Novell and SCO Unix servers. He is currently focused on making it easy for technology groups to move their infrastructure and applications from bare-metal or virtualized servers into public and private clouds.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.