Infrastructure Considerations for Cloud Computing
As the cloud computing trend continues to gain momentum, it is likely that you will eventually consider outsourcing some of your IT operations to a cloud service provider. Before you do however, it is important to realize that the cloud comes with an entirely new set of challenges that you may not experience with a traditional on-premise datacenter. Since some of these challenges revolve around your network infrastructure, I wanted to take the opportunity to talk about how making use of cloud services may impact your network infrastructure.
Service Level Agreements
Most of the larger organizations impose Service Level Agreements (SLAs) on their IT staff for mission critical applications. For example an organization may have an SLA that requires E-mail to be available 99.999% of the time. This so called “five nines of availability” means that the service is only permitted to be unavailable for a maximum of five minutes per year.
My point is that if you are bound by a strict SLA for your mission critical applications, then it would not be in your best interest to outsource those applications to the cloud. The reason is simple. No cloud service provider can guarantee that your SLA will be met.
Don’t get me wrong. There are some cloud service providers that will agree to be bound by an SLA. Ultimately though, the chances that the provider will actually be able to adhere to the SLA are unrealistic. After all, your organization will be connecting to the service provider over the Internet. Neither you, the cloud service provider, or your ISP controls the entire Internet. Even if a cloud service provider is able to achieve 100% availability for a hosted application, an Internet failure could render the application inaccessible. If you read the fine print on the cloud provider’s SLA, it will most likely say that the cloud provider is not responsible for Internet outages.
In the previous section, I explained how an Internet failure could render a hosted application or service inaccessible. It is currently impossible to completely avoid Internet failures, but you can sometimes use redundancy as a means of reducing the chances of an Internet related outage.
Of course simply having multiple Internet connections alone isn’t enough. The key to achieving effective redundancy is to acquire Internet service from multiple providers. Suppose for example that you had two separate broadband connections from the same Internet provider. If that provider experienced an outage then the outage would most likely affect both of your Internet connections, which would completely defeat the purpose of having redundant Internet connections.
In some cases it may be impossible to get Internet access from multiple providers. In those types of situations you must consider whether or not you should outsource anything to the cloud. For example, I live in a rural area that is serviced by a single “mom and pop” ISP who has a monopoly on the entire area. I couldn’t get service from a second provider even if I wanted to. Although I could get redundant connections from my current ISP, my ISP has an outage about once a week. As such, I would have to be out of my mind to outsource anything important to the cloud.
Admittedly, the biggest thing stopping me from using the cloud is that my ISP isn’t very reliable. But what if you are in a situation in which your ISP is reliable, but you can’t get service from a secondary ISP?
In a situation like that redundancy may still be beneficial even if you can only get service from a single ISP. If you have redundant Internet connections from a single service provider, those connections will not protect you in the event that your ISP has an outage. It will however, help to protect you against a hardware failure. For example, if an Internet router on your network were to fail, network hosts would still be able to reach the Internet though the redundant connection.
Another factor that you will have to take into account when you are considering whether or not to outsource services to the cloud is the inherent (and unpredictable) latency that comes with using a service over the Internet.
Lately, a lot of organizations have been using cloud storage. Doing so provides them with an unlimited, on demand storage pool. While there is no denying the benefits that cloud storage can provide, it is also worth noting that cloud storage does not currently provide the same level of performance that is available through on-premise storage solutions. Furthermore, because the storage pool is Internet based, the latency is somewhat unpredictable.
To give you a better idea of what I mean, consider my own situation. I work out of my home and most of the time my Internet connection performs fairly well. However, in the late afternoon I always notice my Internet connection getting slower as my neighbors start getting home from work. Sometimes the performance decreases to the point that my connection is borderline unusable.
Granted, I work from my home, but the same problem can occur in a corporate environment. Factors such as what the users are doing at a given moment and your ISPs overall capacity can lead to fluctuations in Internet performance, and these fluctuations can translate directly to latency if you are connected to a cloud storage pool.
Client Side Software
One last infrastructure requirement that I want to mention is client side software. If you are only using the cloud for Infrastructure as a Service (IAAS) as would be the case with cloud storage then the client software isn’t really an issue. However, if you are actually hosting applications in the cloud then the software that the clients use to interface with those applications needs to be reliable.
For example, I know someone who decided to use Microsoft Office Web App rather than having the expense of licensing Microsoft Office 2010 on all of their PCs. In case you are not familiar with Office Web App, it is a collection of free, Web-based versions of the Microsoft Office applications. These applications are designed to be accessible through a Web browser.
To make a long story short, the person in question ended up visiting a malicious Web site that used a virus to disable Internet Explorer. This caused them to not only lose access to the Internet, but also to the basic productivity applications that they use every day.
Even though this event didn’t occur within a corporate environment it very well could have. Not all cloud applications are browser based, but some are. Regardless of whether a cloud application is browser based or not though, it is critical that you take measures to preserve the integrity of whatever software the client computers use to access the hosted application.
In this article I have explained that although there are advantages to using cloud services, hosted services present a set of challenges that are often different from what one might experience in an on-premise deployment. As such, it is important to anticipate as many of these challenges as possible and to plan accordingly before you begin outsourcing resources to the cloud.