An MBrace runtime implementation on top of Azure PaaS components. Enables easy deployment of scalable MBrace clusters using worker roles. It also supports on-site cluster deployments using Azure storage/service bus components for communication.
For a first introduction to MBrace please refer to the main website at mbrace.io. For developer information regarding the MBrace Core components, please refer to the MBrace.Core repository. If you have any questions regarding MBrace don't hesitate to create an issue or ask one of the maintainers. You can also follow the official MBrace twitter account @mbracethecloud.
Development of MBrace.Azure requires Visual Studio 2015 and Azure SDK 2.7 installed on your computer.
You can build the project either from Visual Studio or by running build.cmd Build
if using cmd/powershell or ./build.sh Build
if using bash/sh.
Before attempting to test MBrace.Azure on your machine, please make sure that your local time setting is correct. A significant time offset might create issues when attempting to deploy or communicate with an Azure cluster.
In order to use MBrace.Azure or run any of its unit tests, you must have access to an Azure account. Follow the instructions below to install the required Azure connection strings in your local machine:
- Create an Azure Storage account and keep note of its connection string. Save the connection string in the
AzureStorageConnectionString
environment variable in your local computer. - Create an Azure Service Bus account and keep note of its connection string. Save the connection string in the
AzureServiceBusConnectionString
environment variable in your local computer.
Follow the instructions below to deploy an MBrace Service to Azure:
- Sign up for an Azure account and download your publication settings file.
- From inside Visual Studio, navigate to
src/WorkerRole/MBrace.Azure.CloudService
. - Expand the
Roles
folder and double click onMBrace.Azure.WorkerRole
. - In the
Configuration
tab, select your desired VM size. - Close the Role menu and right click on the
MBrace.Azure.CloudService
icon on your solution, selecting thePackage..
option. - Under
Build Configuration
, select eitherDebug_AzureSDK
orRelease_AzureSDK
and hitPackage
. - Go to
samples/provision.fsx
and follow the instructions there.
Unit tests can be run by calling build.cmd RunTests
or ./build.sh RunTests
from the command line.
Make sure that you have followed the connection string installation steps described above.
Unit tests can be run manually by opening the MBrace.Azure.Tests.dll
assembly found in the repository's /bin
folder using NUnit-GUI.
Tests found here are separated in 4 categories:
Compute Emulator
run using the local Azure Compute Emulator and Storage Emulator, which need to be initialized manually.Storage Emulator
run using local Azure worker processes and the Storage Emulator, which needs to be initialized manually.Standalone Cluster
run using local Azure worker processes and an Azure-hosted storage account.Remote Cluster
run using Azure-hosted worker instances, which need to be initialized manually.
The MBrace project is happy to accept quality contributions from the .NET community. Please contact any of the maintainers if you would like to get involved.
This project is subject to the Apache Licence, Version 2.0.
Head (branch master), Build & Vagabond tests