TechWhirl (TECHWR-L) is a resource for technical writing and technical communications professionals of all experience levels and in all industries to share their experiences and acquire information.
For two decades, technical communicators have turned to TechWhirl to ask and answer questions about the always-changing world of technical communications, such as tools, skills, career paths, methodologies, and emerging industries. The TechWhirl Archives and magazine, created for, by and about technical writers, offer a wealth of knowledge to everyone with an interest in any aspect of technical communications.
Subject:Re: How do you use VMs? From:Chris Despopoulos <despopoulos_chriss -at- yahoo -dot- com> To:"techwr-l -at- lists -dot- techwr-l -dot- com" <techwr-l -at- lists -dot- techwr-l -dot- com> Date:Tue, 2 Aug 2016 11:42:31 +0000 (UTC)
DISCLAIMER:Â I work for VMTurbo, a company that provides Intelligent Workload Management in virtual environments -- Assuring performance of applications while utilizing datacenter resources as efficiently as possible.Â You can look at our company web site for lots of discussions about VMs.Â Of course, it's all flavored with our world-view.Â But that might be helpful -- we view all the resources in a datacenter as a supply chain, and we analyze resource utilization in terms of supply and demand...Â For machines at least, free-market economics arrive at the most efficient state possible.Â This metaphor might help you get your head around the issues.
Go to VMTurbo.comÂ Once there, you might log into our social site -- the Green Circle.Â That's where you can see real-world customers talking about real-world issues.
Anyway, to answer the question directly...Â You probably use VMs in more ways than you thought.Â Of course, you can run a VM on your laptop -- for example, that's how you run Windows on a Mac.Â You might want to dedicate a box to running different OS machines so you can test them out.Â If you have a web site hosted by a service provider, you're most likely (definitely?) using a VM there.Â When you google something, you're using a bunch of VMs...Â Also when you use Yahoo, FaceBook, or any SaS product.ÂÂÂ The point is, we're increasingly using distributed, hosted applications, and at any scale beyond hobby it's economical to use virtual resources.
Amazon (AWS), Microsoft (Azure), and IBM (SoftLayer) provide VMs on cloud services.Â You can pay for the servers you need, when you need them.Â These are just machines you use on the cloud to host your applications.Â As far as you're concerned, they're physical machines.Â But they're actually VMs.
What is a virtual machine?Â A VM is software running on a host that fully emulates a physical machine.Â It has memory, CPU, network ports, an IP address, etc.Â Because it's running on a host, its capacity is necessarily a subset of the host's capacity.Â It can't run faster, can't have more memory, can't have more network throughput, etc.Â than the host machine.Â Think of a train...Â Each car is a VM, and the train is the host machine.Â Your car can't outrun the train.
Why would you do this?Â It turns out that hosts can be treated as commodities, where you buy a number of hosts that are all the same and get a volume discount.Â But for apps, each server might need special configurations.Â Well, spin up a VM with that configuration -- you don't have to plug in a memory board to allocate its memory capacity...Â It's just software config.Â One host can run a number of VMs.Â If the host gets overloaded, you can move VMs to another host.Â
The host is called a hypervisor.Â Hypervisors have varying degrees of resource management capabilities built into their OSs.Â And then there are various platforms to manage the hosts...Â vCenter Server (VMware), Hyper-V (Microsoft), RHEL (Red Hat), OpenStack, and others.Â Example...Â You want 10 VMs on a host -- the host has 100 MB of memory.Â That means you can only give your VMs 10 MB each, right?Â Well, you can "thin provision" the VMs because you can assume that not all the VMs will use all their memory at the same time.Â So you can provision 20 or 30 MB for each VM.Â The hypervisor keeps track, and knows how much memory to give to each VM.Â (Ok, this is a WILDLY oversimplified explanation, but the goal is to show some of the advantages of virtualization.)
You have more than host resources.Â With network storage, you manage a couple of things...Â Where the VM "file" is stored, and there the VM "file system" is stored.Â By getting storage off the host and onto the network, you're free to allocate more storage than the host has, and you're free to move the VM to a different host without having to move its storage.
Why would you move VMs around?Â Maybe the host is overloaded (you thin provisioned, and some VM is hogging memory).Â Maybe the host's network connection is overloaded.Â Maybe the host is UNDER utilized -- you can move VMs off of it, and onto another host, and then shut down the underutilized host.Â When you're talking about thousands of VMs on hundreds of hosts, the savings you can realize are significant.Â For a service provider, or a huge datacenter (like Google), saving pennies per host adds up fast.Â To make these decisions, you need to know about all the combinations of all the resources -- this outstrips human intellect pretty quickly.Â This is the problem we solve at VMTurbo, using the supply chain and economic analysis.Â
Finally, our product ships as a VM.Â I use that VM to host my documentation.Â Because of that, I can have LOTS of FUN - something I've talked about in other posts.Â I do love my job.
Visit TechWhirl for the latest on content technology, content strategy and content development | http://techwhirl.com