Should I go to the Cloud? The Answer Is...Maybe!
What Is the Cloud?
Before rolling up our sleeves and getting elbow-deep into the details, let us take a big step back so we can examine what people mean when they say "The Cloud." Well, one of the official definitions is from Wikipedia, "Cloud computing is a type of Internet-based computing that provides shared computer processing resources and data to computers and other devices on demand."
OK, so if the official definition is not clear, the basic idea is that the cloud is a collection of someone else's equipment where you happen to host your stuff. I realize that is an oversimplification, but I want to dispel any of the anxiety that may be present. In my experience, some IT Directors have been hesitant to talk about moving to "the cloud" because of their lack of understanding. The goal of this article is to help Dorothy and the gang pull back the curtain, to see that this isn't magic. It absolutely seems like it sometimes, but as a Network Engineer, I can promise you, that it all follows strict technological rules.
IaaS, PaaS and SaaS, Oh My!
Now that we have seen the man behind the curtain is no wizard, we can start breaking down some terms and concepts at a high level. Undoubtedly, you've seen IaaS, PaaS and SaaS thrown around in meetings full of buzzwords. Perhaps you can even define those acronyms, but do you really know how it fits together? For those who are not familiar, I wanted to give some layman's terms for the common service models of Cloud Computing:
- IaaS - Infrastructure as a Service. This service model is where you are letting someone else host the physical equipment, but you're in control of building the servers, managing the storage, deploying applications but have limited networking device control. Many of the companies that I work with use this type of deployment for off-site Disaster Recovery.
- PaaS - Platform as a Service. This service model is more limiting than IaaS, because you don't have the ability to build the servers or manage the storage aspects of the environment. You make a request and these are provided for you. This is typically what web or application developers make use of for their hosted needs.
- SaaS - Software as a Service. This service model is the most limited, but probably one of the most widely used. The end user has access to an application across the web - and that's it. If a company's line of business application has a web-portal component or you're using some sort of hosted email application, then you're taking advantage of Software as a Service!
Which one is right for you? I can't tell you that. For some IT personnel, they love the ability to control most aspects of their environment, but don't want it in their office space. For others, they only want to be able to log into a web portal, answer some simple questions, use drop down boxes and click a button to get a server built so they can write code. Perhaps they only want web-based hosted email! That's the wonderful thing about Cloud Computing - you have so many options! But you have to evaluate what is best for you, from a performance, operational and cost standpoint. As an IT Director, you have to consider your CAPEX, OPEX and ROI balanced against your technological needs.
Public, Private or...Hybrid?
Now, at this point we should have a good understanding of the different service model types. We can dazzle our coworkers over lunch with talk about how certain business units would be better off just moving their operations to the cloud. But before we can actually take those ideas from break room pleasantries to raising your hand in meetings, let's take a look at the way cloud computing is deployed.
- Public Cloud Deployment - Services are delivered to end-users across a medium that is open for public access. Have you ever used the Internet? Then you've used a public cloud. Since it is open to the public and shared by all, it isn't going to be a good fit for everyone's needs. Amazon EC2, Microsoft Azure or even Google AppEngine are examples.
- Private Cloud Deployment - Hosting takes place in a specific location with a single company. You gain the benefits of 'the cloud' but with dramatically increased security since everything is under the governance of your IT department. Typically, this option is more expensive since you are required to host with a Data Center for co-location. Equinix, Peak10, or even Joe's Data Center (seriously - that's not a joke) are examples.
- Hybrid Cloud Deployment - An interesting approach to hosting and accessing resources in the cloud since it can utilize both Private and Public deployment models. I have seen this used in cases where companies have predictable peak times and during such events, they will spin up Public cloud servers to offload some of the processing so that their Private cloud servers aren't overtaxed. I've also seen cases where a company would have their production environment in their Private cloud but use the Public cloud for Disaster Recovery.
No More Reading, Show Me Videos!
If you thirst for more information, I urge you to strike out with your newly acquired knowledge since you can now ask more detailed questions. I'm including some videos below of Amazon, Microsoft and Google cloud services. Take a look at these and then go through the suggested videos as well.
Cloud War! The Difference Between Microsoft Azure & Amazon AWS
Microsoft Azure Overview
Getting Started With Amazon Web Services
Getting Started With App Engine
The Next Step
After reading this page and others, watching the videos on this page and others, now you're well equipped to make an informed decision. Remember the heading of this particular article - where my answer to the question of going to the cloud or not was "Maybe?" I hope that you can see now that it's not a clear-cut answer. There are a great many factors that you need to consider. Deciding to move some or all of your infrastructure to the cloud is a business decision and should be made after mapping out all of the costs. To help make your decision, ask yourself these questions:
- Is my work flow location agnostic?
- How process intensive are my applications?
- Do I need the ability to build or tear down servers in a moments notice?
- Do I have a solid Disaster Recovery strategy?
- Does buying and maintaining hardware onsite make better sense than migrating that responsibility to a Data Center?
- What are my business needs?
There are probably a thousand questions you could ask yourself or be asked when charting out a move to the cloud. If you read articles, watch videos and still aren't sure - bring in a consultant. I tell my customers constantly that moving to the cloud isn't a solution for everyone or every thing. It can be tough to peel away the hype and build spreadsheets full of pivot tables that do nothing but play the numbers game.
Ultimately, it's your business and your data. Whether you keep everything on premises, move everything to a Private cloud, utilize SaaS in the Public cloud or some amalgamation of all of them, just make smart decisions. Hopefully everything I have provided gives you the confidence to have intelligent conversations. Finally, take that break room chat about the cloud to meetings and open the dialogue about how your company and the cloud can work together.