Recent Changes - Search:

edit SideBar

CloudServiceProviders

Introduction

Need lots of server power, but don't want to buy it and maintain it yourself? Have a program that is in high demand sometimes, and low demand at other times? Cloud computing may be right for you.

There are MANY cloud providers. The intent of this wiki is not to collect a list of all providers, but rather to give an overview of common features, pricing and academic discounts by looking at 4 providers as a test sample (Amazon, IBM, Google, and Microsoft).

  • Blank slate vs. platform

Cloud providers differ in their approach to how much platform is automatically provided. On one end, Amazon provides a fairly blank slate for developing a new instance. Clients load packages similar to setting up a conventional server. This allows for high customization but could take more time. At the other end, IBM Bluemix has predefined "buildpacks" which detect the type of application (e.g. a web app) and automatically set up supporting programs (e.g. a web server). This shortens start-up time for typical applications, but can cause problems for applications that don't fit the mold. Other providers lie somewhere in between.

  • Cost

Cost is complicated. Providers charge for pretty much everything, from storage to number of API calls to service fees. To make matters worse, providers use different cost criteria making direct comparisons difficult. And, Google is the only provider I found so far that offers billing limits (some more offer billing alerts). For all others, clients are responsible for whatever cost is incurred. Some providers offer free or discounted service for courses and/or academic research. Please see the cost section for more info.

  • Scripting

Scripting is a must for cloud clients. Scripts should be written to handle setup and teardown of instances, so that each instance does not have to be setup by hand, and multiple people can reproduce the same setup. Some providers charge by instance allocation (meaning any content that exists on the cloud cost money), whereas others charge by runtime only. In the case of instance allocation charges, the client is responsible for tearing down instances to avoid charges. Teardown scripts are very important here.

  • Build process

The build process is typically separate and not managed on the cloud, unless an additional DevOps service is purchased. The developer typically uploads e.g. a .war or .jar file. For large files, this may take many minutes. So, this time should be weighed against the cost of the DevOps service. Nightly build scripts could minimize wait time.

  • Additional features

Some providers offer additional features such as:

  • Private cloud and Hybrid cloud

A dedicated set of resources that only a specified client can use. This may include servers owned by the client, but operated by the cloud provider.

  • Bare-metal access

Allows clients to specify the server environment that will be used, without virtualization.

Supporting services

Ansible is an automation tool that replaces scripts with "playbooks" of actions for managing instances. See the testbed Ansible Notes for more info. Ansible academic pricing is $500/year for 100 nodes.

Cloudera helps bring together data stored in disparate locations and provides data analytics.

CloudPhysics is a service that uses predictive analytics to simplify resource management in the cloud, saving money and time.

Docker is an "open platform for distributed applications for developers and sysadmins". Docker provides a standardized container format so that apps may be easily run on a variety of platforms. See the testbed Docker wiki and Ansible + Docker Notes for more info. Docker is free for unlimited public repositories plus one private repository, and extra cost for more private repositories starting at $7/month for 5 private repositories.

Campus services

The UC Berkeley Infrastructure Services is a cloud provider option.

The advantage of a campus solution is easy billing. Christopher notes: "..setting up billing with a non-campus provider is very difficult. In theory, the contract needs to be vetted by campus and campus has some very onerous contract requirements that most corporations will not accept. So, what happens is that individuals agree to the contract and then get reimbursed."
Prices are competitive starting at $37/month for a small instance (1 CPU, 2GB RAM, 50 GB disk).

Berkeley also has a campus license for the VMWare Academic Program, for "non-production and research use". This program includes VMware Workstation, Fusion, vCenter, vCloud Suite, vSphere, and more. For universities that might not participate yet, departments can join for only a $250 annual fee.

Pricing

Because there are so many kinds of charges and different service offerings, it's difficult to make a statement about which provider has the overall "best" pricing. Amazon offers the longest free trial (12 months vs 1 month others) and the greatest variety of pricing options.

It would be helpful to specify the requirements for the applications to be hosted in the cloud and create an estimate for those applications. Many providers offer cost estimators.

Total cost is based on:

  • How much memory is consumed by your instance(s) (whether they are running or not)
  • Number of calls handled by running instances
  • Optimization (compute, memory, network, ...)
  • Add-on services (such as database storage, debugging, analytics such as language processing...)
  • Using a cloud-based build environment, if you choose to use one
  • Monthly fees, such as tech support

All of these providers offer free trials. However, each provider uses a different metric for its free trial, making comparisons difficult.

Only Google offers billing limits for all accounts. Microsoft offers limits for select trial accounts. Amazon offers alerts, but no limits. IBM offers neither alerts nor limits.

Pricing summary

  • Amazon, http://aws.amazon.com/ec2/pricing/
    • 12 months free tier of 750 hours/month of 1 GB micro instance, 30 GB data storage, a 15 GB bandwidth service allowance, plus some extras
    • Price scaled to instance size
    • Price scaled to optimization criteria (general purpose, compute, storage, memory, GPU)
    • Offers on-demand, reserved, and spot (opportunistic) pricing
    • Support: Free basic, $49/month developer, $100/month business, $15,000/month enterprise. https://aws.amazon.com/premiumsupport/pricing/
    • Per-hour billing
    • Billing alerts available; limits not possible
  • IBM, https://console.ng.bluemix.net/#/pricing/cloudOEPaneId=pricing
    • 1 month free trial of up to 2 GB
    • Each month, 375 GB-hours runtime free. Appears to only charge by runtime, so no charges for non-running apps.

(This is half of Amazon's 750 hours/month for 1 GB if your instance uses the whole GB; but Amazon ends at 12 months and charges for non-running apps.)

  • Priced per GB-hour runtime
  • Extra charges for API calls and data cache for web and mobile
  • Support: Free forum, $200/month minimum standard or 10% of charges (whichever is greater)
  • Assuming per-hour billing
  • No billing alerts or limits
  • Google, https://cloud.google.com/appengine/pricing
    • Free daily quota of 1 GB code in storage, 1 GB data in storage, 657K API calls, 200 daily channel hours, many other specs
    • Priced per runtime
    • Charges for network traffic, data storage, dedicated memory, logs, and SSL over 5 free certificates
    • Per 10-minute billing
    • Billable limits available
  • Microsoft, http://azure.microsoft.com/en-us/pricing/
    • 1 month free trial of $200. (A single-core standard server of 0.75 GB RAM / 20 GB disk is $15/month).
    • Priced for pre-defined combinations of number of cores, RAM, and disk memory
    • Price scaled to optimization criteria (basic, standard, optimized, performance optimized, network optimized, linux support)
    • Support: Free basic, $29/month developer, $300/month standard, $1000/month professional, custom. http://azure.microsoft.com/en-us/support/plans/
    • Per-minute billing
    • Billing alerts available, billing limits only for certain trial accounts, no limits available for general accounts

Academic licensing

Some providers offer free or discounted services for faculty that use cloud services in a class, and some providers offer research grants for research projects.

  • Amazon
    • Offers Amazon Web Services in Education Grants for courses or research. Proposal required. Grants are good for 2 years or until all credits have been used. The UC Berkeley RAD lab has received a grant.
  • IBM
    • The IBM Academic Initiative offers access to many IBM products, though Bluemix is not specifically mentioned.
    • Plans to provide Bluemix to faculty and non-commercial researchers at no-charge, hopefully starting at end of Q1 2015. Nanci Knight is the IBM Academic Initiative manager for Cal, nknight@us.ibm.com .
  • Google
  • Microsoft
    • The Educator Grant program offers 12 month $250 allowance for faculty and $100/month 6 month allowance for students for coursework.
    • The Azure for Research Program offers one-year research grants. Proposal required.

Security

App developers should be very careful to protect their cloud account credentials. Otherwise, hackers may access the account and have virtually unlimited ability to start new instances at your expenses. Bitcoin miners routinely scan Github and other public pages for credentials that are accidentally checked in. This can lead to thousands of dollars in charges. Even security researchers have made this mistake.

Documentation

Amazon and Microsoft offer free Kindle books. Here are a few:

Bluemix Java program setup instructions

Coming soon!

Edit - History - Print - Recent Changes - Search
Page last modified on April 13, 2017, at 11:01 pm