When your development team tells you that they plan to move one of your key applications to the cloud to become a SaaS service, one of two things usually happens:
First, they will try to recreate the exact functionality with the same architecture running on computers rented in the cloud. Tip: Flee, the project is doomed to failure.
Second, they will reinvent and rethink this application to take advantage of some of the fundamental benefits of cloud computing; in other words, the native cloud approach.
While it is possible to bring traditional applications and data operations directly to the cloud, many SaaS vendors have taken the first benefits of adopting a native, cloud-based architecture. In this edition of eWEEK Data Points, George Demarest, Senior Director of Marketing at Kyligence, explains why he thinks the native cloud approach will trump a direct software port to the cloud.
Elasticity offers a cost advantage
It’s almost never a good idea to try to match the specifications of your physical infrastructure to the virtual infrastructure of the cloud. Even though Amazon, Azure and Google clouds provide virtual machines of all sizes that more or less match the specifications of their physical counterparts, you’ll almost never get the best deal for your cloud spending. These platforms offer flexible pricing options such as ‘reserved instances’, enterprise agreements and savings plans. Your cloud IT administrator can guide you.
The separation of IT and storage improves both
In your data center, the servers you buy usually have direct-connection storage (DAS) that you can use to store temporary files, images, documents or other. But when you enter the SaaS arena in the cloud, it’s dangerous to rely on this model because the needs of your computer/processor can increase and decrease very differently from your data storage needs. The cloud allows you to use object storage services such as AWS S3 or ADLS, which can be purchased, optimized and managed independently of your IT needs. This separation of IT and storage will help you avoid a “success crisis,” such as adding 10,000 new users.
The scaling reads and writes separately scales the two
Similarly, when you deploy data-rich SaaS services to a potentially huge simultaneous user base, you can choose the best data discovery, data manipulation and data recovery technologies. In the past, relational databases may have been the logical choice for these functions, but for data volumes and users across the cloud, it may make sense to choose more specialized cloud services, such as column storage, memory databases or data streaming. This way, if the majority of your workloads are read-hungry and your database entries are burst or intermittent, your normal SaaS operations continue, even when the paperwork may increase (for example, at the end of a quarter or year). This can provide a better user experience and a more resilient operating model.
Design for cloud-based object storage
To go further with the issue of storage, a cloud-based design decision is to focus on the benefits of cloud storage services, such as S3 or ADLS. Cloud providers will be under pressure from competition to improve and innovate within their storage services. Application architects who follow closely and quickly adapt to these innovations will have all the advantages over more circumspect competitors. Take, for example, Amazon’s recent addition of reading after writing consistency. Integrating this feature into storage may mean that paying for some kind of SQL query engine may not be necessary in some use cases. Other areas that could benefit from this competitive innovation are security, encryption, compression or other cost-cutting measures.
Make it infallible
An obvious advantage for companies that take a native cloud approach is the mentality of immediacy, automation and simplification (nothing is always simple). SaaS providers can often live or die if they can provide instant provisioning, a set-it-and-forget-it configuration, and a “push-button” user experience, even for complex IT or business functions. The other aspect is infallible, which is to enable users to be more productive through increased automation, integrated predictive intelligence or machine learning that can ensure that your environment works optimally. SaaS companies need to be able to create foolproof workflows and increase user productivity and efficiency.
Provides a plausible exit strategy
While each cloud provider offers proprietary cloud services (data warehouses, ETL, messaging, storage), they also provide a rich set of ready-to-use open source technologies such as Spark, Kafka, Flink, MySQL, Postgres and many others. While this goes too far to say that using these open source offerings makes it easier to switch from one cloud to another, it means that a migration may not be a total rewrite if a cloud provider change is in the cards. Specifically, many IT architects are turning to a multi-cloud model, as many companies are already dealing with two or more cloud providers. If your organization can expertly leverage the cloud services of different providers, being able to prioritize one cloud over another is the first step to sustaining your solution.
For SaaS vendors to succeed in a crowded market, they need to start ahead by imagining their services as the perfect microcosm of the cloud: elastic, innovative, resilient and, hopefully, cost-effective.