While It’s Compiling is a continuing series of interviews with experts across a range of bleeding-edge technologies and practices, exclusive to Skills Matter. Be sure to subscribe to this blog for future interviews, or follow us on Twitter.
Find out who we’ll be interviewing next, and get a chance to put your questions forward with the hashtag #whileitscompiling.
Mauro Servienti is a RavenDB Contributor and CTO & Architect at Managed Designs, an IT company based in Italy.
Mauro will be joining us at Skills Matter on August 11th for an In The Brain talk on designing distributed, scalable and reliable systems, where he will start from the requirements that can drive us to scale and distribute a solution diving into the technical challenges and the obvious advantages that building a distributed and scalable solution brings to the table. Book your free place now!
You’ve been heavily involved with NserviceBus for some time now, and are an NserviceBus Champ as well as a Microsoft MVP. What drew you into this particular field of development?
Sincerely? Life 🙂 I started as a web developer more than 15 years ago and my curiosity has always driven me to explore everything – thus the natural path – front-end web development has been to deeply understand how HTTP works and then how the web server interacts with HTTP and finally this led me to discover the beauty of “the server-side”; and then, always pushed by curiosity and thirst for knowledge, I started diving into distributed scalable and reliable systems. On the other hand my passion for the C# language and for the community rewarded me with the MVP (Visual C#) award.
What have been the biggest wins for you over the years?
Happy customers, successful projects and failures. Yes, I’ve failed, not too much but I did and in the end it is a win, without failing it is much harder to learn.
Apart from the obvious (built with C#, data saving with JSON etc.), what sets RavenDB apart from say, MongoDB or other open source document databases?
Several things, starting from transactions, yes RavenDB is an ACID database when dealing with writes, ranging to the http interface that allows every programming language that can speak “HTTP” to talk to RavenDB without being required to depend on a driver to handle the communication protocol.
What’s on the horizon for RavenDB? Are there any major new developments we should be looking out for?
Yes 🙂 The team is working hard to push a stable and production ready build of the new major release, version 3.0, that will bring to the table new amazing features, such as a distributed file system, and will lay the foundations for being able to run RavenDB on *nix systems in future versions.
And finally, you’re doing an In The Brain talk for us soon on designing distributed, scalable and reliable systems – without giving too much away – can you give us a sneak preview on what the talk’s going to be about?
If at the end of the talk someone will stand up saying “we do not need to scale” it will be a real win 🙂
The main goal of the talk is to understand why we need to scale, and only second to that how we can scale both conceptually and technically with samples, and if we really need to scale, distribute and go down to the async path, have a sneak preview, and some advice, on how to properly handle all the caveats that scaling a system brings to the table and obviously understand the intrinsic power that scaling a system has.