[Guest article contributed by Rushabh Mehta, founder of ERPNext. Rushabh takes a fundamental approach to SAAS and Cloud model.]
I was reading this wonderful article on NYTimes.com about writing on Architecture that was about, why the contemporary writing on Architecture is too timid and uncritical (or too dense and gibberish). It also had a subtle take on information overload and why we have no deep insight.
Over the last few days, as we begin a new financial year, I have been thinking about our business model. Cloud and SAAS have been heralded as the next big thing in enterprise / SMB computing. Even critics who were initially worried about the security are diminishing against the PR onslaught of large software companies. We clearly bought the kool-aid. If I were to take a critical look at SAAS / Cloud what would I think?
Taking a long term perspective, if you see how technology and industry landscapes change over time, you will find that it alternates between distributed systems and centralization. As a new technology starts developing, there is a wave of centralization, as the early movers have huge advantage and the know-how is concentrated in a few organizations. The economy of scale benefits the organization that has the know-how to offer the new service at even lower price points. Then the technology matures, the know-how spreads to more people and the power of the center reduces.
Take high speed transportation. As the industrial revolution took unfolded, the railway (a central system) enabled more people to travel than ever before. It was so much better than any non-mechanical way of transport. But as the internal combustion engine technology matured, automobiles were developed that let people control their own transport. Air transport, today it is in the hands of a few central airlines because the technology has not progressed to such a level that everyone can have their own flight.
In software, look at Operating Systems. After staying in the hands of a small number of organizations for many years, thanks to Linux, today the know-how has spread and there are so many flavors of operating systems. Just take a look at the way energy, electronic control and food (kitchen gardening), education (Khan Academy) is evolving. Look at the explosion of Fonts for example. After living in tyranny of Arial and Times, today designers have so many fonts to choose from. There seems to be a wave of decentralization going on in those fields.
Cloud is your classic central system. What is enabling it are three things:
- Know-how / technology / bandwidth of hosting a server on the internet is limited. (Infrastructure-as-a-service)
- Setting up and maintaining software stacks and virtualization is hard (Platform-as-a-service)
- Cost of software licensing (for customers) and piracy (for publishers) are too high. (Software-as-a-service)
Let us look how technology is evolving on all these fronts.
- Infrastructure: You need redundancy that is expensive and makes sense to centralize. Unless more people set up their own boxes in house, and Static IPs are more easily available, this is hard to do.
- Platform: These days, setting up a Linux server is ridiculously easy. Any software developer worth his salt can do this. Just take any stable distro and most of the packages are pre-installed and whatever else you need is a “yum” or “apt-get” away. I think platform-as-a-service companies will have a tough time because what they offer is not so hard for someone to learn.
- Software as a service: Today, Open Source is blossoming in the start-up world. To get excited, just have a look at GitHub and Hacker News. Or look at WordPress, Mozilla, RedHat, Ruby on Rails / Django, Twitter Bootstrap etc. Licensing is not an issue anymore, specially with companies like us (ERPNext).
When you look at all this together, you wonder if the Cloud hype is really worth it? Ideally for a software developer should be able to host a software on vanilla infrastructure quite easily. Then what should be the ideal pricing for it?
We have firmly been in the SAAS world for the last 2 years and though we have not been very successful but things are looking up. Thinking about this makes me nervous. SAAS certainly makes it easy for a certain segment, who want running hot water. As we make our plan ahead, should we jump into the distributed Open Source world or stick to our guns with centralized SAAS / Cloud world?
[Reproduced from Rushabh's blog.]