October 15, 2013

Why I dropped the Linux stack in Favour of Microsoft

I’ve been a Linux enthusiast for a couple of years now and have run my business off of Linux as much as possible. I run a business specializing in digital research and analytics, which means I need to ensure that my business tech stack is always available, easy to scale, has low resource requirements, a shallow learning curve and ample local talent available. Until recently I’ve coped with Linux for my backend infrastructure and its performed fairly well, but I’ve realized that the pros with going the Microsoft route now far outweigh any cons. Microsoft no longer seems to be the monolithic corporate behemoth of years ago; they’ve adopted a much more agile approach that really benefits small businesses like mine.

I made a slight error in judgement a couple of years ago when I selected Ruby on Rails as Fuseware’s development language and framework of choice. I figured the local popularity would grow tremendously and give me access to a powerful development stack at a fraction of the normal cost. Although Ruby is without a doubt extremely powerful, it has become a burden on my business as alternative solutions have started looking much more attractive. Microsoft have really revamped the way they treat tech startups, and migrating my business to a Microsoft stack has become a must, mainly based on the following changes in the big M:

  • Microsoft sets up Bizspark to allow startup businesses such as mine free access to Office, Visual Studio, Project, Visio among others – including access to a large training and support network and even assisting with funding
  • Microsoft releases Azure and allows for streamlined integration of software on the cloud that connects with all their other products
  • Microsoft starts supporting the Open Source movement with numerous contributions to the community – including a big data framework called REEF
  • Microsoft releases Office 365, which allows small businesses to function completely on the cloud with minimal upfront costs, connected to partners and suppliers seamlessly anywhere in the world
  • Not to mention the fact that you are dealing with an extremely mature eco-system of development tools that are endorsed by the world’s biggest companies
  • The learning curve of Microsoft products have gone way down as they’ve enhanced their integration across toolchains, provide numerous online training resources and have invested in making their platforms’ user experience much simpler
  • Microsoft fully support integration with some non-MS products. I’m sticking with my NOSQL database of choice (MongoDB) for the time being, but Microsoft’s products now seamlessly integrate with it, minimizing my migration workload

From a South African perspective, there are other considerations:

  • Microsoft is aggressively investing in tech startups in South Africa, providing free access to Azure as well as access to their international partner network
  • The local development scene in Johannesburg is almost exclusively C#, Java and C++ based (excluding front-end development). Finding Ruby on Rails talent is both extremely difficult and highly expensive, creating an annoying barrier to entry for smaller businesses looking for talent
  • From a future acquisition and integration perspective, the local corporates seem to favour tech stacks that are consistent with what they already have to minimize integration costs. The Microsoft stack is almost exclusively used by SA’s largest tech companies, making it a no-brainer.
  • The local community of .NET enthusiasts far outnumbers the Ruby on Rails community, which also has developed a bit of a hacker culture.

Ruby and the related Linux stack is still fantastic for quick prototypes at minimal cost. Internationally, its being used in some of the Silicon Valley’s highest profile startups. However, in SA, it seems that the Microsoft route has become the cheapest, easiest and most productive route you can go if you’re an up-and-coming tech startup.

Be Sociable, Share!


  1. Peter Ringelmann October 16, 2013 at 9:33 am

    Great article. What are your thoughts regarding PHP and Python? (which are arguably more popular and widely used than Ruby)

  2. Mike October 16, 2013 at 9:08 pm

    Thanks Peter, and good question. It all depends on the business goals you need to achieve. PHP is still a great backend language for building websites, there’s ample talent and the world’s best open source CMSs use it. However, my use case is much more on scalable backend infrastructure – the world of big data, analytics, real-time processing etc. and needs a solid set of tools and frameworks to make it work.

    I honestly haven’t seen much Python uptake in Joburg, but perhaps I haven’t been exposed to it yet. It definitely has its place and is more mature and wider supported than Ruby, but is there enough dev talent?

  3. Peter October 17, 2013 at 8:29 am

    No there probably isn’t much local Python talent. The reason I asked is because I’m currently at the very early stages of my development career so I’m trying to get a lay of the land in terms of languages and stacks to pursue.

    I’m quite inspired by what you’ve done with Fuseware and I wish you all the best for the future :)

Leave a Comment