OK. You’re a exec working at a small business, and you’ve decided you want to move everything to “the cloud”. You have great reasons: you want the scalability, the availability, you’re willing to pay for it, so let’s do it, right? You ask your systems admin to give you a plan, and when you get it back you see there will still be a server in the server room! What! Why?!

Well, it turns out you still need a server for some things. And by “need” I mean you don’t really need, but it’s worth the extra $8-10k to keep something there.

Yay Cloud?

No value in putting in cloud

Some things simply don’t need to be in “the cloud”. Why do we want things off site? Because we don’t want to manage in-house, we want the high availability, etc. Some things just aren’t worth that. For example:

  • A ton of large video files. These may be files that are rarely modified and accessed infrequently – but when they do need to be accessed, you don’t want to wait half an hour to download them. Rather than paying for a bunch of cloud storage, it might make more sense to get an affordable NAS on-site with backup to cheap off-site storage like Glacier.

  • Printer server. You may have all your users printing to network printers via a printer server. Printer servers are relatively easy to set up, so even if you lose it it’s not a big effort to rebuild. Also, if power goes down in the building it’s not like you need to maintain printing capability. And similarly, if Internet goes down in the building but power does not, your users will still be able to print!

The need for low latency

Sometimes, you need a resource to be physically close to you for faster load times. The two examples I gave above apply here, too. Consider the following print job examples:

Workstation -> switch -> firewall -> router -> THE INTERNET
-> router -> firewall -> cloud printer server -> firewall 
-> router -> THE INTERNET -> router -> firewall -> switch 
-> printer

vs.

Workstation -> switch -> printer server -> switch -> printer

Which option do you think will be faster? And when you’re dealing with large files, this will be much more noticeable. This is one of the reasons why cloud file sync is so popular - files are stored locally, and synced up to the cloud. When you’re dealing with traditional windows file shares, you may see a solution in place called a “Distributed File System” (DFS), where there’s a file server in your office which is synchronized with a file server in the cloud. This lets your staff access their H:\\ drive (or whatever) without having to go over the Internet, but if that server goes down they can still access the cloud version.

Another example where it’s helpful to have low latency is authentication servers, like Domain Controllers. When you type your username and password into your computer in the morning, these servers check it to make sure you are who you say you are, and give you the appropriate level of access. This process would be slowed down if you have no domain controllers on the premises.

Your Internet connection is unreliable

In order to access cloud resources, you need access to the cloud - which means reliable Internet. To access “local” resources (in your server room), you do not need reliable Internet. I have a couple of clients with offices in remote locations and other parts of the world where Internet may be unavailable for days at a time. In these situations, they need local resources so they can work without Internet access.

Other reasons?

What are some other reasons to keep servers on premise? I’d love to hear from you!

Photo by System One Gang on Flickr