The industry push over the last several years has been to re-architect for multi-tenant applications. This has become the hallmark of the majority of non-public cloud SaaS players. From a cost and manageability perspective—they simply had no choice. Managing large data centers and lots of machines, either real or virtual, is an incredibly resource intensive task. There are always tradeoffs, of course. The reduced hardware footprint and shared infrastructure came at a cost—a shared codebase across many customers. As a result, vendors had to ensure their entire application was 100% configuration oriented, and could allow minimal customization at a customer specific level.
But in trying to solve the problem, Infrastructure-as-a-Service (IaaS) offerings in the public clouds also introduced challenges. While you don’t have to own the hardware upfront, it imposes an operational and administrative burden on any end-customer consuming the majority of offerings through public-cloud marketplaces, as the underlying virtual machines must still be maintained. This is why many software vendors—with single-tenant architectures, going to market through public cloud marketplaces—still have all the problems of traditional on-premise hosted solutions, including limitations around virtual machines and their known restrictions on availability, scale, and maintenance.
However, a new breed of application is on the horizon and it’s about to change everything. That of the Platform-as-a-Service (PaaS) application. Microsoft Azure’s original value proposition was PaaS— underlying platform services would be offered directly. They would be fully managed, available, and scalable with nothing to maintain, patch, etc. Other services started popping up such as the various database offerings from Amazon Web Services, etc.
There was only one small problem. You had to re-write your application—which no one was ready or willing to do and why Azure had to pivot into becoming an IaaS player themselves. However, as the proverb says: time heals all wounds. Software is evolving. The cloud PaaS offerings are evolving to have feature parity/compatibility with IaaS/on-premise (such as the latest releases of SQL Azure).
As a result, the world shall soon see the birth of enterprise applications running fully on PaaS. The underlying platforms are fully managed, available, and scalable. There is nothing to patch or maintain. The cost benefits that were once the sole domain of multi-tenancy are now built into the underlying PaaS cloud platform, as the smallest PaaS instances are inherently multi-tenant and are using shared infrastructure. They can also seamlessly switch over to more dedicated infrastructure as performance and scale requirements grow without the application having to know about it. Furthermore, PaaS enables full developer extensibility and customization to accommodate truly unique business requirements typical of the most complex enterprise scenarios.
In this world, one can truly have their cake and eat it too. For those able to operate in this manner, it creates a whole new opportunity for applications to have the benefits of SaaS without the traditional handcuffs shared infrastructure typically imposes on applications. The complexities of architecting for multi-tenancy are gone and solutions become inherently multi-tenant at their lowest tiers, all thanks to the advances in public cloud PaaS technologies. Ray Ozzie, Amitabh Srivastava, and the other creators of the original Azure offerings should be congratulated; their vision is becoming fulfilled—albeit five years later than its inception.
Contributed by: Ryan Donovan, Corporate Vice President of Commerce at Sitecore. He joined the Sitecore team via the acquisition of commerceserver.net in November 2013, where he previously served as President and Chief Technology Officer.
Sign up for the free insideBIGDATA newsletter.