MBrace.Core is a simple programming model for scalable cloud data scripting and programming with F# and C#. With MBrace.Azure, you can script Azure for large-scale compute and data processing, directly from your favourite editor.
MBrace.Core is a cloud programming model simple enough to be explained on a single slide.
MBrace.Azure implements MBrace.Core on the Azure cloud platform.
Simple cluster provisioning for Azure.
Integrate cloud-scale compute and data processing directly into your F#/C# scripting.
Scale your data scripts across tens to thousands of machines with seamless access to cloud storage.
With MBrace.Azure, use your Azure storage and compute assets, at your fingertips in your favourite editor.
Consultancy partners including Nessos and Compositional IT contribute to MBrace and provide training, support and consultancy services.
Combining the strength and experience of two consultancies, Nessos and Compositional IT partner to bring you training and support for both MBrace.Core and MBrace.Azure.
Confused by the cloud? Cloud computation and data can be simple, if using the right framework. MBrace.Core helps the cloud empower you, not enslave you.
Whether new to Azure or an advanced Azure developer, MBrace.Azure brings Azure storage and compute to your fingertips.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: |
open MBrace.Core open MBrace.Flow let numberOfDuplicates = CloudFlow.OfCloudFilesByLine ["container/data0.csv" ; "container/data1.csv"] |> CloudFlow.map (fun line -> line.Split(',')) |> CloudFlow.map (fun tokens -> int tokens.[0], Array.map int tokens.[1 ..]) |> CloudFlow.groupBy (fun (id,_) -> id) |> CloudFlow.filter (fun (_,values) -> Seq.length values > 1) |> CloudFlow.length |> cluster.Run |
MBrace.Azure integrates Azure storage and compute VMs as a kind of co-processor to your F# Interactive scripting sessions or your F#/C# applications. It brings Azure scalability directly into your favourite editor using an intuitive and powerful data scripting model. Combining MBrace.Azure with F# gives a powerful and scalable cloud data scripting solution. Don Syme, F# Language Designer
MBrace proved to be one of the most valuable tools we 've ever used; it managed to scale our flagship application ThermoS (a FORTRAN based legacy application) to the cloud, orchestrating a multitude of parametric executions and gathering all of the data produced, without altering a single line of code in ThermoS! The combination of Azure and MBrace coupled with ThermoS provided us with the necessary capacity for our clients' growing needs while keeping the costs at an absolute minimum.
Panos Theodossopoulos, CEO Propulsion AnalyticsI was amazed by the simplicity of MBrace and how quickly we could go from starting out for the first time to running compute tasks on a cluster of 150 instances, all from your favourite editor! Machine learning tasks often require cleaning up the dataset before being able to run any training on them. These clean up tasks could take a lot of time. In our case it was finding and removing duplicate images irrespective of their scale, resolution or crop. By using MBrace's easy compute distribution we could quickly try out our ideas and get results
Indeera, Machine Learning Software DeveloperI am using MBrace with great pleasure for distributed data science and analysis tasks, possible to run even in exploratory way as an interactive scripts directly from FSI. It is awesome to use for large input data sets, big data processing and any intense algorithms that can be distributed. MBrace managed to build a super friendly infrastructure with absolutely simple and fast cloud provisioning using Azure. One of the most valuable advantages of MBrace is the ability to define algorithmic patterns of distribution on the library level instead of internal runtime ecosystem. MBrace respects the efforts and helps to maximize productivity.
Alena Dzenisenka, Software Architect, Member of FSSF Board Of TrusteesThe combination of F# and MBrace provides great simplicity in programming the distributed cloud environment. I have a lot of code performing program analysis originally written in C# and I used Azure virtual machine and worker roles to do the parallelism. Now I started to use MBrace and am quite happy about it: (1) it is very easy to include my C# code along with many dependencies in the MBrace framework; (2) the parallelism is so much easier to control and change. (3) the scripting-style MBrace environment provides instant feedback on the parallel jobs, this greatly increases my productivity in data exploration.
Yi Wei, Research Engineer, Microsoft Research CambridgeMBrace substantially reduces the effort of running our large-scale numeric and symbolic computations on flexible infrastructure. With the documented examples and only a few hours effort, I adapted one of our molecular computing tools from our 10+ year codebase (F#, C#, C++) to having a working sample on MBrace and Azure. MBrace has allowed us to easily move our command-line tools from fixed compute clusters to Azure allowing us to scale on demand. Even better, it lets us specify the experiments dynamically from F# interactive.
Colin Gravill, Software Developer, Biological Computation, Microsoft ResearchMBrace.Core and MBrace.Azure are both fully open source under an Apache 2.0 license. You can contribute to them today.
Join the MBrace team. See our roadmap and development guide for ways to contribute.