Are there any easy ways to move into the cloud yet? Amazon seems very expensive, Google App Engine and Heroku are too limited (though Heroku is really cool for basic Rails). Just hosting vServers somewhere would probably be OK, though I am not much of an admin.
Are you sure you REQUIRE a cloud? Phrase "Amazon is too expensive" suggests that it might be not the solution you're looking for.
Maybe you could be a little more clear on what you need, because it's hard to imagine what are your requirements that fall in-between of "Google App engine is too limited" and "Amazon is too expensive"?
Also the phrase "I'm not much of an admin" makes it all sound really confusing... Rarely the cloud is the solution for one person's needs. Typically something like dedicated server or vps should be the answer. VPSes can be 6$/m including server's control panel so that you dont have to be "an admin".
I was assuming that operating with virtual images would already count as "moving into the cloud". At the moment, I am experimenting with several small projects and technologies. For example, I consider prototyping a CouchDB project, but I don't think I can install CouchDB on my existing root server in addition to the services it is already running (it is very old).
I don't have a scaling problem atm, but if publishing things to the cloud is easier than going the traditional "set up a server" route, I thought it might be worthwhile to use "clouds" from the beginning (also to feel safe about potential traffic spikes). For example, using Heroku recently was pure bliss, because I really don't want to bother with configuring web servers, databases, firewalls, backups and so on for each of my projects. I would probably manage somehow, but admin stuff is not my main skill. Unfortunately Heroku does not do everything I need in other projects (ie more frequent cron jobs, other tech than Rails).
I suppose having a virtual image for every project would be perfect.
Edit: Re "Amazon is expensive": my projects don't earn money yet, so I am trying to save. My existing root server costs 20€/month, I think Amazon would cost quite a bit more, so it feels expensive. But of course my root server is old and can not handle much more modern stuff atm.
Ah, ok, then what you want is linode (or slicehost, although it's more expensive). You get images that you can expand or contract (in terms of memory, disk, cpu) as you need. That won't take you into the territory of horizontal scaling, but it should be good enough to get started without spending too much.
or, you can pick something on http://www.lowendbox.com/, but be careful - their primary concern is price i.e. they list hosting services that are cheap, but not all of them are reliable.
Firstvds.ru (they have US branch at minivds.com). VPSes are never "shared", but they are on "shared" server. I.e. you have root access to your own VPS as root, nobody has access to it (1), but there are many VPSes on one physical server.
(1) ...except for the provider, but even Amazon has access to your files on EC2... (Tin-foil hat time.)
Looking at the Russian version of the site, you can get the same type of VPS for $4.44 a month instead of $6, although you get 25GB of traffic instead of 30.
The more the merier, but I would vote for http://www.prgmr.com/xen/ The guy has been doing this thing since 2005, writes here and on his blog about how he is going about setting up his servers (http://wiki.xen.prgmr.com/xenophilia/archives.html) and writes a book about Xen (http://nostarch.com/xen.htm). The FirstVDS/MiniVDS on the other hand, go very dry official on their site, I'm not sure which virtualization technology they use and whether or not they are going out of business real soon (miniVDS forums are a ghost town).
Can't be very sure, but I think they aren't going out of business. They are very big in Russia (I have a few VPSes with them, the numbers are sequential and my IDs are around 20 000).
But mostly I'm just excited about the coming of technologies like cloudkick which will help push cloud providers (i.e. EC2, VPS'es) into being a commodity.
yes. this is the way of the future... (I mean, APIs that make it easy to move from one provider to another.) without that, well, the 'cloud' will quickly become uncompetitive with dedicated servers.
Lock-in is bad for customers; long-term, lock-in can kill industries.
Not really an option for US citizens to use Russian version, I think, since all of panels will be in Russian and also you would have to pay in roubles :) /Also you do have to sign a contract in Russian with them and send it back to far east of Russia/
I wonder what kind of virtualization technology are they using? They don't advertise it anywhere on the site. I would speculate that they use different virtualization technology for Linux and FreeBSD, because on 'BSD installed software doesn't count towards disk quota:
http://minivds.com/technology/software/index.html
Pre-installed FreeBSD OS will not occupy your VDS disk space. Our experts will update all the pre-installed software regulary.
Pre-installed Linux OS takes up disk space allocated to your VDS. And we will not update the software - you will have to do it yourself.
Jails are actually very efficient, and well understood and have been tested extensively by the freebsd project. User Mode Linux or handbuilt chroot 'jails' under linux are less efficient (binaries have to be in the chroot and cannot be run from the host filesystem). User Mode Linux is effectively a kernel and userland running under a users UID; it's one of the least efficient forms of virtualisation. Both of these solutions would fall under the class of pseudo-virtualisation, since they depend on a host filesystem and processor, and usually it's less easy to partition memory and harder to guarantee process isolation.
Xen, VMWare and Parallels are all examples of para-virtualisation, where multiple OS's share the underlying hardware, but have their own resource limits in terms of disk and memory access. And the hypervisor exists to manage the timesharing and access control, but the guest OS's are executing directly on the hardware.
From a hosting company point of view, jails on a BSD system are the most tractable and resource efficient, followed closely by any of the paravirtualisation solutions. UML as a hosting solution is kind of cheesy (it's great for networking simulations though). From a customer standpoint, a paravirtualisation solution offers more flexibility and power.
I've offered jails in the past (2004-2005) and currently offer Xen VPSs. Yes, Jails make more efficient use of ram and other hardware; however, Xen makes more efficient use of SysAdmin time. Now, the FreeBSD jail functionality is getting better all the time, and it's much better now than it was, but it just doesn't provide the same level of resource isolation that Xen provides.
On xen, I don't have to worry about runaway user processes. Xen deals with the problem for me. this was not the case with Jails.
So yeah. I like Jails for cooperative environments, but there is a reason why I'm selling Xen VPSs now, not FreeBSD jails, and it's not 'cause I like linux more than FreeBSD.
Broadly speaking, there are two sets of questions you want to answer:
1. The "really?" set of questions: Is the cloud what you really need? If so, can you architect your system to exploit the advantages of the cloud?
2. The "how?" set of questions: do you outsource the cloud to AWS et al or do you build your own? The details of this are probably worth half a book, but there are many databases to choose from (CouchDB, MemcacheDB, Tokyo Products and LightCloud, thrudb, Project Voldemort, redis, and others) and build-or-manage-your-own cloud computing datacenter (EUCALYPTUS, AppScale, Enomaly, ELASTRA, 3tera, etc).
The answer to these questions starts with "what are you trying to do?" In many cases, the cheapest and fastest way to get going is to provision some virtual servers from Linode or Slicehost and have a go. If you grow too much, 1. congratulations and 2. look at the cloud options.
Explain what you are doing. The cloud is very much over-hyped and can mean many different things. Are you looking for storage? For hosting? For dynamic hosting?
Explain a bit what your app is and we can give your architecture advice.
Paying for machines by the hour opens new opportunities (ad-hoc staging environments, for example). We can do things now that we could never do before.
You may not be ready to move production to the cloud but there is an opportunity for you to improve your development process.
AWS is not expensive, not at all. However, you can combine GAE and AWS where serving all HTTP from GAE and doing the "rest" on Amazon - that will make it some cheaper
Depends what AWS service you talk about. Having one slow EC2 instance online 24/7 for a month will cost you roughly 60 dollars. I don't think that is very expensive but considering the available options I also don't think it is cheap. At Mosso you get a similar host for 1/6th of the price these days for example. Charged by the hour.
Maybe you could be a little more clear on what you need, because it's hard to imagine what are your requirements that fall in-between of "Google App engine is too limited" and "Amazon is too expensive"?
Also the phrase "I'm not much of an admin" makes it all sound really confusing... Rarely the cloud is the solution for one person's needs. Typically something like dedicated server or vps should be the answer. VPSes can be 6$/m including server's control panel so that you dont have to be "an admin".