We are excited to bring Transform 2022 back in-person July 19 and virtually July 20 – 28. Join AI and data leaders for insightful talks and exciting networking opportunities. Register today!
I spent 12 years at Microsoft. The first several years were spent leading a team working on the SQL Engine (shipping various storage features for SQL Server 2005 and 2008). Then, in 2008, I joined an incubation team that was just starting to work on a cloud version of SQL Server that eventually became the Azure SQL Database. Being a leading part of the journey of the SQL Server team (and Microsoft in general) to the cloud was an amazing experience. After more than a decade at Microsoft, I joined SingleStore which was primarily an on-premises solutions business at the time but has since transformed into a cloud company with strong cloud revenue growth.
In today’s service-centric economy, enterprises of all sizes are jumping to the cloud.
If you are not a cloud company, your multiple will be very low. The valuation of Snowflake, which is clearly a cloud company, went to up to $88 billion. But Couchbase was valued at around $1.2 billion in its Nasdaq debut.
However, even if you’re not a cloud company, if you can successfully jump to the cloud, you can dramatically improve your worth. After Teradata embraced the cloud, its stock doubled.
There’s a reason why cloud is better for a company’s valuation. The cloud provides better economies of scale. Cloud companies benefit from the strength of the cloud ecosystem. Cloud technology makes it easier to tie things together. And many customers are now in the cloud, so being a cloud company can allow you to provide better experiences to those customers.
So, if you’re trying to build a great product, you should build it in the cloud. Here are three things you can do to make the most of the cloud both for yourself and for your customers.
Build the right infrastructure
Provisioning is significantly different in the cloud. Customers expect that getting started should be easy and fast. Don’t make users go through too many steps or make too many choices to get started. Set smart defaults and build the system to adapt to user behavior over time. The fewer knobs you have, the better the experience for the customers. If the customer does have to make a configuration choice, ensure that you have a telemetry system to see what they chose and how it worked. That way, you will know when something isn’t working, and you can use that information to make smarter default choices.
This will impact how you handle management and monitoring as well. In the on-premises model, if a customer had a problem, they would call you for support. But with the cloud, you can find and fix many problems before customers even notice them.
Operating in the cloud also means that your teams should establish authorization and control mechanisms for your product. Without the right controls, things can become problematic. A colleague once told me he saw this first-hand at Google, which used to charge BigQuery users based on the number of queries they ran. A student once ran up $2 million in charges overnight.
Understand the features that make sense in the cloud
Brainstorm the things that are only possible in or significantly improved by the cloud. Establish a cloud migration plan that lays out which data should be moved to the cloud and when so that you are best positioned to differentiate from the competition and optimize your cloud success.
Elasticity and on-demand pricing are things that people don’t always think about in on-premises deployments because it takes a long time to get more hardware. But in the cloud additional hardware resources are a click away. Scalability is one of the benefits of the cloud, so make sure you have the underlying architecture to enable customers to get more capacity or turn down the dial and pay less.
From a database perspective, one of those cloud-specific features is separation of storage and compute. This allows you to support performant read and write operations for the working set (your hot data) but have a low TCO for your cold data. That gives you the best of both worlds, with no additional management overhead. The system just moves the data where it needs to be based on how you are using it. This approach is only possible if you have access to very large object stores, such as Amazon Simple Storage Service (Amazon S3) and Google Cloud Storage (GCS).
The cloud can also allow for enriched experiences via sharing. Google Sheets is a great example. As you move to the cloud, look for opportunities to enhance the ways that people collaborate.
Integrating your database with cloud-only features from cloud ecosystem players can also make your product more secure, feature-rich and/or effective than it would be otherwise.
You can also leverage the cloud to offer higher-level service guarantees. If you run a database on flakey on-premises hardware or on someone else’s hardware, you cannot provide a five-nines service level agreement. Whereas, if you are running in the cloud, and you control the environment, you can offer and deliver on better guarantees.
Providing local or geographic failover in the case of a widespread disaster requires a physical data center in another location. This is cost prohibitive for all but the largest enterprises. The cloud provides this ability to just about any region of the world to any customer, for a marginal increase in cost.
Change the culture of the team
Imagine that you are moving your toaster business to the cloud. Rather than selling toasters, you decide to leverage the cloud to offer toaster as a service. But perhaps customers don’t want to supply the bread or worry about details such as toaster capacity. Maybe what they really want is the toast. Think about and figure out how to deliver on such customer needs.
Successful cloud organizations must also develop teams with the intuition of how things work, how they fail, why they won’t scale, what will be hard to support and how to do monitoring.
Your product teams will need to understand how the cloud works to build the products. Offer your product teams training that gives them the tools that they need to understand the cloud.
Site reliability engineers (SREs) are also critical for cloud companies. Their jobs are to keep your service up and running. SREs should understand automation and have experience with cloud providers. There’s no substitute for experience building cloud distributed systems.
You will also need specialized skills, including backend engineers to build an API. This is important because cloud products should be built on top of an API, not just a user interface. APIs are valuable in that they can unlock new business models and revenue opportunities, enable integration and resource sharing and reuse and accelerate time to market.
The cloud provides businesses and their customers with many benefits. But becoming a cloud company is not just about running your on-premises product in the cloud. It requires changes to your organizational structure, your technology and your culture. These are not easy changes to make, but the benefits are well worth the effort.
Rick Negrin is VP of product management at SingleStore.