Moving online describe the process of moving your computing environment, or some/most of it online, not just the data or files, but the computing environment. There are a number of ways in doing so, but for simplicity, I will group them into 3 groups:
- Desktop online integration service, where the user chose to synchronize his/her data with online services such as Apple mobile me! However, this is not a total online computing environment, since you still need your Mac to process data. But it's one of the solutions available.
- Webtops, or desktop like applications, which aggregate a number of services/3rd party services in one place, one browser instance, and make it available to the user through a normal, desktop like experience. G.ho.st (http://G.ho.st) is the best example for such service, bringing the user with lot of services. G.ho.st and 3rd party services, in one place, one browser instance, backed up with some storage services, brought from AWS, and made also available to the user. More over, G.ho.st is a social platform, it also brings the user's social activities to the webtop by again integrating social applications. Note that G.ho.st does not build the applications, it integrates them!
- Internet Computing Platform, ICP, I call it so for short :-), which is basically a number of applications/ services available for the user online thought the browser. Even if there is sometimes a single point of access for these applications, they are available on demand. Google services is my favorite example, since I'm personally hosted on Google :-). Explaining how to move to Google is the subject of another post, but for now, you need to know that from your Gmail account, you can access a lot of other services as configured using your Account settings, like Google docs, Google sheets, site, groups and much more.
For developers and engineers, a bunch of vendors are providing SVN hosted services, or some other configuration management tools, and it's hosted. Some of them went beyond that and provided a whole set of tools/services for project management and source control: check www.assembla.com for example. Other solution for developers, and software houses, or even IT department within big organizations is Cloud computing. Amazon, for example, opens it's infrastructure for the us to use, using EC2 to host your services/servers, and pay as you use concept is just too much. Launching instances on demand is great for cost effective scaling solution. You can launch 20 instances in one minute, and reduce them to 1 instance in no time - again you just pay as you use. For more information about EC2, check the following link http://aws.amazon.com/. Worth mentioning that Amazon also provides a bunch of other services, under the Amazon Web Services (AWS) umbrella, including:
- S3 is robust storage service. You can use it as a backup drive using a 3rd party tool.
- SDB, or Simple Database is another database services.
- Elastic Block Store, or EBS for short is a wonderful service that provides permanent storage services that could be attached to EC2 - you need to know that EC2 instance is stateless, that is once the instance is down, all the data is lost - so you need either one of the following: Simple Database (SDB), Simple Storage Service (S3), Elastic Block Store (EBS)
It's not just amazon, Google for instance, my favorite, allow you as a developer to use their infrastructure at a low cost, actually it's free at the begging, and once you get bigger, as they clam, it's available at a competitive market pricing. AppEngine is great, and differ than EC2 in that it's running completely over Google infrastructure, you don't need to launch instances as your application is running on their cloud as any other google application, more over registration and login is available also for you to use!!!!! I love that, and i really hate creating Registration module: user name validation, email confirmation, captcha, ohh so much, and the login: validation, Denial-of-service, and much more, so with Google AppEngin it's all available over there. You can also use Google BigTable, a distributed storage system for structured data, it comes with some limitation, but with feature to balance the equation, it's very fast, scale very well epically for a complicated object graph. Supporting joins is a challenge to such kind of storage services, i faced the same also with Amazon SDB.
So what is all of that about? It's all about moving online, moving everything online and not just online, become hosted - becoming totally hosted!
Benefits of moving online:
- Data are available 24/7 - regardless of the computer you use!
- Depending on the data service you are using, it should provide some sort of sharing services. Which also means there should be some sort of versioning!
- NO viruses
- No maintenance!
- No software license to buy - since most of them are free. Some of them are not, but come with lot of other benefits other than it's free.
- No software installation, bugs fixes or patches since it's online.
- User doesn't care about upgrades.
- Accessible from everywhere: any computer with browser is enough. More over, support for mobile user's are becoming a must in such applications, especially in Web 2.0 ones.
- much more, feel free to contribute :-)
Choosing between which service is a matter of choice, trust of the service provider, and it's richness. Personally I would go for either Web top or ICP since both provides a computing environment for online users. And yes, I picked Google, which is an ICP.