In spite of having architected, built and managed some of the largest public cloud infrastructures in Africa, I have until very recently run a private cloud exposed to the Internet for my personal needs.
- Cyrus IMAP server with Cyrus SASL authentication (plaintext)
- Postfix SMTP server (with the accruement of SpamAssasin, clamav, grey listing, SPF and DKIM to combat malware, viruses and spam)
- Bind DNS server
- Apache web server
- Menalto Gallery for photo galleries
These servers acted as primary and secondary name servers, primary and backup MX and geo-distributed you to the closest web server for my family photo collection. And until about 6 months ago, I played down the progress in public cloud offerings and was confident in my own abilities as an ex-sysadmin.
Then Heartbleed hit. And then my FreeBSD version was EOL’d. And I had hardware failures, which caused me to stay awake at night, away from my family and friends and ruined an otherwise decent overseas trip. And while the lure of 18 degrees in a data centre used to thrill me, it no longer does. As does the reputation-damaging spectre of being hacked.
I decided to change all of this.
- Google Apps for hosted mailboxes
- Afrihost bronze e-mail hosting for those domains that simply forward mail
- DNS Made Easy for DNS hosting
- Open Provider for DNS registrar services
- Zenfolio for photo gallery hosting
Along the way, I tried a mail migration tool called Car.bo (from Shuttlecloud), that did a great job on small mailboxes, but failed miserably on large ones (2-10 GB). And, they sneakily move you from a direct billing relationship with Google to a reseller model where they bill you and get commission from your business - not cool. I ended up using a mail migration tool called Yippiemove, that while expensive, certainly did end up moving users’ data.
I now have my phone contacts in Google Contacts, and am using a tool called Scrubly to clean it up, populating LinkedIn, Facebook and Twitter data into the contact stream and profile photos. iOS and Android devices use Google Sync (which is licensed ActiveSync) to replicate contact data, Google Drive is my data repo and I’ll be able to shut down my servers from active use by the end of the month.
In this scenario, on-boarding a new compute platform, tablet, phone or similar is a 2 minute exercise - and I have access to all my data.
Yes, this is costing me some money - but nowhere near the hosting costs I would have incurred if I wasn’t working for an ISP. You’re looking at $5 per user month for Google Apps, $30 annually for hosting 10 DNS zones, $60 annually for Zenfolio, $30 annually for the contact cleanup utility and I’m springing an additional $10 per month for 1Tb of storage. Crashplan is about $6 per month for unlimited storage and backup of 10 computers.
Ultimately, the headache of keeping these systems in sync / up to date and secure is now not my problem. For me, that’s money well spent.
PS. The biggest headache was merging my and my users’ Google accounts (Plus, Voice, Drive, Chrome Sync, etc) from being unmanaged consumer-level Google accounts to managed Google Apps accounts. This migration is still too damn hard.