4 ms·
Cloud implies running in virtualized environment. Dedicated implies that only your bits run on that hardware which is huge for I/O.
by papercruncher 15y ago
Cloud implies running in virtualized environment. Dedicated implies that only your bits run on that hardware which is huge for I/O.
- jedberg 15y ago> Cloud implies running in virtualized environment. Dedicated implies that only your bits run on that hardware which is huge for I/O. True, but the blog post didn't say if they are using virtualization or not.
- TimH 15y agoSo they may or may not have abandoned the cloud?
- jedberg 15y agoAlso, you don't necessarily take a huge hit in I/O with virtualization. VMWare on dedicated hardware with all the virtualization extensions will be pretty comprable and a lot easier to maintain then straight up raw iron.
- chime 15y agoAnd ESX with VMotion & DRS can make sure you still get good I/O even when parts of the hardware get congested or even offline.
- spydum 15y agoTo be fair, this is only true if the storage back end is appropriately configured. You will take an I/O hit when instead of a single physical machine asking for a set of sequential blocks off the disks, you have 20 virtual machines asking for seemingly random blocks off the disks. Replace disks with storage array if you'd like.. but the fact remains: more VM's will mean more storage contention. If you have the funds to have dedicated arrays per VM, hats off to you. Most people never do this, and I/O suffers a penalty. Virtualization has is price, and even that being said, I think it's worth it for most people.
- asharp 15y agoYour point about having multiple VM's forming additional seeks is correct, but it misses the bigger picture. Basically, on any reasonably sophisticated hosting infrastructure those arn't a problem. If your problem is just seq->random conversion due to additional VMs then bcache/flashcache does a surprisingly good join at making that just plain go away with little additional cost. On any reasonably sophisticated host you have a DSAN, which has a cool little stats trick, which basically means that as you add additonal vm's together the variance on the total IO load drops, and the load pattern itself becomes more and more normal, the larger and more uncorrelated you get. That gives each vm more 'burst' capacity when required with many fewer failures (ie. the vm asks for more IO then the current capacity of the system). This leads to a bunch of interesting stuff when you try to apply it in real world systems, either in HPC or in clouds.
- chime 15y ago> Cloud implies running in virtualized environment. Unfortunately, 'cloud' implies nothing. Apple's iCloud isn't necessarily storing my data using VMs and EBS/BigTable type FS. They could be using dedicated W2K/IIS 4.0 boxes storing BLOBs in MSSQL and still be considered cloud by everyone.
- icebraining 15y agoVIrtualized doesn't mean VMs. It means you access some computing service, where the backend is abstracted away - effectively, virtualized.
- twsted 15y agoI do not agree with this. Cloud is often a confusing term but it is not strictly bound to virtualization. One can imagine a cloud offer with dedicated hardware.
- jules 15y agoIs that because multiple instances will be running with the same disk? As far as I know virtualization doesn't have a big overhead in itself, or does it?
- asharp 15y agoNot for most situations. I work over at orion, and our standard cloud VM's dominate dedicated hardware in IO. There really isn't much competition. You find most of the 'virtualisation is bad for I/O' is either 'oversold I/O is bad for io' or 'Trying to push all IO for every VM on a box as well as all WAN traffic through one gigE port is bad for io'.