Developer, tech enthusiast, and gamer.

VP of Technology, Authenticom

Why and how I'm taking back the cloud - Part 1 : Setup

Why and how I'm taking back the cloud - Part 1 : Setup

What is The Cloud? Well, to me, its the internet. It's the stream of electrons that tell Blizzard where my lvl 90 pally is in Azeroth as I'm WASD'ing around on my home computer. It's the stretches of fiber optic cable strung across the Oceans. It's Skynet. What's great about this awesome network that we all share, at least to me, are the amazing services that have been built on top of it. So amazing and so simple that nearly all of us fully rely on them every single day for our personal and professional lives. It's also cheap. So cheap that most things are often free. Who do you know that pays for personal email, personal photo sharing, even personal backup of your PC? And I have to say, free is a pretty good price. Even if something does cost, it's typically a nominal $10 or less per month for unlimited _ (fill in the blank). Point is, I love the public cloud software as a service world we live in now and have fully embraced it. What, you buy records? CD's for me. CD's? Just buy it on iTunes. Buy it? Just pay $10 per month on Spotify/Xbox/Rdio/Slacker/Beats for all 20+ million.

But, I'm at a time now where the thrill has worn off a bit, questions are mounting, and some broken promises of the cloud are starting to pile up. What about privacy and accessibility? What of the promise of digital ownership and unimpeded and equal access to the internet? Questions of why SkyDrive is looking at my pictures, why Gmail is scanning my messages, or why I can't play my purchased iTunes movie on my Android phone. Why can't I have music offline on more than 3 devices or download my "purchased" Vudu hdx movie to my tablet. Now, the most basic answer to most of these questions is that it's not yours. At least in the same sense that most of us think about property. You agree to terms of service with varying degrees of restrictions every time you sign up, purchase, or upload your data. You also agree that should you not comply with the terms, that your data or access to that data could be compromised. Granted, every agreement is different, but these themes tend to remain the same. And for most of us, it's perfectly fine and something we blindly agree to in the name of simplicity. I have never personally violated or have been though to violate terms on any service that I've used, so its certainly worked for me thus far. But why should I have to compromise so much when it is in fact MY data? Why can't I have both privacy, pain free accessibility, and ownership?

Cloud Question

Now, what can be done for a cloud loving privacy conscious person such as myself? Well as it turns out, a lot! Home servers and the private cloud are coming back in a big way! Network attached storage (NAS) devices, wireless routers, media streamers, personal encryption, etc. have never been cheaper and easier to set up. Because, lets face it, the cloud is hard. You've got servers, hard drives, ip addresses, terabytes, redundancy, firewalls, port forwarding, and much more. It's because of this complexity and cost that I abandoned my home server farm many years ago for the public rented version that most of us use today. Thankfully, that's not really the case anymore. For a small financial and time investment, you can more or less replicate nearly of of these services with one inexpensive NAS device and an off the shelf wireless router. But wait, there's more! You'll find that it will be easier to host things like your own DNS, VPN Server, Mail, and others without having to use the public cloud as your primary resource...maximizing your investment even further.

Now on to the setup!

Synology DS412+ NAS

All Synology does is make NAS devices. They range from small devices that sit right on your desk all the way up to rack mounted 12 bay monsters. They are not the only company out there making great NAS devices mind you, but after my exhaustive research this is the model I settled on. My only runner up being the 5 bay Drobo 5N which, based on your individual needs, could easily be the one for you. The main reason I settled on this brand was not only its reputation for making a great product with great consumer reviews, but its easy to use interface and rich app ecosystem. Under the hood, we're talking about a Linux server OS running on a dual core x86 Atom processor with 1gb of ram. Which, for a device that's primary responsibility is fast data transfer with fast data protection and redundancy, is plenty of horsepower. I also considered the less expensive DS413j model, but ultimately wanted the flexibility of having the x86 processor and the additional speed and connectivity that the DS412+ provided. For the developer minded, the x86 processor means frameworks like Mono, Java, and others run quite well out of the box leaving open ended customization. For the IT minded, the dual gigabyte NIC's and the USB 3 + esata ports mean configuring things like link aggregation, QoS, and expanding with portable storage are all easily configured and well supported.

Software

The heart and soul of this device however lies in its OS, dubbed DiskStation Manager (DSM). It's in this interface that you customize the NAS to your specific needs. I won't go into too many specifics since their site lays that out quite nicely, but I will say that this is where you will find the alternative services to the public cloud right on your home network. File, Music, and Photo sharing services all with external accessibility from the web will desktop and mobile support. So you can keep that ease of sending a link to share photos, while controlling exactly who can see and access those photos from your own network...without needing to be an "IT person" or someone who "does computers" as my family insists on describing what my profession is. I like em, but lets not go crazy.

My name is Chris and I do computers!

DSM Desktop

Storage

I've added Three 4 Terabyte Western Digital Red NAS Hard drives as of now. This new breed of drive (Seagate has their version also) are specifically designed for RAID based NAS systems. The Red line being the recommended drive for 5 bay or less systems. The basic idea behind using a NAS drive vs an off the shelf spinning drive is that they will provide more reliability, reduced energy, and a longer warranty than their desktop counterparts. Which, in a 24/7 raid environment are all very good things.

I've configured storage volume on the NAS to use Synology's own hybrid raid tech called SHR. For those that know a little about raid (I probably know less), it's essentially a Raid 5 configuration without the limitations. So to get the maxim yield from a RAID 5 setup it requires 3 or 4 identical drives, SHR on the other hand, would allow any combination of drive sizes without leaving unused space on the volume. There are a few other differences, but the main takeaway for me is that this is the configuration you want to use even though traditional RAID is supported...especially if you're starting with only 2 drives like I did. Unless of course you just want maximum storage and don't care about redundancy, then RAID 0 is what you want. Though I'm not brave enough to risk it just for the extra 4tb's in max config. Failure will happen, its just a matter of when...so having that extra drive for redundancy is money well spent for me. I highly recommend checking out their RAID calculator though, very useful when planning for your own configuration.

Services

This is the really cool part once you have your volume sorted out. You'll find that most personal services you use the public cloud for today can be spun up on your new NAS. That's not to say its a one to one without sacrifices or even that you should, but its there, and for the most part, its easy! Right now, the services I'm most interested in bringing back home are some file sharing (photos, videos, etc) and some video surveillance (Dropcam). Right now, my files are everywhere. SkyDrive, Google Drive, Dropbox. For most of my files, that's exactly the right service, but for the more personal ones like family photos & videos I would prefer that to be local first. I would also prefer some surveillance feeds that I now offload to Dropcam, be on my own storage first as well. Not only does that offer me more privacy and cost savings, but it opens my options up considerably in terms of camera hardware. The NAS offers several first party solutions out of the box. Photo Station, Video Station, and Surveillance Station, are 3 great ways to accomplish my goals while still maintaining excellent accessibility from any device. There is also my personal favorite 3rd party media solution, Plex, which has revolutionized home streaming at my house. All of these services can be installed and configured directly on the 412 via the web interface. I've also begun to bring home and configure a few other services like DNS and Directory servers, which I always prefer to have direct control of if possible. Dyn, Godaddy, and Namecheap services are great but they can be costly in terms and price and configuration limitations. If your needs are small, why not make your NAS the primary and use the public cloud as a failover? Truly, I'm just scratching the surface of whats available and what I can consolidate onto this device...there is sooooo much more in terms of the official packages and several community package feeds, that it would demand a post all its own. Going to dive into this more in part 2.

Network and Connectivity

This is where my needs separate a bit from most home or small office users. I use a combination of Cable and DSL internet connections with an SMB class firewall. Primarily, I have two external network connections for redundancy, which pays off more than you would realize, as well as giving me the ability to separate external work traffic from my household traffic. And believe me, when you have 3 kids pulling Netflix streams on top of a hulu or vudu hdx stream, your going to want some head room there if you expect to have any left to do your work. I also use things like always on vpn tunnels which are quite common in remote work scenarios. All on consumer connections too for cost savings. There are of course business class connection which can provide costly static IP's for 3x the cash, but the fact is you just don't need them. Configure dynamic dns with your own domain and you're good to go.

Asus RT-AC66U

I'm currently using this device only in wireless access point mode, but this would be my primary firewall + router if my needs did not exceed its out of the box capabilities. The Asus's incredibly fast AC wireless combined with its easy and complete configuration make it an ideal addition to my network. When configured in wireless router mode, this would be the only device I need to expose all of my NAS features to the internet. From within DSM, this is as easy as selecting your router model and it will configure the rest automatically. I used to swear by Airport Extreme's, but with their latest model being a complete disaster (story for another post), it drove me to seek an alternative. The Asus is what I landed on and I'm never looking back.

Cable or DSL

Having a solid high speed connection is obviously critical to bringing some of the cloud back home. Because of that, you will certainly want to compare your options regularly since speeds and services are being rolled out and updated all the time. In most areas the choice is typically between cable and some form of DSL. Due to my requirements, I subscribe to both, which allows me to have a decent perspective on the two different services. I currently pay for the max speeds I'm able to receive on both lines, which are advertised at 50/10 for cable and 30/10 for dsl. It was unexpected, but those speeds are pretty accurate in real world use. The main differences to me are consistency, reliability, latency, and of course speed. First consistency. This one is pretty obvious to those who've had both types of connections, cable by architecture, will usually be less consistent. Put simply (meaning my knowledge is basic), the cable line is a road to the interchange, and the more people on that road will eventually slow traffic and cause it to jam...especially during rush hour or peak. The road/bandwidth, is fixed, so your main variable with cable is how much traffic does your road have to hold. In my neighborhood, its a lot. Now DSL, from my understanding, is different in that you are not sharing your road to the interchange with your neighbors, meaning that you are not subject to jams at peak times. Your road however is slower, at least until they start dropping fiber to the house. Reliability. This varies by area, but typically DSL is almost always more reliable...which I can certainly confirm in my own usage. Just recently we had a cable outage in my neighborhood from a bad storm that lasted at least 12 hours. We, however, never even noticed at my house since the DSL line just assumed all of the traffic. It doesn't happen a lot, but often enough to declare DSL the reliability winner in my area. Latency. No-brainer here if you've ever tested ping times on dsl. You're not sharing the road and you typically have less stops, making dsl ideal for voip and gaming. Now to be fair, the gap between dsl and cable latency used to be much wider than it is now. 5 years ago I would never dream of using cable for voip phone service, but now the difference is negligible for most. Still, if you need the lowest possible latency, then DSL will almost always be the better bet. Finally speed. Up until now, it sounds like you would never consider cable over dsl, but raw speed can easily trump every other category. Would you rather download an an ISO from MSDN is 5 mins or 30? Have 4 hd Neflix streams at once or 2? The the decision is easy. Cable will blow away any dsl service I've every had in terms of speed. Even during peak, its still faster most of the time. So its less reliable, less consistent speed wise, and has slightly higher latency, but its the line I use for work and private cloud purely because it's so much faster. So in an ideal world, cable as a primary line and dsl as a secondary is a a very fast and reliable private cloud setup. But honestly, 2 lines are often overkill for non-remote workers and price is usually the main consideration over service. My cable line is 35% more expensive than my DSL line, so for most, 30Mbs vs 60 Mbs (burst) down just isn't worth the big increase in price unless work is picking up the tab.

In part 2, I'm going to dive into my media streaming and surveillance setups, along with some other services I've offloaded to the NAS. It's been a lot of fun so far, but there have been a few trade-offs along the way.

Automate Nuget pack and push using Grunt and Node.js

Automate Nuget pack and push using Grunt and Node.js

My Windows Phone 8 App Essentials Early 2014

My Windows Phone 8 App Essentials Early 2014