Cloud Computing

The term “cloud computing” can mean many things. At its core, a cloud is a intelligently organized group of computers that have the capability to act as a single computing service. This single computing service inherently becomes more powerful, scalable, and cost effective and any one computer can be on its own.

Benefits

Reduced cost: Through virtualization of systems, companies and institutions have been able to reduce their costs of ownership through lower data center costs.
Improved efficiency: Given the portable, modular nature of newly built virtual machines, companies could improve efficiency of their systems by consolidating previously dispersed systems into tightly managed virtual server farms.

Current State

The concept of cloud computing is one that evolved from existing methods of hardware virtualization that had been developing over the years.

Today many individuals and organizations have moved beyond the virtualization phase. Instead of stopping at virtualizing a server, there are now fully hosted, scalable applications and programming platforms available at varying prices.

U-M Resources for Getting Started on a Path to the Cloud

For those who need scalable, cost effective, and malleable compute systems and don’t happen to own a data center or compute closet, a cloud computing solution may be a good fit. Some suggestions on where to start and how to move forward can be found below.

VaaS (Virtualization as a Service)
A good first step to the cloud is to virtualize locally before moving to a cloud platform. It’s often said that if you can’t get a system working well locally, the cloud will only make issues that much more visible. U-M’s VaaS service is a great way to get on the path to the cloud without the hassle of researching multiple third party vendors, and purchasing is as easy as providing a shortcode.

Flux
Flux, a shared HPC cluster operated by the Center for Advanced Computing isn’t a cloud per se, but it has many characteristics similar to a cloud. Flux offers a cloud-like purchasing scheme, allowing users to purchase “cores-per-month” on low-risk, low-commitment basis. As a platform, Flux offers support for various programming languages. As a software service, Flux offers a vast software collection for scientific research use. While it may not be a cloud in the purest definitions, it does serve as a starting point for researchers wishing to scale their computational work beyond that what can be achieved using a single server.

Off-Campus Resources*

The university has not yet endorsed third party cloud vendors for university use at this time. However with appropriate due diligence members of the university have used and are currently using cloud resources advantageously. The following is short list of several major cloud resources, some currently in use by various groups at the university.

Raw Storage, Compute, Application Development

AmazonWebServices
Amazon Web Services offers an array of services, from various storage offerings to point-and-click compute workflows using MapReduce. Services also include relational and non-relational databases, Linux and Windows servers, various programming development environments, and even Amazon’s own e-commerce fulfillment services.

Rackspace
Rackspace is an established hosting environment offering a variety of solutions. The company’s focus is primarily on server and storage hosting, with a few enterprise software hosting options as well.

Data Transfer

GlobusOnline
As the next generation of the Globus Toolkit, Globus Online offers users a free method of securely moving files from one point to another. Developed and supported by members of Argonne National Laboratory and the University of Chicago, Globus Online is the new easier way to use Globus file transfer capabilities previously afforded primarily to national grid users.

Application Development

MicrosoftWindowsAzure
Instead of focusing on the Operating System, Microsoft has chosen to enter the race to the cloud at the application development layer. Microsoft Windows Azure is an application development-ready environment that can interface with local dev software to create a seamless dev to production environment. Visual Studio and Eclipse are the development environments proven to work well with Azure deployment methods. Azure also supports various programming languages including C#, Ruby, Java, C++, Python, PHP, and of course .NET.

GoogleAppEngine
The AppEngine from Google is primarily a development platform using Java, Python, and Google’s own programming language “Go”. Applications developed in AppEngine benefit from the reliability of the Google platform and can make use of the scores of APIs of existing Google Apps.

Ready-to-Use Applications

Sometimes all you need is the application and have no need to work at the server or application development layer. The following are just a few of many applications that have been fully adapted to the cloud and are now available as a software service to users.

SASOnDemand
Office 365 SharePointOnline
GoogleProductsandApps

Industry Publications

HPC in the Cloud is an online publication dedicated to covering high-end cloud computing in science, industry and the datacenter.

* Disclaimer: Researchers should not assume that third-party vendors or their applications or services have been institutionally scrutinized for compliance with relevant university policy, privacy, data security, and legal requirements. Consequently, it is important that you conduct a good faith effort to ensure that the most critical compliance risks are reasonably accounted for before completing registration or assenting to a click-through agreement with any third-party cloud computing service. 

We also encourage you to review the vendor’s Terms of Use, especially language dealing with accounts, passwords, privacy, security, and data recovery. Unless specifically stated and contracted for by Procurement Services, U-M does not endorse any third-party vendors; all transactions are between the researcher and the vendor.