Microsoft may be getting ready to take the wraps off its One Net, known more recently as Prajna, project, that has been under development for over a year. While not as sci-fying — for want of a better term — as some of Microsoft’s other operations, Prajna is fascinating in its own, quieter way.
What is Prajna? Simply put, it is a Microsoft Research project that aims to build a distributed functional-Programming platform that could potentially make life easier for those looking to build cloud services that use big-data analytics services.
If you are one of those bravehearts who are still with me following the description above, i will try and elaborate some more. First, lets take a look at how CCS, Microsoft Research’s Cloud Computing and Storage division which is in charge of the One Net project, describes Prajna on its website,
Currently, the main project of the CCS is Prajna, an open sourced distributed platform for building cloud service and interactive big data analytics. Prajna can be considered as a set of SDK(s) on top of .Net that can assist a developer to quickly prototype cloud service, and write his/her own mobile apps against the cloud service. It also has interactive, in-memory distributed big data analytical capability similar to Spark.
The Apache Spark mentioned above is actually an open-source big-data framework that is capable of batch processing, streaming, interactive queries, and machine learning workloads. However despite all its advantages, there is a catch with Spark, which is the lack of a native and distributed storage system.
Prajna, while similar to Spark in its essentials also offers several additional capabilities. As a Microsoft Job listing notes,
Prajna offers real-time in-memory data analytical capability similar to Spark (but on .Net platform), but offers additional capability to allow programmer to easily build and deploy cloud services, and consume the services in mobile apps, and build distributed application with state (e.g., a distributed in-memory key-value store),
According to a statement by Microsoft team, while more effective, Prajna is also pushing the boundaries of Spark’s realm by,
enabling multi-cluster distributed programming, running both managed code and unmanaged code, in-memory data sharing across jobs, push data flow, etc.
What’s more, though written in F#, Prajna is consumable in any .Net language, further boosting its usefulness. The folks over at Microsoft, are certainly very hopeful as far as Prajna’s future prospects are concerned. As per Jin Li, the head researcher on Prajna,
I believe that OneNet is more flexible and extensible than Spark, and will revolutionize how high performance distributed program is build in the future.
Microsoft has previously dabbled into programming distributed systems, which have in the past, included DryadLINQ, Naiad and Orleans — the last of which was made open source by Microsoft only this year.
The software giant may also be mulling over a paid version of its internal Cosmos big-data service. If true, the service will bring the “Kona” analysis engine, the “Cabo” storage engine and a SCOPE-derived SQL-friendly language known as SQL-IP to millions of developers and programmers around the world. However, when — and if — the service is made publicly available, remains to be seen.