Most people seem to think that, from a technology adoption lifecycle perspective, cloud adoption is in the Early Majority, possibly even peaking to the point of being ready for the Late Majority. What that means for most companies is that there are lessons to be learned from those Innovators and Early Adopters who came before them so that cloud usage can be maximized. Here are some essential tips for different functions within cloud usage to keep in mind as you embark upon your own cloud journey.
Here is something no one says: “Our competitive advantage is that we have better email than everyone else.” Similar statements can be made about Customer Relationship Management, Human Resources Management, collaboration, and many other pieces of software that any company simply has to have in order to efficiently function in a 21st-century economy. The days of an internal IT department custom building or even operationalizing off-the-shelf software in a private data center are probably gone since there are companies out there that already provide Software-as-a-Service (SaaS), pay-per-use consumption for all of this.
So, go all in on SaaS for the table stakes applications. They’ll save you money since your expenses on them can match your growth and allow you to focus on your own custom application development that adds value to your competitive advantage.
Most modern custom application development ends up running on virtual machines in either a public or private cloud. From the application’s perspective, it often doesn’t matter where that hosting takes place so long as a load balancer can connect to the IP addresses of a set of web servers, which can then connect to the IP address of a database server, etc.
From an operational perspective, it can be useful to use a Cloud Management Platform (CMP) that provides a single pane of management glass across multiple back ends. The Gartner Market Guide on CMPs suggests that reducing cloud lock-in is among the key reasons for using a CMP, and they do so by making it much easier to deploy an application to one cloud, whether private or public, and migrate it someplace else when something in the cloud market, your business priorities, or anything else changes in such a way that you need to alter your hosting strategy. Using a CMP is a way of future-proofing those decisions so you have easier-to-implement choices later.
Now that you have your table stakes application needs being met by SaaS and your custom applications are deployed through a CMP, how do you know which cloud should host what application? What should run where?
The first part of that question has to do with your data. While fears over public cloud security are mostly a distant memory, some people are still uncomfortable having key pieces of data outside walls they own. In other cases, there are regulatory constraints that prevent certain data from resting in a public cloud. Other situations force applications to be on-premises because of latency with other applications. All that said, there are still legitimate data reasons that would lead you to deploying a particular application in your private data center.
Another part of the question at hand has to do with the demand of the workload. If it doesn’t vary a whole lot, the case for private cloud improves since, especially at scale, private infrastructure can be cheaper over the long term. However, if your workload can be turned off or scaled down frequently, the public cloud is difficult to pass up given its per-hour or even per-minute pay-per-use model.
If data sensitivity and workload demand guidance don’t leave you with a clear hosting choice for a particular application, the tie-breaker may be to run a mini bake-off with a series of benchmark tests. Any top CMP should give you the ability to run application throughput testing for different instance types on a specific cloud or even across clouds so you can get a price/performance comparison to guide your hosting choice.
For example, suppose you had a three-tier web application that used a load balancer, a web server, and a database server. Using a CMP, you could run throughput tests on different sized virtual machines on different clouds. On the following graph from one such test, throughput is shown on the Y-axis and approximate cost per hour on the X-axis:
This set of tests ran a throughput analysis on 2, 4, 8, and 16 CPU instance types across three different clouds and shows, for this specific application, that throughput peaked at the 4 CPU instance types and that AWS was both faster and cheaper than competitors.
It is important to keep in mind that each application runs slightly differently on each cloud provider, so results per application will vary significantly, but the graph illustrates the point of how important benchmarking can be in making workload placement decisions. And when something changes, like a vendor announcing new pricing or a new instance type, a test can quickly be run from the CMP to see if it makes a difference or not.
Enough lessons have been learned by Early Adopters of cloud usage that some solid tips are now available for those who are still at the beginning of their journey. Making extensive use of SaaS for table stakes-type applications allows a focus on custom applications that add value to a business’ bottom line. Using a CMP gives flexibility and future portability of those custom applications that act as an insurance policy against changes that will come later. Private cloud is best for applications with sensitive data or steady workload demand. Public cloud excels for hosting applications without as much sensitivity to data and varying workloads.
When in doubt, benchmark using your CMP. Put all that together, and you can maximize your cloud usage to your benefit.
--
A 20+ year tech industry veteran, Pete Johnson is the Technical Solutions Architect for Cloud in the Global Partner Organization at Cisco Systems Inc. He can be found on Twitter at @nerdguru.