ArkOS: The Challenges and Possibilities of DIY Cloud
When we talk about competition in the cloud services marketplace, we’re usually thinking of Google’s services, Amazon’s AWS, Dropbox’s storage, or VMWare’s large-scale virtualizations. But those types of cloud offerings are coming up against some unique competition lately: personal cloud offerings that are open source and meant to be run from inexpensive computers within the home such as the credit-card-sized $40 Raspberry Pi. For online services that are aimed at consumers, such as web mail, document storage, calendaring, and others, these personal cloud projects aim to help give users a privacy protective alternative if they want one. How well do they work? I spent my free time over the past week setting one up for myself and it turns out the biggest challenge actually comes from the broadband providers.
I started out by buying a Raspberry Pi computer and a 16GB SD card off Amazon and installing ArkOS on the SD card. ArkOS is an open source linux server management console that, once installed, gives the user the ability to install web, mail, file storage, and other services with the click of a mouse. At least, that’s the idea. ArkOS is still very much in alpha, and there isn’t yet a plugin to run an email server (though plans for such are very much on the todo list). Fortunately for me, however, I have a little bit of experience in Linux administration and I managed to get email up and running. ArkOS does have a personal file storage and sync plug in, called OwnCloud, which I also set up.
The most immediate problem facing a personal cloud user, however, isn’t the alpha nature of the software or a lack of familiarity with the arcane inner workings of Linux; it’s a domain name. Or, more specifically, the IP address connected to the domain name. The domain name system is one of the magical underpinnings of the Internet that turns the URL you know, like facebook.com, into the series of numbers that the routers and switches use to let you communicate with a server far away.
It’s those numbers that are the problem. Called IP addresses, each ISP has a certain number of them to hand out to their users. Without one, you’re not on the Internet. Oh, and we’re running out of them as more and more people bring more and more devices online (a point that I’ll come back to in just a second). Getting all of their users to properly configure their computers to use an assigned IP address is a hassle, so ISPs generally use Dynamic Host Configuration Protocol (DHCP) to automatically assign computers to an IP address.
All well and good, except that with DHCP you can’t guarantee that you’re going to get the same IP address every time you start up (in practice, with most ISPs, you actually do, but you can’t be sure). Without static IP address, it is hard to set up a domain name to point to your brand new server, as you would have to notice that the address had changed then update the DNS every time. While the use of DHCP is a matter of convenience for most ISP customers, some ISPs do provide users with the option of getting a static IP. My Internet access is through Verizon FiOS, who will let their business customers purchase a static IP for a monthly fee. In the end it would have ended up costing me around $50 additional per month. Fortunately there are technological solutions, including running a program every once in a while that will check to see if your address has changed and automatically update your DNS records.
There are bigger problems coming down the pike, though, that may not be solvable by average end users. Remember earlier when I said we were running out of addresses? There are 4,294,967,296 available addresses in the entire space, but that number is deceptive. First because large portions of the space are not usable on the global Internet (they’re for local networks that don’t need to connect to others), and also because the way in which addresses are handed out is inefficient. Suffice to say, we’re running out. There are a number of ways that ISPs can deal with this issue, and unfortunately one of them, called carrier-grade NAT, flat out breaks the personal cloud solutions, because it doesn’t even give your house one IP address. You share your IP with many other customers, making it impossible to run an email server.
Instead of carrier-grade NAT, broadband providers should be implementing IPv6. That’s the new version of the protocol that gets all your bits from point A to point B. We’ve been operating on IPv4 for a while now, but version six has been a standard for around a decade now (don’t ask what happened to version five). IPv6 gives humanity 3.4 x 1038 addresses to work with. We clearly won’t have address shortage problems once we switch over. In addition, because every computer on earth can have a unique address, servers don’t have the same problems they do under carrier-grade NAT.
So, it solves the problem and it’s been a standard for 10 years, sounds like it should be the answer to our question. Unfortunately, most ISPs in the United States haven’t rolled it out for their users yet. Comcast has started testing it with select users, and Verizon Wireless phones have had it turned on for a while. Verizon FiOS, on the other hand, has been claiming for years that they are going to implement it, but without any visible signs of progress. The ISP with the largest percentage of users on IPv6 is actually Google Fiber at the moment.
That last fact is perhaps the best sign for personal cloud projects like ArkOS: competition opens doors for companies to target segments of the market that didn’t exist before. If there is a market for people running personal servers in the home, it may convince broadband providers to implement IPv6 or cut prices on static addresses. If they don’t want to do so, perhaps there is an opportunity for other competitors to step into that space. The latter, of course, presumes that we haven’t given up completely on competition in the provisioning of last-mile broadband in the US. With the exception of Google Fiber, we seem to have settled into a comfortable duopoly situation which will probably have to change if personal cloud ever has a chance of taking off.
That last fact is perhaps the best sign for personal cloud projects like ArkOS: competition opens doors for companies to target segments of the market that didn’t exist before. If there is a market for people running personal servers in the home, it may give broadband providers an extra incentive to speed up their implementation of IPv6 or, at the very least, cut prices on static addresses.