eSaysSomething, iDontUnderstand, vCanHelp
Back to Virtualization and Cloud Index
I find that my best blog entries have two characteristics; they are a series of articles and they are written as I research and learn a new topic. So, right now I am researching virtualization so here we go with a set of articles based "ECM and Virtualization".
BTW, the subtitle of this post makes more sense if you say it with a German accent – it is no funnier but it makes a bit more sense…maybe.
It goes without saying that virtualization, as the technology behind most public and private clouds, is something that is in everyone's future. I for one have been using the wrong vWords in the wrong vPlaces and I'm guessing that most people that I work with don't know the vDifference because they are not correcting me. For this reason I decided that I needed a better understanding of the basic technology and real-life usage patterns. I jumped online and did a search for "VMware Primer" and “a vApp is a” and managed to find some high-level marketing overviews of vApps, VMware images, etc. I also found some great technical descriptions but I couldn't find a simple overview of the relationship between all of the parts and how they relate to an enterprise system like a traditional ECM solution.
Let me apologize to VMware ahead of time, my oversimplification of your products is more about making them relevant to this one specific case than it is about me not caring about your products.
In this series, I'll start with an overview of the relevant pieces of the virtualization stack, a description of each and then their relationship to a standard ECM deployment. Then once we have established technically how the stack fits into a vWorld we will look at what models can be used in relation to ECM and finally a practical look into what works in real life…aka, why you should care. I’ll also take some time to look at SharePoint online and how SharePoint in the cloud might work in your on- or off-premise virtualized ECM environment.
You'll notice that I'm not using the word ‘Cloud’ much at all, I'll avoid this word because it seems that no one quite understands what Cloud might actually mean (other than a meteorologist that is). Rather than entering into a ecumenical debate about what is a cloud and what is just suspended water vapor I'll focus on virtualization and you can decide what's vapor and what's just vapid.
So, let's start at a high level with the most relevant pieces of the VMware stack. In order to try to explain what each of these is I'm going to relate them to both their physical and ECM counterparts. In the table below I have listed each of the pieces in the virtual stack, on the left is what this thing would look like in non-virtualized world, on the right is a an example of this in ECM terms.
Physical World
|
Virtual World
|
ECM World
|
An application
|
An application
|
An application
|
A single server including the hardware, OS and apps.
|
A VMware image
|
The web server, database server or core ECM system
|
A gaggle of servers supporting a single enterprise application (database, app, web, core etc.) plus associated network connections and policies.
|
A vApp
|
All of the servers need to support a single ECM deployment (content database, content management server, web servers, etc.)
|
The replicator off the Starship Enterprise.
|
vCloud Manager - creates non-conflicting instances of the entire vApp. Includes VMware vShield for security.
|
Paying Professional Services to install, configure and deploy another instance of the ECM system.
|
I'm intentionally glossing over some key components of the VMware architecture which also includes desktop/application virtualization, lower level system tools, reporting plus higher level datacenter management tools. If they turn out to be relevant to the stack then I'll add them later – when I’m finished I hope to have a much more comprehensive breakdown of the stack.
Hopefully you get the general idea from this - a VM (shorthand for a VMware image) acts just like a server, a vApp is a collection of VMs bundled up with the associated network relationships and policies which can be replicated, distributed and deployed to represent a typical server collection. There are a multitude of tools used to manage all of these bits but the one that you are most likely to be interested in would be vCloud Director which lets you (or even your end users) provision and manage vApps.
The list of products in the VMware library is pretty long and I do not have time/the interest to discuss all of them but some seem to crop up fairly often so I’ll attempt to give you a single paragraph for each of these:
- vCenter - The vCenter product is still used in some cases but vCloud Director will typically provide a superset of the vCenter functionality, I’m pretty sure that vCloud Director actually makes calls to vCenter behind the scenes but I’ll have to look into this in some more detail.
- Virtual Appliances are a subset of the newer vApps. vApps contain virtual machines packaged together in a platform independent format called OVF., I'll explain more in my vApp entry later.
- vSphere - The other piece to consider is the vSphere platform which controls the sharing of processor, memory, disk space and networking on a single server host (the actual physical machine). vSphere is effectively the runtime engine that manages the VMs are they are being executed on the physical server, . Don’t confuse this with vCenter or vCloud Director which are used to provision and manage the VMs before they are executed.
- Hypervisor - In order to fool the virtual OS into thinking that it is running on a real server (it does not know it has been virtualized which seems immoral) a layer of software sits between the physical server and the VM. This layer is called the ‘hypervisor’ and it allocates the hardware resources to the individual VMs in a way that makes it transparent to the VM.
- vFabric – VMware have a suite of development and run-time tools for application development optimized for a virtualized environment. This includes Spring, Hyperic, GemFire, etc. I might not bother with these as I feel strangely drawn to the infrastructure and cloud topics not the app development.
In my next post I'll drill down one more level to look into vApps and vCloud Director and how they might relate to a typical ECM (or any other multi-server) deployment.