General

What is GreenButton?
GreenButton is set of components that allows applications to scale out in the cloud. With GreenButton, you can run large, compute intensive jobs without having to invest in a data centre or compute cluster. Instead, your job runs in a compute cloud, and you only pay for the compute time you consume. You can get GreenButton in two ways: the Cloud Fabric product for enterprises and cloud service providers who want to run their own platform, and the Hosted service for software vendors who want to offer a cloud based service without the hassle of managing a cloud platform.

What is GreenButton Cloud Fabric?
The Cloud Fabric product is for when you want to run your own GreenButton platform, in your own private cloud and/or public cloud subscriptions. It is primarily for enterprises and cloud service providers. Enterprises typically run Cloud Fabric to manage workloads in their private clouds with the ability to burst to public clouds when needed. Cloud service providers typically run Cloud Fabric on their own cloud and partner with enterprise customers and/or software vendors to enable applications and drive traffic to their cloud.

What is GreenButton Hosted?
The Hosted offering is a managed service where we run GreenButton for you in one or more public clouds. It’s a convenient approach for Independent Software Vendors (ISVs) who don’t have their own infrastructure but want to market a cloud based service that their customers can take advantage of with the push of a button.

Platform

What clouds does GreenButton run on?
The current version of GreenButton runs on Windows Azure, Amazon EC2 and VMWare vCloud. Support for other clouds is planned – contact GreenButton about your requirements.

What client platforms does GreenButton support?
GreenButton services are exposed to clients via Web Services, which can be used from any platform. Our existing customers use GreenButton from Windows, Mac OS X and Linux.

What benefits does GreenButton have over using the 'raw' cloud?
All clouds provide APIs to dynamically provision capacity and run applications. GreenButton provides a number of advantages over these raw APIs:
  • You don't need to develop your own tools to manage machines.
  • You're not locked into a single cloud vendor.
  • We give you simple, easy to use reports to manage your costs.
  • We give you a Web dashboard to monitor jobs and diagnose problems.
  • It's much easier – you only need to write the application specific code to launch your application, without worrying about all the cloud plumbing.
  • The Cloud SDK is designed to work hand in hand with existing applications.

Is my work secure?
Yes. When you upload a file to GreenButton, only you can access it. And when you submit a job to GreenButton, only you can access the results. What’s more, after your job runs on a compute node, GreenButton wipes your data from that compute node before it is allowed to process another job. And all communication with GreenButton is secured using SSL so your files and jobs can’t be intercepted on the wire.

How much compute power can GreenButton give me?
As much as the cloud can provide! Usually we can provide you with thousands of cores within 20 30 minutes. Sometimes there may be limits on compute nodes with special characteristics (extremely high RAM, Infiniband, etc.) depending on the cloud provider and the current load.

How big can my files be?
As big as you can upload and download from the cloud over the Internet. If you have files so large that it’s impractical to send them over the Internet, it is sometimes possible to ship a physical disk to the cloud provider and have them upload or download your files directly.

What is Mission Control?
Mission Control is a Web application where you can see your jobs, track progress, diagnose problems and download usage reports. For service providers and organisation administrators, you can also use Mission Control to manage user accounts.

What is CloudSync?
CloudSync is an application that users can run on their desktops to handle uploading files to the cloud and downloading the results of completed jobs. CloudSync is available for Windows and Mac OS X. Application developers can decide whether to recommend the use of CloudSync or to integrate upload and download into their own client software.

Concepts

What is a job?
A job is a piece of work submitted by a user. When a job is submitted, the user specifies the type of job and any settings for that job, and provides the input files for the job. GreenButton processes the job and makes the final and intermediate results available to the user.

What is a task?
A task is a piece of work to be done as part of a job. When a user submits a job, it is broken up into smaller tasks. GreenButton processes these individual tasks, then assembles the task results into an overall job result.

Applications

What kinds of applications are suitable for GreenButton?
Any kind of application that can scale across multiple nodes is suitable for GreenButton. Examples include embarrassingly parallel workloads, MPI (Message Passing Interface) applications, Big Data analysis, etc. Among the applications currently running on GreenButton are rendering, animation, simulation, bioinformatics, audio/video indexing and captioning, geological analysis, finance and many more.

How do I enable my applications to take advantage of GreenButton?
Enabling an application involves three components:
  • A virtual disk image containing the application software you want to run in the cloud
  • A 'cloud assembly' that specifies how to break jobs into tasks and how to invoke your application software for each task
  • A client through which users can submit jobs and retrieve results

How do I manage my Software Licenses in the Cloud?
GreenButton provides a number of ways to port or manage a Software Vendor's license in the cloud. The key thing is that the GreenButton platform tracks the number of milliseconds that end customers use your application and we use this aggregated time to charge the user’s GreenButton account. This charge is an hourly rate and includes the compute and storage costs, GreenButton management fee and most importantly – your license. We provide rich reporting of this consumption to yourself so that you can track cloud-based usage.

The options to migrate your application license to the cloud are:

  • Configure your license server in the cloud on a dedicated Virtual Machine. This can present challenges in the cloud due to dynamic hardware identifiers i.e. hostname and hostid. It can also present a high availability challenge as the license server becomes a single point of failure for all users.
  • The application can call back to a license server hosted on-premise by yourselves.
  • The preferable option is to modify the application to validate against a certificate thumbprint on the compute node where the software is running. Only GreenButton has the ability to deploy this certificate so you can trust if the certificate is present then it is a GreenButton managed Virtual Machine.

What is the Cloud SDK?
The Cloud SDK (Software Development Kit) contains the tools and libraries you use to develop the 'cloud assembly'. It's currently available for the .NET platform, with C++ and Java versions in the works. As well as the library components, it includes templates and an emulator so you can build and test your cloud assembly quickly and with minimum friction.

What is the Management API?
The Management API is a set of REST Web services which your client software uses to upload files, initiate jobs, track job status and download results.

How do I submit jobs?
There are two stages to submitting a job: uploading the files, and initiating the job. (We separate these two stages so that users can reuse files across jobs – for example if one file isn’t quite right you can just re upload that one rather than the whole lot.) As a client developer, you do both of these through the Management API REST services. You can choose how you present them to the user – fully integrated, separate upload step, file sync application, Web portal, etc. Users can also use the CloudSync application (available for Windows and Mac OS X) to upload files.

How do I monitor progress?
As a developer, you can get progress information to display to your users through the Management API REST services. If you need to track the progress of your own jobs, you can do so through the Mission Control Web portal.

How do I get job results?
As a developer, you can download job results, including previews, logs and intermediate results, through the Management API REST services. Users can also use CloudSync to download results.

Can I create a Web portal for my users?
Yes. Many existing GreenButton applications, such as Renderman on Demand and inCus, are accessed through Web portals. The Management API provides all the functionality you need to integrate GreenButton into a new or existing Web site.

Can I integrate GreenButton into my desktop application?
Yes. Many existing GreenButton applications, such as Numerix and Deep Exploration, are accessed through desktop applications. You can build a custom desktop application or integrate GreenButton into an existing desktop application. You can even plug GreenButton into Office applications.

Can I access GreenButton from mobile devices?
Yes. Although it’s rare for a mobile device to be the primary way to access GreenButton, in some application areas it can be useful to be able to monitor progress and check previews or outputs while on the move. You can easily build apps or mobile Web sites using the Management API.

Operations

What happens if a job goes wrong?
If a job fails, we'll alert the user who submitted it by email. Service providers can brand these emails as required. Applications can also detect failed jobs using the Management API. If the problem can be corrected without changing the job, you can restart jobs through Mission Control. For example, if the job failed because an input file hadn't been uploaded, you could upload that file and restart the job rather than starting again from scratch.

How do I diagnose problems?
Mission Control displays errors and job logs, which can be used to diagnose most problems.

How do I get an overview of jobs?
Mission Control displays details of all your jobs.

How can I tell whether my configuration is optimal?
GreenButton collects metrics such as CPU, memory and I/O load over the course of processing each task. These are graphed in Mission Control. You can easily see if your compute nodes are overstretched or underutilised and adjust your configuration accordingly.

Governance

How can GreenButton help me control my cloud costs?
You can download usage reports from Mission Control, with information about usage at the organisation, department and individual level. We provide these as CSV files so you can easily import them into Excel or other financial tools and compare them against budget numbers. You can also obtain itemised billing reports to drill into how individual applications and jobs are tracking against budget.