Software Design Blog

Journey of Rinat Abdullin

Moncai - Cloud Computing Platform for .NET

Moncai - new Cloud Computing Platform for .NET/Mono might be coming to market in the first half of the next year.

Moncaí project (pronounced as monkey) is announced by the Sine Signal and features:

  • Heroku-style platform for .NET (git/mercurial deployments with the “push”).
  • Majority of the platform code will be Open Source.
  • Free plan for starting out and trying the service.
  • Pay for what you use.
  • Starts with Mono support.

This is just an announcement of the platform yet-to-come. But you might as well head to the project page and sign up for the beta testing (official announcement).

SineSignal is currently a small startup with a few .NET/Mono open-source projects (CouchDB API, SpecFlow integration for MonoDevelop, SSH library). It was created by Dale Ragan.

Moncai Cloud Computing PaaS platform for .NET

Signed up? Good. Now, let’s try to think what this could mean for .NET development experience, if the platform is released.

“If” is the important keyword here. Multiple things could happen. Some of the alternatives include: being bought by another company or captured by aliens for study.

Remember Simple OSS Cloud Computing Platform for .NET, that I wrote about earlier? Moncai has the potential to fit into that role, offering cost-effective and low-friction deployment for solutions based on CQRS and xLim architectures. Of course the development experience here is going to be a bit different from the classical Windows Azure feel for the number of reasons. However open nature of the project leaves the room for fine-tuning it for better practical experience.

Mono

Moncaí means monkey in Irish. We all know another project with a similar name - Mono framework (open source implementation of .NET by Novell, which recently hit core compatibility with .NET 4.0). You can already tell, that the platform will run virtualized Mono environments hosted on Linux.

BTW, if you want to try to running Mono on your own in the Cloud - there’s a short tutorial.

This would potentially allow to have competitive prices (less licensing costs to pay) and cross-platform development experience that still benefits from wonderful Visual Studio + ReSharper combo.

Mono is obviously a less known and stable territory, than the classical Microsoft .NET. This is both the risk and competitive advantage (depending on the angle you look at it from). Small agile teams can benefit from the offer a lot. Larger entities would not probably even notice the project in the mid-term (existing projects and investments in Microsoft stack tend to create inertia).

Open Source

Mocai development and delivery model is going to be different from the one of Windows Azure - more agile and flexible. “Majority of what is developed will be open-sourced in pieces” - I’m not sure how exactly this will work out, but if they will be accepting patches, then that’s already interesting.

My favorite and most frequently used .NET projects are open source: Autofac, Protobuf-net, NUnit, DotNetOpentAuth, NHibernate, to name a few. I believe that OSS nature (and ability to collectively improve product instead of waiting for the submitted feedback to be processed) was one of the major reasons why they got so useful and popular.

As for the Moncai: prepackaged combination of time-proven open source components might provide an interesting and powerful combination. Something like this might do the trick: non-blocking .NET server, AMQP messaging, server-hosted storage and caching services, routing mesh and elastically scalable isolated workers. Accidentally this also fits the concepts of Cloud Computing apps based on CQRS approaches.

Market Competition is a Good Thing

So we already have two players in the field of .NET Cloud Computing Platforms: one big and another small. In addition to that, another project might be showing up in the field later as well. This slight increase in competition might bring up some more excitement and motion into this field, resulting in better services and prices being offered on the overall.

Summary

In short, Moncai is a promising project that reflects the trends in the field of .NET and cloud computing projects (mono, cross-platform clouds, higher agility and flexibility).

Moncai might be compelling for small agile teams interested in the Open Source approaches, low development friction and competitive prices.

I can already tell about the excitement in the area due to feedback and emails I’ve been getting with questions about Heroku for .NET and the overall perspective of Cloud Computing platforms for .NET.

Larger companies could get attracted to the project later, if it matures through the initial stages. Roadblocks would include relatively young age of the entire technology stack (Mono + cloud computing itself) and existing investments into the classical Microsoft .NET stack and training.

I’ll personally keep an eye on this project. It should be an interesting opportunity for hosting scalable systems based on CQRS Architectures in a cost-effective way without having large development friction. Ability to participate in the development adds more flexibility in what could be achieved here.

We’ll see how this works out. Meanwhile - stay tuned (RSS). There might be some more interesting stuff coming))