|By Christopher Aedo||
|December 7, 2012 11:00 AM EST||
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.
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.
- "All It Took Was One E-Mail to Larry," Says Former eBay Research Director As He Moves to Google
- Google Ramps Up Its Mobile Reach: Launches "Mobile Web Search"
- Ericsson + Napster = World's First "Wireless Digital Music" Brand
- VoIP Update: Yahoo! Buys DialPad
- Free Guest Passes for the SOA World Conference & Expo in NYC
- SYS-CON i-Technology Podcast August 30, 2005
- A Flair for Food - Health-Conscious Cooking Is This Chef's Cup Of Tea
- Sony PSP May Feature Porn
- Kapow Helps Seiko UK, Provides SMS Text-Alert Services
- South Korea is World's Largest Phisher