GeRes2 - a .NET-based Job-Execution Framework for Microsoft Azure Platform Service

This repository contains the source code for the GeRes2 framework. See the Documentation tab for a more details on how to use this framework.

Overview

GeRes2 is a framework for asynchronous, reliable and scalable execution of short- and long-running jobs across multiple Azure Platform as a Service compute instances

Description

We are all familiar with the problem…how can I execute multiple jobs at scale, asynchronously in the Cloud? Most likely we come up with an architecture like this:

 

geresrough

 

But it is not always that straightforward. Further considerations may include:

GeRes2 considers all of these points and provides a framework that can be tailored to meet the requirements of your business needs and scenarios.

* At the time of publishing this feature was not included.

How it Works

Jobs:

Client:

Job Execution:

Job Host Auto-scaling:

Putting this all together, the architecture of GeRes2 with all of its core components and their relationship looks as follows:

http://download-codeplex.sec.s-msft.com/Download?ProjectName=geres2&DownloadId=833459

Source Code

The source code consists of 5 parts:

  1. Cloud deployment package (includes a Job Submission and Monitoring Web API)
  2. .NET Client SDK
  3. Sample Clients
  4. Sample Jobs
  5. Sample Auto-scaling policies

Once you have cloned this site please refer to the documentation section which has steps on how to deploy locally (VS Azure Emulator) and to your own Cloud Service subscription.

Contribute

You can contribute by reviewing and sending feedback, suggesting and trying out new features as they are implemented, submitting bugs and helping us verify fixes as they are checked in.

Roadmap

The source code on this repo is under active development that will be part of our next release. Planned features and future direction we will be available soon.