Thoran Rodrigues explains how cloud technology allows small companies to compete with big providers, thus making enterprise-grade software available to all.
Cloud computing has many well-known benefits: transforming fixed costs into variable costs, enabling cost optimizations, bringing virtually unlimited scalability for computing resources, and so on. Some of the greatest benefits of the cloud, however, aren't the direct ones, but rather derived benefits that come from the changes that cloud computing has brought upon the IT ecosystem as a whole.
In many senses, the cloud has leveled the playing field between many IT providers. A good example of this is enterprise software. While some years ago it would be nearly impossible for a small company to provide what we consider "enterprise-grade" software, cloud services and solutions have enabled a veritable revolution on this space.
There are several different variables that need to be taken into account in order to consider software enterprise-grade. These can range from reliability and stability of the software all the way to the availability of high-quality support. This need for excellence in multiple levels is what made it so hard for small companies to compete in this space. Cloud computing, however, has helped them reach and, in some cases, even surpass traditional vendors on most of these dimensions.
Let's take software availability as an example. Before the cloud, delivering high availability necessarily meant having extremely high-quality code that could run for months or years on end without any problems, as well as having specially developed code that enabled companies to create highly available architectures with failover clusters and such things. This leads invariably to a high-cost development and maintenance process that practically excluded small companies from this market, reducing overall competition.
The cloud, however, has enabled companies of any size to deliver high availability on their offerings. By delivering software as a service, on the cloud, it becomes much simpler to create a redundant architecture that is capable of handling both excessive loads as well as localized failures. Not only that, but the development process as a whole becomes much cheaper.
Like with availability, many other aspects related to being enterprise-grade can be made a lot easier to achieve. The cloud makes testing software much easier than ever before, allowing small companies to build much better software. It also enables scenarios of remote support that allows these same small companies to deliver support on par with any large corporation.
A cloud move
Perhaps even more importantly, the tremendous growth of cloud computing over the past few years emboldened cloud providers to pursue the enterprise software space with their own offerings, and with completely different business models than the established vendors. Amazon's incursion into Data Warehousing with its Redshift offering is but on example of a greater trend.
This, in turn, has forced the traditional software vendors to build their own cloud-based offerings, mimicking many of the aspects of existing solutions: variable-cost based software that can be hired on the web.
All these trends have combined to create a unique situation: enterprise-grade software is now available for companies of all sizes. Any company can now have access to high-quality CRM, ERP, Data Warehousing, BI, or any other kind of system they find necessary. This is, in fact, allowing small businesses to retake their place as the drivers of innovation in IT: the cloud enables providers to reach these small companies as never before and, as they represent a much bigger potential market, allows their needs to drive new developments and the evolution of IT as a whole.