Cloud technology has been around in some shape or form for more than 50 years. How can we make such a claim? Let’s compare today’s cloud computing to computer timesharing from the 1960s. Timesharing was a computing environment that supported multiple users simultaneously. This sounds suspiciously similar to the modern idea of “the cloud.”
What we did not have 50 years ago was the internet. We did not have super-fast, ubiquitous connectivity. Can you imagine going into a Starbucks and not having free Wi-Fi available? Also, 50 years ago, we did not have cheap, fast storage nor did we have lightning-fast processors. We did not have true abstraction of the physical resources into virtual resources as we have today. The programing language “C” was just emerging as a portable programing language across all computer operating systems and the relational database was yet to be conceived. In the last 50 years, the computer industry has evolved tremendously. Yet, in so many ways, we still have a long way to go.
How Fast Is Fast Enough?
According to Kissmetrics, 40% of users abandon a website that takes more that 3 seconds to load. How many times have you cursed your computer because a program took too long to load? Would you do business with an online retailer whose site was not available 24x7? How many people leave a store because the checkout line is too long? And, why are retailers looking at drone delivery of packaged goods today? It’s because whoever gets there first will have a huge advantage over the competition. Along the same lines, software developers have embraced development in the cloud because they are tired of waiting for in-house resources that may take hours, days, or weeks to be provisioned. With a corporate credit card, they can have access to nearly unlimited compute and storage resources immediately. As a society, the more we receive, the more we demand. Our expectations continue to rise, and it could be said that we have become the “now or never society.” The cloud is an effective response to meeting every demand immediately.
Enter the Cloud Keeper
As developers choose the corporate credit card over in-house IT and thereby obtain the needed resources instantly, the cloud evolution expands exponentially. Developers’ sole focus is getting the job done and making their management and, therefore, the stakeholders happy. They do it for all the right reasons, and management approves it for all the right reasons. The business is struggling and the tasks needed to be done ASAP. There are many valid reasons to give the green light to the cloud.
When a DevOps team gets results, everyone is happy. For most companies, the reality does not hit home, until 6 months later, when the magnitude of the cost and problem starts to be realized. Recognition that there is a problem is further complicated by the way the typical corporate infrastructure is scattered/stretched profusely. There is off-premise infrastructure versus on-premise infrastructure. There is corporate managed infrastructure and non-corporate infrastructure. There is public cloud, private cloud, and IaaS, PaaS, and SaaS. It should come as no surprise that it will typically take months before the sheer magnitude of the cloud expense becomes clear.
To meet the new demands of managing infrastructure in the cloud in a proactive manner, the new role of the “cloud keeper” has emerged. The cloud keeper is part technologist, part accountant, and part administrator. The cloud keeper has financial responsibility for keeping control of infrastructure expenses to prevent financial chaos. The role is part technical, since it requires an understanding of how and where resources are deployed. The cloud keeper must know how a resource is paid for and have enough technical expertise to know which resources can be spun up or down or would be better suited for one cloud paradigm over another.
A Forklift Approach Is Not a Cloud Strategy
In our race to the cloud, so many companies take an existing server and drop it into a cloud. Management feels great; they can report back that they are leveraging the cloud. And yet, this approach will ensure they are not optimally using resources or harnessing the true power of real cloud architectures. When a resource is abstracted, as it is in the cloud, it’s important that the resource demands are accurately determined and the virtual machine is “right-sized.” A virtual machine that is bloated is wasteful, and a virtual machine that is starved for resources will not perform optimally. The failure to properly “right size” will further compound the problems of managing resources in the cloud. Even so, many companies today feel they have a successful cloud strategy when all they did was forklift their existing infrastructure to a “cloud-like” format and drop it in place.
The true power of the cloud can only be realized when the applications are re-engineered to take full advantage of the flexibility and agility of the cloud. Having applications that are cloud-aware will open up new capabilities. Building applications that can share resources with other applications as well as applications that can scale up and down resources will give your business the ability to leverage the full power and capabilities of the cloud.
Licensing in the Cloud
In the cloud, software licensing is, in some ways, simple but, in other respects, may add an uncomfortable layer of complication. Some licenses are included with the purchase of the infrastructure, and you can pay for them “by the drink.” However, for other software, the licensing model may indicate that it is the customer’s responsibility to understand how you may and may not deploy that software in the cloud.
Most importantly, if your business is using a license, it’s your responsibility to license the software correctly or put yourself at huge financial risk. It’s not the cloud provider’s responsibility. If the cloud provider moves a portion of your infrastructure onto a new server, they may also inadvertently create a huge license exposure for you. Making sure you have awareness and control of what resources are spun up and down and where those resources reside is an important component of the cloud keeper’s role.
Further complicating this license exposure is the unfortunate fact that not all vendors make clear the specific licensing rules, but, after the audit, make it very clear how much you owe them when you have violated them.
The cloud brings unlimited capabilities, coupled with nearly unlimited license exposure. Whatever infrastructure your business operates on, it is your responsibility to understand the proper way to license the software you use. Drop lifting onto the cloud will cloud-enable your business, but will not open the true power of the cloud. The true power and capabilities of the cloud can only be realized when your application is engineered properly to leverage it all.