By: Michael Burke, Account Director
At this point it’s probably not possible to overstate the impact of cloud computing on the modern technology landscape, as well as the overall economy. It is, however, still possible to overstate the progress that companies are making in leveraging cloud computing, and it’s certainly possible to misunderstand how it is actually applied in practice. With that in mind, we hope this blog will serve as a basic crash course in cloud terminology, that you can use to build your understanding of what is essentially a simple principle with massive, massive implication.
On-premise vs. the Cloud
First, let’s start with the most basic explanation possible. In some ways, it’s unfortunate that “the cloud” was the term that the industry ultimately settled on because it gives the impression that applications are running somewhere other than on solid, tangible hardware. In fact, applications are still running the same way they’ve always run–on a computer, or on hardware–the main distinction is that they’re being accessed through a web-based portal, rather than through the device that the software actually resides on. Thus, you’ll sometimes see the term “on-premise” or “on-prem” listed as counterpoint to the cloud–all this means is that the software is either running on the computer on which it is being used, or on a server within close vicinity (in other words, on your premises).
The cloud as a verb, not a noun
In this way, “the cloud” should really be thought of as a strategy, rather than a thing in and of itself. And whether or not to implement a cloud-based strategy becomes a question of “does it make more sense for users to run this app on their own computers, or through the internet?” The advantages of running something on the cloud are abundant. For example, software over the internet or Software-as-a-Service allows a lot more flexibility in terms of the number of people that can simultaneously be working on a project, and helps companies alleviate the burden of version control.
Also, for the end user or customer, it relieves them from the burden of having to “babysit the hardware”–in other words, the software vendor, rather than the user, is responsible for ensuring that the application runs smoothly. If you’ve ever had to contact Microsoft support because you’re having trouble with Outlook, you have experienced only a small taste of what an IT department goes through in ensuring that all of a company’s critical applications run the way they’re supposed to. So in many cases, there’s an advantage in terms of cost and overhead to running things in the cloud. Also, many have argued that, for companies, cloud-based arrangements helps you to more easily avoid “vendor lock-in”, or the tendency to have to continue with a particular kind of software simply because you’ve invested in it. To be honest, there are good counter-arguments to this point as well. But, at the end of the day, I think it’s totally fair to say that if you’re not having to run the software on your own computers, it’s going to be at least somewhat easier to get out of having to continue to use it.
Is the cloud a no-brainer? Einstein disagrees
With all this in mind, the cloud sounds like kind of a no-brainer, doesn’t it? If you answered affirmatively, there are plenty of thought leaders who’d agree with you–Marc Benioff has even made a career out of it. But, there are still plenty of reasons to keep the on-premise going for at least the foreseeable future. In some industries, security or compliance mandates are issues that ultimately lead decision-makers to keep certain applications running on-premise and not in the cloud.
Additionally, sometimes the functionality and the size and complexity of the application dictates that it has to reside on the machine through which it is being used. Take, for example, music recording software, which require huge amounts of input and output of data, and also require total real-time ability. As Einstein taught us, the universal speed limit is the speed of light. And while that’s pretty fast, if a big enough application is running on servers that are even a fairly short physical distance away, the total “latency”–or amount of time lag that it takes a message to travel from the user to the cloud-based server and back–can become significant enough to be a deal-breaker. Consequently, you don’t see a totally cloud-based version yet of many forms of software, such as digital recording. This is also an issue in financial services, with some trading platforms that require a massive pace and volume of transactions, and where even a split-second delay can cost companies millions in lost investment opportunities.
This isn’t to say that these challenges can’t be overcome. Well…the speed of light can’t be overcome, but there are certainly plenty of smart people of working their way around the issues it presents.
Amazon vs. Google vs. the Universe
We’ve only scratched the surface of cloud computing, and in fact some very smart people would say that this is a gross oversimplification. But we find that if people don’t get this initial concept about the cloud–that it’s really a strategy that says it’s better for users to access an app over the internet–then it’s very easy to get lost in what quickly becomes a very convoluted discussion when you get into things like scaling, legacy infrastructure and so forth. We haven’t talked about the “major cloud providers” like Google, AWS, Microsoft, or for that matter what it means to be a “provider”…but we’ll get into that soon. In the meantime, here’s a something to think about for the next conversation: AWS and Google aren’t really cloud companies, because they actually ARE the cloud.