How To Use Amazon EC2 as Your Desktop
blog.restbackup.com
blog.restbackup.com
A few years on and I really don't think about my computer, but rather a network of computers. It is not uncommon for me to be logged into four different systems at a time, running different things on each. If I need more processing power, I log into one of the beefier systems and start a job. If I'm just editing email it's local, but if I'm editing web files, it's probably on a server hosting my dev instance so my changes are live. I just do each task wherever it is most appropriate.
The real change is that you stop having one entry point to your "computer". I can access the same resources from almost any laptop or desktop. I keep desktops with large dual monitors at work and at home and rarely worry about synchronizing them because the work is actually being done in the same place.
It really is liberating to build your own set of cloud resources and realize that your desktop is just another resource at your disposal in your network.
I had initially set it up to code small ruby scripts remotely that help me with my day job (mostly to scrape websites with the excellent Scrapi gem). Since IT would not let anyone install anything on their computers, but still left port 443 wide open, I gave it a try.
The added benefit is that working on a linux box through Putty forces you to learn a real terminal text editor - in my case Emacs. I guess I can thank IT now ;)
http://www.phoronix.com/scan.php?page=article&item=amazo...
Turns out that on average a micro's performance is somewhere between a netbook and an ARM tablet for most tasks, but the performance varies wildly.
As far as development goes I haven't had a problem yet with speed. I tend to do small incremental compiles, and when I need to a full compile I go get a cup of coffee.
I'm just using compiling as an illustration of CPU performance. You'll have the same problem when running unit tests, for example. You can only spend so much time on forced coffee breaks before it gets old. Or you can have a very tiny test suite.
I do all of my work over ssh now. Key based auth allows me to hop in and out as needed, and more importantly it allows me to use libnotify + growl to alert me when things happen on my server. Code finished compiling? Growl pop up to let me know. Message via irssi? Pop up. Makes things feel very seamless. I use git to sync things as needed, vim for development, screen as my multiplexer, and irssi+bitlbee for messaging. It's lovely.
It's pretty great - not only can I work on it from anywhere with a working ssh client, but I get super fast speeds.
I'm pretty amazed that it took Microsoft about two years to realize how much fun it is to use Windows/RDP in the cloud and they still haven't quite added this to Azure. A lot of what I like about AWS is that you can do an awful lot of things the way you're used to doing them.
That said, I mainly use Linux instances, and normally work with an ssh text console from Linux, Windows and MacOS clients. I use jedit on the client machine to edit files through sftp. Some of my instances are production instances that run 24-7, although I commission development machines and machines to run big batch jobs from time to time.
Everything can be done much faster via an ssh command line. I don't get it.
Very nice tutorial though, good intro to EC2 for newbies.
Am I the only one who thinks that's ridiculous? I mean, after two years, you'll already be at the cost of a decent laptop. Three years will get you the cost of a MacBook. Unless you're upgrading your laptop every year, there is no way that this is cheaper than developing on localhost.
I personally think this is expensive for the benefits it brings but clearly for the author it is worth it.
You could save for 3 years and buy a macbook.... or you could work in the cloud and use whatever cheap-ass machine you want to access it, with much less worry about backup.
THis isn't really a home-PC replacement - it's a developer hting.
Another thought--if you are playing with web services such as twilio for example, you need an IP address for the response to your REST requests--this could be a problem for people doing development at home without a static ip (sure, you could use localtunnel, but this does have some appeal). This way, you can test this on your development machine without going live...
Anywho, just a few thoughts.
What is little hard is, auto load balancing, shutting down instances based on req/minute, monitoring and stuff. But you don't play with that, if you are using remote EC2 machine as desktop.
I was thinking of using a dedicated server for this for a while, with visualization maybe: a VM for server, a VM for my desktop... Using EC2 for this instead gives you an option to relatively easily choose from several locations in different parts of the world. Also it forces you to learn using EC2.
I've been toying with the idea of offering managed dev environment using this. Some pain points it would solve: -no new installation/configuration when you buy a new laptop -let an outsourced sysadmin take care of annoying things like installing java, adding environment variables, installing mobile app sdk's etc. -environment is accessible anywhere you have Internet access
The ultimate benefit is: spend less time installing things and more time developing.
I probably don't know enough about UNIX to do this myself, but I think it's a worthy idea.
That's why my question emphasized the "cloud" word.
http://valyagolev.net/article/develop_windows_linux/
bash on windows without Cygwin's lameness. problem solved
(I moved to ubuntu & emacs eventually, although their usability is crazy)
The instructions could use an update to the latest version of ubuntu too.... but this will make for a fun weekend project - excellent find (more for the EBS shortcuts and bootstrapping method + NX tips than the concept itself)
It only works if you're launching an app bundle, though, not if you're trying to run a bare binary from the command line. I just downloaded some old PPC-only shareware app and launched it.
Apparantly there's a .pkg file somewhere on the OS install DVD too, but I couldn't find it on my MacBook's restore USB stick.
The nice thing however is that you can also stop your instance and only pay as you go.
- Do you think that it's possible to use AWS Free Usage Tier with micro instance do to that ?
- Is it possible to have a graphic interface?
- FreeNX provides a graphical interface. It makes your Linux program windows appear on your Windows machine.
Anyone know?
The RestBackup Management API lets you create separate backup accounts for your users. Your app/script/cronjob can back up each user's data from their machine/device to a separate and private account.
Using RestBackup, you can have automatic backups without adding any new servers or equipment. It works for mobile apps, desktop apps, and hosted applications. It also works well for normal file backups.
At the moment, the only way to use RestBackup is with curl or your own program. More client software will be available soon.
Well, if you don't mind, can I give you some feedback (assuming that you are the founder).
On the landing page, talk about benefits - not technology. No matter how much I read and searched the site, I couldn't figure out what it does and who it does it for. It's not because I am stupid either, well...could be but I doubt it.
I would choose one niche, and communicate that in the copy on the main page.
Also, pricing is an important value communicator. Honestly, I think your pricing is too cheap. Perhaps you should figure out another way to charge more. $9.99 is WAYY too cheap, and it worries me that you might not be around - especially for my backup purposes.
I don't want to be worried that you are going to disappear.
Hope that helps!
we're already seeing people switch over to the new mac air which runs IOS.
once it becomes more cost efficient to run your desktop in the cloud its clear this is a major trend which is about to start and permanently change computing. far for the better IMHO, i'm sick of handling upgrades myself.