First there were servers. Each server had a single purpose. In some cases, 90% of the time, they ran idle — a big waste of resources (processor, disk, memory, etc.)
Then there were server farms, which were groups of servers distributing loads for single applications. Distributing loads to multiple servers allowed for higher loads to be serviced, which allowed for tremendous scalability.
Then there was SAN storage, the aggregation of disks to provide performance, redundancy, and large storage volumes. A company could invest in a single large-capacity, highly-available, high-performance storage device that multiple servers could connect to and leverage. No more wasted disk space.
Then there was virtualization, the concept of running more than one server on the same piece of hardware. No more wasted memory. No more wasted processors. No more wasted disk space. But the management of isolated virtual servers became difficult.
Then there was infrastructure management. The idea that we could manage all of our servers from a single interface. No more wasted time connecting to each server to centrally manage them. But there were still inefficiencies when managing the applications and configuration of the virtual servers.
Then there was devops, the concept of having software scripts manage the configuration and deployment processes for virtual or physical servers.
… With all of these inefficiencies addressed, you would think that there is no more room for improvement. But we do have a “gotta-have-it-now” society, and in this age of fast-food and mass produced goods, we had to see this coming. The “Cloud”. The “cloud” is the fast-food of servers. It is the idea that someone else can leverage all of the aforementioned concepts to build and manage an infrastructure much larger than yours, and cheaper and faster (per unit) than you can. It is the idea that economies of scale drive costs so low for the cloud provider that those savings translate into big savings for the companies or people that leverage them. We all use “the cloud” in some way. Microsoft has OneDrive/SkyDrive, Google has Google Drive, and then there’s Dropbox. All of these services represent “the cloud” for individual people. But there are clouds for companies, too, like Amazon’s AWS, Google’s Cloud Platform, Microsoft’s Azure, etc.
So how do we know that the cloud is good for a company? Well, it’s really difficult to tell. For one, the traditional model for companies was one where they owned their infrastructure. All expenses were considered capital expenses – that is, there were not recurring expenses for their infrastructure equipment (except perhaps for software components). But when it comes to cloud infrastructure, the business model is, of course, the one that profits the cloud owner the most — the holy grail of business models — the recurring revenue stream known in IT speak as Infrastructure As A Service. Cloud businesses are booming right now! The big question is – is the “cloud” as good for the customer as it is for the provider?
In my experience, owning hardware has distinct advantages. The most recognizable difference is that a company can purchase infrastructure while sales are up – and they can coast along continuing to leverage their infrastructure equity when sales dip down. In my experience, once hardware is paid for, the recurring cost to run and maintain it is much less than the cost of any cloud solutions. After all, the cloud providers need to pay for their infrastructure, too. They pass that cost on to you after padding it with their soon-to-be profits, so your recurring costs with them will potentially always be higher than yours will be if you own your infrastructure. If you were to transform your initial investment into an operational expense and distribute it out over the lifespan of the equipment (let’s say, 5 years), then add in the cost of ownership of that equipment, then the numbers become close enough that I am comfortable enough to declare that at least the first year of ownership will be a wash. In other words, if you intend to own hardware for a year or less, then the cloud is really where you should be. The longer that you intend to continue to extract use out of your hardware, though, the more appealing it is to own your own rather than use the cloud.
To put this into perspective… it is common for townships to employ a mechanic to maintain their vehicles. If townships were to, instead, lease all of their vehicles, the mechanic would not be necessary and costs could initially be reduced. But, over time, the value that the mechanic introduces would more than pay for his salary. Company’s have mechanics, too, except that they are called systems administrators. They keep systems running and squeeze every last drop of efficiency out of a piece of hardware. If you are a company without “mechanics”, the cloud is for you. But if you do have systems administrators within your employ, then yet another consideration needs to take place. What is the reason for leveraging the cloud? If your answer is, “Because it’s the latest trend.”, then you need to take a step back and reconsider taking another sip of the kool-aid that you have been drinking. If your answer is, “We have been growing rapidly and our infrastructure cannot keep up.”, then perhaps the cloud is the right spot for you. If your answer is, “Our business is seasonal and sometimes we have a lot of wasted infrastructure that is online, but unused.”, then perhaps the cloud is for you.
There are other cases, and the math certainly needs to be done. Economies of scale make this topic interesting because it is certainly plausible that one day cloud services will be cheaper than owning your own infrastructure. There will always be the differences in CapEx vs OpEx, and that requires an assessment of your sales patterns before taking any plunge into the cloud. One thing is certain, though. The cloud is not for everyone. Assess your business needs, assess the competence of your IT group, assess your revenue streams, and then make a careful and calculated decision. But whatever you do, don’t do it just to do it. Because chances are that the results will not meet your business needs.