Hacker News new | past | comments | ask | show | jobs | submit login

Remember kids, an EC2 is not a server. It's a process on someone else's server and all of your data is stored in /tmp. Do plan accordingly.



Even if it were a server, you'd have to protect yourself against the exact same risks: hardware may fail, the datacenter may burn, your data may be destroyed by cosmic rays.

Cloud platforms let you avoid physically dealing with the hardware, and conveniently using ec2-create-snapshot instead of tapes back-and-forth, but the paradigm is exact the same.

If you care about your data and your servers, you have to plan for failure. Cloud or not.


It's a process on someone else's server? Do you have a link where I can know more on this?


I'm not sure about Xen (what AWS uses), but if you look at KVMs as an analogy, instances are literally processes on the host.


Under Xen, your instance is not quite a process in the conventional sense. The Xen hypervisor lives underneath all the OSes on the host, both those allocated to customers (domUs in Xen-speak) and the one allocated to manage the customers (dom0). Xen starts up before the dom0 kernel, and then loads the dom0 OS as a privileged instance.

This is quite different from KVM, where the hypervisor is built as kernel modules in the linux kernel, and the host linux OS acts as the management instance.

Functionally, however, the results of this setup are similar to being a process: the hypervisor may schedule your instance's CPU time, and your kernel is specialized so that when it needs memory, it calls into Xen for the appropriate mapping (similar to VM in kernel).


It's also important to note that Xen existed before and works without hardware virtualization support. That is one of the main reasons for it's approach, there was no commodity support for virtualization within the CPU, so the only safe place to handle it was very low level within the kernel.


Given the relatively low cost of excess PC hardware these days it is extremely helpful to install one with a Xen, HyperV, or some other hypervisor type system and run multiple instances on it. By doing so you will get a much better feel for what is going on when you "start", "stop", "buy" etc an EC2 instance or 'Droplet' or VPS etc.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: