Cloud computing is the buzz word, even if most users don't even fully understand what it is. One thing is for sure, putting all your eggs in one basket is always a bad idea, especially when someone else is holding the basket. So, the best cloud is the one that you own. We are aware of ownCloud, which you can easily run on your local server. But your ISP doesn't let you assign an IP to your network, so you can't access your ownCloud from outside your network. That's the problem that PageKite solves. We interviewed the CEO and founder of PageKit,e Bjarni R. Einarsson, and discussed various aspects of the Cloud computing and how a user can take control of his/her own cloud.
|Bjarni R. Einarsson, Founder, CEO of PageKite|
Swapnil: What is your opinion about Cloud computing being run from the US (as all major Cloud providers are American companies) and the data can always be accessed by the US Federal govt, so should non-American companies, governments, citizens use cloud services offered by American companies? What are the risks?
Bjarni: Wow, that is a huge question. Cloud computing is such a nebulous term, it covers everything from simply renting virtual servers to higher level services like Dropbox, GMail and Facebook.
Generally speaking, low level server clouds aimed at technical users and businesses do not worry me, as their users are generally skilled enough to evaluate the risks and make rational decisions about them. Obviously, if you are concerned about legal issues (or regulatory compliance, or espionage) you should choose a provider in your country so everyone is playing by the same rules or just avoid the cloud entirely. But for the most part I think there is so much competition that market dynamics should keep most low level cloud providers relatively honest.
On the other hand, the big consumer facing cloud services like GMail, Facebook or Flickr (to name but a few) worry me a lot. These services are incredibly useful, amazing feats of engineering and thanks to advertising-based business models, they are provided free of charge to the public. Being able to access your data from anywhere, any time, combined with a price tag of zero, is really hard to beat.
The price we pay is a loss of control. Our data becomes a hostage of these systems and we are at the mercy of these companies to not abuse our trust. People who depend on these services are in a very disadvantaged position; their data can easily become trapped in a far away server and they have no real control over how it is handled. Often, the only way people can switch to another provider is by abandoning all their data and starting from scratch. This is a terrible situation.
These concerns are valid to businesses as well, no matter where they are. Becoming dependent on a 3rd party for your livelihood is always a risk that should be handled with care. It's just like all those companies that built their business logic on proprietary software. After a while, switching to competing products became prohibitively expensive due to difficulties migrating their accumulated data. Every day I see companies using old DOS-based accounting software written in the 80s or 90s, which they still pay thousands of dollars for every year, because their data is trapped in some proprietary format.
High-level cloud services are even riskier than proprietary software, because cloud users don't have physical copies of their data and they don't get to choose when (or whether) to upgrade to the latest version or any say in what features are added or removed. It's all out of their hands.
It's convenient for sure, but the risks are huge.
Swapnil : Public cloud is always a step towards losing access to your data -- the hosting company gains access to (and ownership of) my data and can block access to my own data, due to numerous reasons. What is your opinion?
Bjarni : This is absolutely a problem and it doesn't have to be personal or the user's fault. Maybe the company just goes out of business or cancels that product. It happens all the time. And it gets worse - not only do users run the risk of losing their data, they really have no idea what is being done with it. There is no transparency. As an example, the folks over at europe-v-facebook.org recently discovered that when you delete something from your Facebook profile, it is just marked 'deleted' and left in the database. It's not deleted at all. I know of many people who spent days or even weeks meticulously deleting everything from their profiles, because they wanted to leave the site for good. They were wasting their time.
Swapnil : In a situation like these, what do you think is the best cloud for an average user? Is it possible that a user without losing ‘ownership’ of his data still reap benefits of cloud - access data from anywhere, anytime? How?
Bjarni : I think it would be wonderful if people had the option of hosting their own personal 'miniature clouds' in their own homes or offices.
Computers are cheap and powerful and networks are fast - all the basic infrastructure is in place for people to store their personal data at home and access it over the network. With the right software, people could enjoy all the benefits of the cloud and modern social networks, with none of the risks of centralized proprietary services. The software just needs to be written and made easy to install. People are working on that.
In my opinion, the main technical obstacle to this vision has to do with the plumbing of the Internet. Without a public, unfiltered IP address for your home server, it is unreachable from the outside world and not very useful as a result. Most consumers either don't have such an address or lack the technical know-how to make use of it. Reconfiguring firewalls and home routers is non-trivial stuff. Increasing mobility makes things even more complicated - if your only personal device is a laptop or mobile phone and moves around all the time, how can you possibly run a server?
This brings me to my own project, PageKite. We are trying to solve this problem by offering a solution which avoids IP addresses entirely, so you no longer need a public IP to run a server.
Swapnil : What exactly does PageKite do and how it overcomes the problems with clouds we discussed above?
Bjarni : PageKite is Free (as in freedom) software you run on your computer, which instantly connects your local servers to the public Internet. You don't have to reconfigure your router or worry about IP addresses, you just choose a name for your server (something like myserver.pagekite.me) and off you go.
Under the hood, PageKite connects to an on-line service which makes it possible for dozens or even hundreds of PageKite users to share a single public IP address. Making this service available and keeping it up and running is the business side of the PageKite project - my day job.
(In technical terms, PageKite is a dynamic tunneled reverse proxy - quite a mouthful! Details can be found on www.pagekite.org.) Because the server runs on your computer, your data stays on your own device and is only accessible to the people you choose to share it with. This puts you back in control.
PageKite even works on mobile devices that change networks many times a day - so if you want to host a website on your laptop, you can. Of course the site will be inaccessible when you have no Internet access, but that is your choice and under your control. You can choose to host your server on a machine that is always on at home, or take it with you wherever you go. Or both! Whatever makes sense for you.
Sw apn il : W hat is the target audience of PageKite? What are the solutions users can use with PageKite?
Bjarni: Today our target audience is anyone who wants to run a personal server, and particularly a web server, as those are what PageKite does best.
You can expose any standard HTTP server to the Internet using PageKite. Apache, nginx, the django built-in development server - they all work. On Windows we've tested it with XAMP and HFS, and Macs ship with a built-in Apache server that works fine too. PageKite also supports HTTPS encryption and some basic access controls to help protect the privacy of your data.
As a result, PageKite is especially useful to web developers or designers who are building cool things on their laptops and would like to be able to show their progress to others. With PageKite that sort of sharing becomes instantaneous - just turn on PageKite and send a link. Without PageKite developers generally have to set up dedicated "demo" servers in the cloud somewhere and end up wasting lots of time on keeping them up to date.
More advanced uses of PageKite include exposing SSH, VNC or RDP servers, to allow remote administration of devices which are trapped behind restrictive firewalls. This is pretty geeky stuff, but it has proven extremely useful as a light-weight alternative to VPNs and appears to be a fair bit more reliable than SSH-based reverse tunnels.
Swapnil: There is some development which enables users to be in complete control - projects such as ownCloud and Diaspora, which parts are missing to complete the picture of keeping a user in full control? What role does PageKite play?
Bjarni: OwnCloud and Diaspora are both great projects. They are essentially special purpose web servers which provide much of the functionality people need in order to leave the proprietary cloud services. Another of my favorite projects in this area is the FreedomBox project, which aims to combine many different Free Software projects and pre-install them on easy to use, cheap hardware. Together these projects are slowly making the dream of a personal cloud come true, which I think is pretty fantastic.
Unfortunately, on their own these projects all require that the user configure his or her server with a public IP address, which is impossible for some, and a massive technical challenge for many others. That is where we hope PageKite will be able to help out.
Swapnil: How reliable is PageKite, who are your competitors and how do you position yourself against them?
Bjarni: Before creating PageKite, I actually worked for Google as a Site Reliability Engineer, helping run some of the most reliable cloud services in the world.
The most important lesson I learned there was to design for failure and expect things to break. This approach helps a lot with an app like PageKite, which can't really tell the difference between your laptop switching networks and a server malfunctioning online. Both events need to be handled gracefully, and PageKite does exactly that.
From day one we have provided front-ends with public IPs in multiple locations all over the world, any of which can be used to make your servers visible. If one becomes unavailable, the PageKite software automatically fails over to the next. As a result I don't think our users have ever been without service since we launched our first experiments a year ago. It just works!
We have a few competitors; ShowOff.io, localtunnel and of course Opera Unite all help people expose local websites to the Internet.
However, we believe that our dedication to user privacy, our commitment to Free Software and our experience building reliable systems really set us apart. We also are the only solution which offers advanced features like end-to-end HTTPS encryption and non-HTTP services (like SSH), and unlike them, we're a tiny, independent company focused on solving this problem as well as possible. PageKite is all we do.
Swapnil: How is PageKite related to Free Software?
Bjarni: PageKite is Free Software!
The source code to the front- and back-ends (client and server) is published under the AGPLv3 license. You can find it and other things we have released on www.pagekite.org.
The project actually started as a Free Software project, but I got so excited by its potential that decided to take a crazy chance and found a company, along with a couple of friends. I also believed that the on-line service component needed a solid, reliable foundation and relying on volunteers and good-will for that might have proven problematic.
The service is optional of course, if you have a server with a public IP you can use the published code to run your own personal front-end and never pay us a dime. But obviously we hope most people will choose to to use the service and support the ongoing development.
Swapnil: What’s your revenue generation model? Can you tell us more about your customer base?
Bjarni: The PageKite service provides a subscription service to people who just want to use PageKite without having to learn exactly how it works.
Currently we offer a simple bandwidth-based model where you pay for how much data is transferred, but bandwidth usage has proven so variable and unpredictable for our users that we are preparing a switch to more conventional time-based subscriptions in the near future. We also plan to add group subscription plans so teams who use PageKite as part of their daily work don't need to juggle multiple accounts.
Our user-base today is quite diverse. We do not monitor how people use the service, so I do not have exact figures here, but I suspect the majority of our users are web developers or programmers, with the rest being hackers and tinkerers from the Free Software community.
Lately, after the 2.0 release of OwnCloud, there have been quite a few people signing up to try the combination of those two.
Back on the subject of software freedom, we have noticed that some people are opposed to the AGPLv3 license, because they consider it too restrictive. Choosing this license was actually in part a business decision - we still have sole copyright over PageKite so a dual licensing revenue model isn't out of the question. Anyone who wants to use PageKite in a proprietary software product and needs an alternate license, is most welcome to get in touch and have a conversation.
Swapnil: What advantages/disadvantages do you see being based out of Europe?
Bjarni: When wearing my start-up CEO hat, I obviously wonders what opportunities we are missing by not being based in Silicon Valley. The opportunities to meet people and find business partners and talented techies are unmatched anywhere else. If we were looking for investors and planning to take over the world, that would be the place to be.
However, personally, I much prefer living and working in Europe and Iceland specifically. Even after Iceland's recent economic troubles, the quality of life here is very hard to beat.
The legal environment here is also much less cumbersome for companies than it is in the U.S. and there are some interesting grant options available to people that know how to apply. Our second and third years of operation will be to a large extent funded by a government grant from the Icelandic Technology Development Fund (www.rannis.is), with no strings attached aside from building PageKite and doing our best to create some jobs. To get funding in Silicon Valley we would have had to sell equity and then been forced to grow at an artificially accelerated pace.
From a technical point of view, location is largely irrelevant - we can rent servers anywhere and provide service to anyone.
Swapnil: What are your expansion plans? Will you be offering more services (or recommend) to make it easier for user to use services like ownCloud? Do you have any such collaborations?
Bjarni: Today web designers, tomorrow the world!
But seriously, our main focus is to make PageKite as useful and as easy to use as possible. One of the ways we measure this, is we ask ourselves if PageKite is ready to replace [your cloud service here] as a privacy friendly way for young parents to share family photos with grandma and grandpa. We aren't there yet, but it is a real goal which gives focus to our efforts.
We feel that one of the best ways to reach this and other similar goals, is to help projects like OwnCloud, Diaspora and the FreedomBox reach more people. We keep in touch and are active on the mailing lists of many of these projects, and when we can help, we do. It's not a formal arrangement, but few things in the Free Software community are. Everyone just does their part.