SaaS. Public Clouds. Private Clouds. If you’re in the software industry, chances are you hear these terms pretty much every day. From your boss to your colleagues to the software industry gurus you follow on Twitter, cloud solutions are what everyone is talking about right now. But with so much noise out there, you may be asking these questions:
“What exactly are cloud solutions?”
“How relevant are they to my industry?”
“Why should I build my next solution in the cloud?”
These are very good questions we hear from many of our clients, too. As we move into an era of solutions that include Google Docs, Office 365, Mint.com and many others, it’s important to understand what these cloud solutions are and what they aren’t, as well as how customers interact with them. In this blog series, we not only want to answer your questions, but we also want to give you ideas for how you can build successful cloud solutions that speak to your customers’ needs.
To ensure we’re on the same page as you are when you read this series, it’s a good idea to start with a clear working definition of the cloud. The cloud is nothing new. In fact, the cloud has been around since ARPAnet first linked two computers together in 1969. Up until recently, the cloud consisted mostly of web and file servers hosted on different Internet-connected networks and really didn’t have too much more to offer. It remained “the Internet” for years. However, once companies started to build and deliver applications and complete solutions on the Internet, they decided to rename the Internet as “the cloud” to breathe new life into the same infrastructure. The Internet was a network of connected computers and web/file servers, and now it is a network of connected cloud solutions and cloud service providers.
While cloud solutions are very different from each other, they typically have a few common characteristics that define them as such. Cloud solutions often offer benefits such as instant provisioning of new customers and users. This requires scalability, which is provided by virtualized resources with the ability to expand and contract servers and compute power on the fly based on need. First, a cloud solution is typically deployed (installed/configured) on a group of servers hosted and maintained by a third party. With this model, the customer’s main benefit is that his or her IT department typically is not involved in the installation, configuration, or maintenance of the solution. Believe it or not, since budgets continue to shrink and more IT departments are outsourced, many IT departments are advocating for cloud-based solutions because they don’t have to be involved as much over the lifecycle of the solution. Overall, the total cost of ownership of a cloud-based solution is often much less than purchasing and maintaining a software solution in house. Secondly–and this might go without saying–cloud-based solutions are almost always accessed by people using a web browser through the Internet using standard web ports (e.g., 80 and 443) with little to no software installed locally to make the solution work. A good cloud solution will work from any network on any computer that has a modern web browser. Lastly, most cloud-based solutions are multi-tenant to achieve economies of scale for the provider.
There are two ways you can architect a multi-tenant solution, and it is extremely important to understand the difference between them. The first way to implement a multi-tenant solution is cheaper but less secure. You would have a single database that contains all data from all customers in the same tables. Naturally, this is easier to build and cheaper to run. However, this makes a lot of customers nervous because their data is commingled with their competitors’ data in the same table. The only thing separating one customer’s data from another is a customer ID field on each record. The second way to implement a multi-tenant solution is more expensive but also much more secure: Have a unique database for each customer who uses the solution. Naturally, with one DB per customer, there is no commingling of data. Each DB can be encrypted with its own unique encryption key, and there is almost no chance one customer can gain access to another’s data.
Now that we have working definitions of the cloud and cloud-based solutions, let’s talk about the words public clouds, private clouds, and SaaS. The servers and data in a public cloud are hosted on a provider’s network intended for multiple customers to connect from any place with an Internet connection. In a private cloud, a solution and all of its data is hosted within the firewall of a single customer’s network and is only accessible by that one customer’s users. Software-as-a-Service (SaaS) is nothing more than a deployment and a model (and sometimes a monetization method) and basically means that users access the hosted solution on demand, as they need it, with little to no installation required. SaaS is the opposite of an on-premise solution. Knowing this, you can see how certain industries would be pulled toward cloud solutions.
If you think about why customers are entertaining cloud-based solutions, it will become clear why most industries today are moving towards them. Costs are a driving factor for every business as they are all going up, like costs for personnel, health care, raw materials, and IT. At the same time, customers are demanding things to be built faster, delivered more quickly (increased costs again) and at a lower price. As a result of this and the current economic climate, most companies are seeing their department capital budgets going down, which means they have less money to invest in costly on-premise solutions. With that in mind, it is no surprise that cloud-based solutions are most relevant in industries that are being forced to operate on leaner budgets, such as higher education, facilities management, healthcare, and legal. Based on a quick review of publically available RFPs, you will find that even the federal government is moving to cloud-based solutions for some of its needs. These industries are moving to cloud-based solutions due to the tremendous cost savings as well as the other benefits they provide.
The benefits of cloud-based solutions are rather substantial for both the customer and the solution provider. Let’s look at why cloud solutions are important from both sides of this table.
The Customer. More customers are demanding services in the cloud for a number of reasons. First of all, many are becoming more cost-sensitive about large purchases and are moving from a CAP-EX operating model to an OP-EX model, meaning they don’t want to commit to purchasing a system for $50-$100k up front. Instead, these customers desire a low monthly payment with no commitment and quick onboarding. Secondly, internal IT costs are rising. We have been hearing from our customers that internal IT department chargebacks for hosting a new application are often just as much, or more, than the license of the application. Lastly, on the same point, IT departments themselves are asking for more cloud-based services since they are running “leaner” than they have in the past.
The Solution Provider. The number one reason you should be thinking about building your next solution in the cloud is simple: Your competition is already doing it. If you take a step back and think about it, the reasons become clear. In a world of cloud-based applications and agile development, you can provide new features and defect fixes every day if you want to, but in reality, the release schedule usually is once every two or three weeks. The point is when there are new features to be rolled out, all you have to do is update a single cluster of servers in a cloud instead of rolling out an update to each of your customers, getting it installed, and dealing with the support fallout of incorrectly applied upgrades and patches. Secondly, when all of your customers log into the same multi-tenant environment, you are able to accumulate all of their usage data in one place. Check out our blog on machine learning and data lakes to understand the benefits.
When all of your customer usage data is stored in one place, you can…
- Understand usage patterns and see what features customers are and are not using
- Perform A/B testing of new features/ideas in a real environment
- Directly market and sell additional functionality (upsell) to specific sets of customers with specific usage patterns. For example, you can say, “We noticed you use feature X. Do you know that if you upgrade to the premium package, feature X is expanded in a way we think would be useful to you?”
Lastly, here’s what we consider the real value of a cloud-based solution: analytics. With cloud solutions and their no-commitment monthly payments comes the reality that you could lose every customer each month. They simply are not locked into any commitment, which is one of the main selling points to the customer in the first place. As a software industry, how have we retained customers in the on-premise world? Implement and release new features before the competition does. With cloud-based solutions, your competition can do that just as quickly as you. So, what is the new way to provide differentiated value to your customers? It’s through using insightful analytics and reporting.
To learn how you can select the right provider to help you build your cloud solution, stay tuned for next week’s blog, “What are Cloud Solutions Anyway? Part 2.” Or, contact us here to set up a time to talk with us about your questions and interest in implementing cloud solutions.
About the Author
Abdul Rafay Mansoor is a technical architect at ObjectFrontier, Inc., and his work primarily involves presales consulting. Abdul has been a developer for more than a decade, and he began taking on presales consulting roles a few years ago. Abdul’s area of interest is cloud native development, and you often will find him passionately advocating cloud adoption to our clients.