When I first heard of cloud computing, I immediately conjured up the image of a person with a mass of empty confusion ballooning over his head, like a cartoon in the Sunday paper.
Turns out, I wasn't very far off. The definition of "cloud computing" from Whatis.com indicates that it is "a computing paradigm in which tasks are assigned to a combination of connections, software and services accessed over a network. This network of servers and connections is collectively known as 'the cloud.'" Whatis.com defines a paradigm as "a pattern or an example of something." "The word also connotes the ideas of a mental picture and pattern of thought," it continues. So in a way, my original image was accurate. Cloud computing opens a lot of questions on how its services are being managed for good quality. It should not be subject to our own interpretation; we need to know exactly the kinds of services that cloud computing offers.
Generally speaking, the cloud method is used to categorize and manage vast amounts of data from one central location, and is usually handled by a vendor or service agency that provides comprehensive management of an application, hardware, network and security. These vendors or agencies may use functions like Software as a Service (SaaS), service-oriented architecture (SOA) and virtualization to perform tasks that are similar to those maintained by an application service provider (ASP). With cloud computing, the entire system is administered and supervised at an off-site environment that could be as close as a warehouse down the street or as far away as Asia or Eastern Europe.
Companies that use cloud computing do so because it allows them to add new service capabilities at any time, without the hassle of purchasing new software and training employees on the systems. But how can you be sure that the cloud will deliver on its promise to bring your company cost-savings and quality? Do you really need cloud computing to achieve your goals? I believe this depends on how much risk a company is willing to take in the name of saving money. To me, anything coined as a "cloud" in the IT industry represents a network or application's unpredictability and heightened risk of error as data is transferred between two entities or locations. The key word here is unpredictability. From a quality assurance standpoint, this is a red flag.
Thoughts on the cloud
The biggest problem with cloud computing is that it forces the system's owner (or cloud customer) to rely wholly on the cloud service provider to manage the system, which makes it very difficult for the owner to keep tabs on the system's environment. If the cloud vendor is a third party in the system's owner network architecture (where the owner is responsible for providing service to its clients), the stakes are raised even higher.
If the network is slow, chances are that something happened on the cloud service provider's end rather than something the owner (or cloud customer) did. The issue could be related to other services that the cloud environment is providing to another client, or a controlled network demilitarized zone (DMZ). For these reasons, it is important that the entire environment for the cloud service is mapped out and a disaster recovery plan set up, just in case. A service-level agreement (SLA) should also be documented and enforced so as to meet the owner's needs as well as those of third-party customers.
It is often harder to get out of cloud computing than it is to step into it. Sometimes, only after a company signs up for the cloud does it realize its hands are tied, because all of its data and applications are then configured based on the cloud service provider's requirements. At this point, many companies feel trapped, asking questions like: "If the system is slow or goes down completely, will customer support be ready?" and "How fast will the matter be resolved, if it needs to be done ASAP?" But the real question to ask, before purchasing the cloud service, is: "How much risk to the quality of my system am I willing to accept in order to reap the cloud's benefits, and how much risk can my services and customers endure without tanking?" Also remember that if you are not receiving what you need, the cost for these services will only increase.
Cloud computing might not be a bad solution for small to medium-sized companies, especially if the reduction in cost is significant. I would suggest that you start by using cloud only with certain applications, rather then the entire infrastructure at once. Start small, and make copious records throughout a determined time period to find out if the cost savings are worth it. But I certainly would not suggest using cloud computing for the entire infrastructure for larger companies, where an intricate web of network systems can be hard to manage in the first place. It's better to keep everything in-house in that case.
Being well-informed goes a long way when considering whether or not to move forward with cloud computing. Do some research before making that decision. Of course, chances are you wouldn't even be considering switching to a new service provider if there weren't some kind of obvious cost-benefit, but be sure to also weigh the risks and the benefits among 1) the amount of management power you are willing to surrender, 2) the kind of service and quality of service (QoS) that the vendor will provide, and 3) the ability to back out if problems arise.
Five steps to follow when using cloud computing
- Take your time when weighing the risks of cloud computing. Don't try to rush into making a decision; drill down to the root of the problem. What is it you are trying to solve by switching to cloud? Is there another service or method that would be just as helpful and cost-saving, perhaps something that could be managed on-site? Or, you may want to find companies similar to yours that have used or are using cloud and ask them if they are satisfied with their service. Be sure that you have everything you need to make an informed decision -- don't just look at dollar signs. Talk to more then one vendor or service agency. See what questions they ask you about your needs. Are they asking questions to assist with your services or are they finding ways to get you to buy more from them?
- Keep a back-out strategy handy. Make sure that you can back out of cloud, if needed, prior to fully implementing the system. You never know what issues may arise on your end, or the provider's end, that may result in it making more sense for you to part ways. If the company does not offer you an option to back out, it could be a warning sign of power struggles down the road. You do not want to be locked in from the very beginning, because you will then relinquish control of your system, the price structure and your business decisions. If the cloud provider does offer a back-out plan, make sure you carefully review the documentation they give you before you move forward.
- Start small, applying cloud only to applications that pose little risk to your overall corporate operations. Try it out at first to see how well cloud computing meets your needs. Do not risk giving up even a fraction of your infrastructure to the vendor before setting up a demo or mock test. (But do not indicate to the service provider that you are taking them on a "test drive.") Be cautious at this stage, and watch how the vendor acts about their service; are they in the business to help their customers, or are they more concerned about making a sale? Take copious notes on how well the software performs its designated tasks, how quickly and efficiently customer support and its engineers can resolve the issue, if they consistently communicate with you and are open and honest. Test your system around the clock to make sure that the service offerings being provided to you are top-notch and meet your goals. It is also very important for you to map out the network's architecture completely, so you always have an insider's view of the service.
- Ensure that you will be able to retain control over the application's environment. If you do decide to use cloud computing, don't leave everything up to the cloud service provider -- you are paying them to make sure the system is being managed the way you need it to be! Develop appropriate documentation, measures and metric criteria, much like you would with a mock test or demo. Be sure to keep records of all of the interactions you have with the service: who you communicate with and when, if issues arise and how they are resolved, and where exactly in the system the problem occurred. Ask the vendor how your correspondence is being tracked on their end, and have a good understanding of their customer relationship management (CRM) process. For instance, will you be able to find an issue from the past stored in a database at any certain point in time? You might even want to go a step further and create a small internal team to keep an eye on the cloud provider. These individuals could be a part of your help desk function or from infrastructure.
- Maintain consistent communication with your cloud service provider. Make it clear to them from the beginning that you wish to receive regular updates on service level status and metrics. If possible, form a relationship with someone at the vendor whom you trust. Interact with them as much as you can so that you can be sure you're both working toward the same goals. The more involved you are with your cloud provider, the higher QoS you will receive. Your involvement will also ensure that you are not left in the dark when the vendor sees that something needs to be changed. You may want to create records of any meetings you have with your vendor, to act as testimony of what was covered, should doubt arise.
Try to fill the "cloud" above your head with facts and figures instead of question marks and exclamation points (or expletives … we've all been there). In other words, do not be afraid to do some research before making a decision on cloud computing! Always remember, the vendor or service agency should want to be on your level, interested in your goals and objectives, and provide clear, proven solutions to help you get there.
About the author: John Scarpino is director of quality assurance and a university instructor in Pittsburgh. You may contact him at Scarpino@RMU.edu.