|Read more about this book|
(For more resources on Microsoft, see here.)
Q: What is the need for virtualization?
A: With virtual environments we rapidly start gaining the agility, scalability, cost-saving, and the security that almost any business today requires. Following are some advantages:
- Reduces infrastructure downtime by several hours
- Saves time and resources that is spend deploying/providing operating systems to users
- Saves troubleshooting time for application installations
Q: How do cloud service models assist virtualization?
A: The cloud service model is all around us, which presents to us several new ways of thinking about technology:
- Software as a Service (SaaS or S+S): Delivering applications over the network without any local installations or maintenance.
- Platform as a Service (PaaS): Providing solutions, like an Active Directory solution, as a service, avoiding the deployment tasks.
- Infrastructure as a Service (IaaS): Supplying computer infrastructure as a service. Instead of companies thinking about buying new hardware and the maintenance costs that implies, the infrastructure is provided (typically in virtual machines) as they need it.
Q: Where do we stand today with regards to virtualizastion?
A: Fortunately, today's demand regarding virtualization is incredibly high, which is why the possibilities and offerings are even higher. We can virtualize servers, appliances, desktops, and applications, achieving presentation and profile virtualization; you name it and there's probably already a bunch of products and technologies you can use to virtualize it.
Application virtualization is still one of the emerging platforms but is increasing rapidly in the IT world. More and more of the dynamic aspects of isolating and scaling the applications deployment are being implemented. And Microsoft's App-V represents one of the strongest technologies we can rely on.
Q: How does virtualization achieve faster and dynamic deployments?
A: Handling server or desktop deployments is always a painful thing to do, requiring hours of deployment, tuning, and troubleshooting; all of these aspects are inherited in any operating system lifecycle. Having virtual machines as baselines would reduce OS deployment from several hours to a few minutes.
The desktop virtualization concept provides the end user the same environment as using a local desktop computer but working with remote computer resources. Taking this strategy will enhance the provisioning of desktop environments, more resources can be added on demand, and the deployment will no longer depend on specific hardware.
Building virtual machines templates ready to go, self-service portals to provision virtual machines for our power users whenever they need a virtual environment to test an application; these are some of the other features that can be included using a virtualization platform.
Q: How does virtualization achieve cost savings?
A: Listed below are two major factors that acheive cost saving:
- Lower power consumption: Large datacenters also include large electricity consumption; removing the physical layer from your servers will translate yearly to a nice reduced number in electrical bills. This is no small matter; most of the capacity and costs planning for implementing virtualization, also includes the "power consumption" variable. It won't be long until "Green Datacenters" and "Green IT" will be a requirement for every mid-size and large business.
- Hardware cost savings: Before thinking about probably needing expensive servers to host your entire infrastructure let me ask you this, did you know that the average hardware resources usage is around 5% to 7%? That means we are currently wasting around 90% of the money invested in that hardware. Virtualization will optimize and protect your investment; we can guarantee that the consolidation of your servers will be not only effective but also efficient.
Q: How does virtualization improve efficiency?
A: There's a common scenario in several organizations where there are users that only depend on, for example, the Office suite for their work; but the cost of applying a different hardware baseline to them, that fits their needs exactly, is extremely high. That is why efficiency also plays an important variable in your desktop-using desktop virtualization you can be certain that you are not over-or under-resourcing any end-user workstation. You can easily provide all the necessary resources to a user as long for as they need them.
Q: How does it achieve scalable and easy-to-manage platforms?
A: A new contingency layer for every machine, taking a snapshot of an operating system, is a concept that didn't appear before virtualization existed. Whenever you introduce a change in your platform (like a new service pack release) there's always a risk that things won't be just as fine as they were before. Having a quick, immediate, and safe restore point of a server/desktop could represent a cost-saving solution.
Virtual machines and snapshot possibilities will give you the necessary features to manage and easily maintain your labs for testing updates or environment changes, even the facilities to add/remove memory, CPUs, hard drives, and other devices to a machine in just a few seconds.
Q: How does virtualization enhance backup and recovery?
A: Virtual environments will let you redesign your disaster recovery plan and minimize any disruption to the services you are providing. The possibilities around virtual machine's hot backups and straightforward recoveries will give you the chance to arrange and define different service level agreements (SLAs) with your customers and company.
The virtualization model offers you the possibility to remove the hardware dependencies of your roles, services, and applications; a hardware failure can present only a minor issue in the continuity of your business, simply by moving the virtual machines to different physical servers without major disruptions.
Q: How is application deployment incompatibility issue addressed?
A: Inserting a virtualized environment into our applications deployment will reduce the time invested in maintaining and troubleshooting operating system and applications incompatibilities. Allowing the applications to run in a virtualized and isolated environment every time they are deployed removes possible conflicts with other applications.
It is also a common scenario for most organizations to face incompatibility issues with their business applications whenever there's a change—new operating system, new hardware, or even problems with the development of the application that starts generating issues with particular environments. You can say goodbye to those problems, facilitating real-time and secure deployments of applications that are decoupled from tons of requirements.
Q: What is Application Virtualization?
A: As virtual machines that work abstracting the hardware layer from physical servers, application virtualization abstracts the application and its dependencies from the operating system, effectively isolating the application from the OS and other applications.
Application Virtualization, in general terms, represents a set of components and tools that remove the complexity of deploying and maintaining applications for desktop users; preserving only a small footprint of the operating system.
Getting more specific, Application Virtualization is a process for packaging (or virtualizing) an application and the environment in which the application works, and distributing this package to end users. The use of this package (which can contain more than one application) is completely decoupled from the common requirements (like the installation and uninstallation processes) attached to applications.
The Technical Overview of Application Virtualization offered by Microsoft represents a fine graphic explanation about how normal applications interact with the operating system and their components; and how virtualized applications do the same. Take a look at http://www.microsoft.com/systemcenter/appv/techoverview.mspx.
Q: What are the drawbacks of a normal business application scenario?
A: The three major aspects are:
- Special configurations every time that is deployed. Customizing files or setting special values within the application configuration environment.
- It is also interconnected with other applications (for example, Java Runtime Environment, a local database engine, or some other particular requirement).
- It demands several hours every week to support end users deployments and troubleshooting configurations.
Application Virtualization offer us the possibility to guarantee that end users always have the same configuration deployed, no matter when or where, as you only need to configure it once and then wrap up the entire set of applications into one package.
Q: How does Application Virtualization differ from running normal applications?
A: In standard OS environments, applications install their settings onto the host operating system, hard-coding the entire system to fit that application's needs. Other applications' settings can be overwritten, possibly causing them to malfunction or break.
Here's a common example of how two applications co-exist in the same operating system, and if these applications share some registry values the application's (or even operating system's) usability could be compromised.
With Application Virtualization, each application brings down its own set of configurations on-demand, and executes in a way such that it only sees its own settings.
Each virtual application is able to read and write information in their application profile and can access operating system settings in the registry or DLLs, but cannot change them.
|Read more about this book|
(For more resources on Microsoft, see here.)
Q: What is Dynamic Suite Composition (DSC)?
A: Each App-V-enabled application brings down its own set of configurations and can run side by side without the settings conflicting with each other or the host operating system. Despite this separation, inter-application communication with other App-V applications and those installed locally is preserved, allowing for cut and paste, OLE, and all other standard operations. Here's a simple example on how App-V applications can work interconnected; this feature is called Dynamic Suite Composition (DSC).
Q: What are the salient features of Application Virtualization?
A: Here are some facts about Application Virtualization:
- The applications are not installed on clients, they are published.
- With Application Virtualization we can achieve the co-existence of incompatible applications like Microsoft Office 2007 and Microsoft Office 2010.
- Applications are installed only once on a reference computer, where the package is captured and prepared.
- You can capture a set of interconnected applications into a single package.
- The capturing process is in most cases a transparent process; which identifies the environment that the application requires to work, like files and registry keys.
- Application Virtualization offers you the possibility of centralized management. There is one point where we handle virtualized applications and the distributing behavior in our environment.
- Even though you can create a package of almost any software, not all applications can be virtualized. There are some examples that could be quite tricky to actually pack into one bundle. Applications that require high operating system integration can generate some known issues.
Q: Name some major existing Application Virtualization platforms?
A: The demand for Application Virtualization is increasing significantly; some of the most important offerings available in the market are:
- Microsoft Application Virtualization (App-V), formerly known as SoftGrid
- VMware ThinApp
- Citrix XenApp
- Symantec Software Virtualization Solutions (SVS)
- InstallFree Bridge
Q: What are the differences between the above technologies?
A: Some of the differences among these technologies are:
*ThinApp and App-V 4.6 are the only ones that support 64-bit OS deployments (earlier versions of App-V do not support this feature).
**App-V, SVS, and XenApp use a set of kernel mode drivers and supporting services to manage the virtualization process. ThinApp includes the entire virtual environment directly into the application package.
***VMware ThinApp and App-V, in a 32-bit environment, are the only platforms that support 16-bit applications. 64-bit operating systems do not support 16-bit applications.
Q: What are some of the other options available in the application virtualization market?
A: Some of the other options available in the application virtualization market
- Zero Install
- Novell ZENworks Application Virtualization
- Spoon AppExpress
- LANDesk Application Virtualization
Q: How has Microsoft met the application virtualization challenge?
A: Microsoft introduced App-V as one of the many tools within the Infrastructure Optimization (IO) model. This model offers you the different kinds of maturity levels an infrastructure can achieve.
The IO model also presents a path to accomplish the maximum level of maturity; performing these best practices we can guarantee operational efficiency among the IT activities. Fortunately, Microsoft provides complete guidelines, tools, checklists, and other assets to understand which maturity level we are staged on, what we should do to level up, and which technologies are involved. You can find all of this at http://www.microsoft.com/infrastructure/. The Dynamic Level of Microsoft IO also requires dynamic application access and recovery for desktop applications, both of which are also gained with App-V.
Levels in the Microsoft Infrastructure Optimization (IO) Model are shown in the following figure:
Q: How many implementation models exists in App-V?
A: App-V is the most robust as well as the most flexible platform of the application virtualization options available and we can implement it in any environment. It doesn't matter if we just want to use it with a few mobile users or for the entire organization, App-V fits all.
Let's take a quick look at the implementation models available:
- Standalone: There's no infrastructure needed for this one, you just need a reference computer that packages the application (sequencer machine) and the App-V client that receives the application. You can even use it for offline users.
- Streaming Mode: This is the same model as the standalone with the exception that you are also using a streaming server to distribute the applications. You can set up streaming servers for low-bandwidth links like branch offices.
- Full Infrastructure: The full model introduces you to a Management Server, where you can centrally administer the entire infrastructure (packages, permissions, licenses, and reporting), a Streaming Server (which can stream down applications using the default App-V protocol, HTTP/S, SMB, or combination with SCCM 2007 R2), and the App-V client. Note that the Management Server can provide applications to users as well as stream.
Q: What is a typical application lifecycle in App-V?
A: To understand a little bit more about application virtualization, let's make a note of the milestones that represent the lifecycle in an App-V package:
- Application Sequencing: As the first step in the life of a virtualized application the sequencing of an application represents capturing the environment (files, shortcuts, and registry keys) where it works, and packaging it into one bundle.
- Application Publishing and Deployment: After the creation of the App-V package, the administrator publishes it on the server, defining different sets of permissions and licenses if applicable, and it is deployed to all the App-V clients within the scope.
- Application Update: The application update process refers to applying the necessary changes and revisions into the application. And clients can consume this new version of the package the next time the application is launched.
- Application Termination: This step consists only of removing or disabling the application from our server. As App-V clients never install this application, the termination process does not modify anything in their operating system and the application smoothly disappears from the environment without a trace.
Q: How is App-V different from other platforms?
A: We've previously covered some basic differences that we can find between the application virtualization platforms. Now, it's time for some quick facts about Microsoft App-V:
- Microsoft App-V 4.6 supports 64-bit clients as well as 64-bit applications.
- In the process of capturing-sequencing an application, we can immediately create MSI files to be deployed for offline clients and other particular environments.
- HTTP streaming: Applications can be streamed using web servers like Internet Information Services (IIS) version 6 or 7 or Apache.
- Dynamic Suite Composition (DSC): DSC provides the possibility to integrate different App-V packages and gain interaction between them.
- Highly-integrated with System Center Configuration Manager 2007 R2. If you already have SCCM 2007 R2 implemented, publishing applications combining the platforms should not present difficulties.
- Reporting: The use of virtualized applications can be easily monitored and reported with Microsoft App-V (only in the Full Infrastructure model). This can be an important feature in the lifecycle mentioned about applications, where you can get all the necessary information about the usage and termination, if it's needed, about applications that are no longer used by clients.
- Variety of implementation models: If there are not enough resources for a complete implementation, the standalone mode lets us take advantage of application virtualization without requiring particular servers.
There are several technologies and products we can use for application virtualization. Microsoft App-V offers the most suitable strategy (64-bit applications and clients supported), is scalable (different models available that can be used simultaneously in our environment, centralized management of permissions and licenses), and dynamic (interconnecting different set of applications plus strong reporting features that help us monitor the application lifecycle).
- Tips and Tricks on Microsoft Application Virtualization 4.6 [article]
- Microsoft Application Virtualization: Managing Dynamic Suite Composition [article]
- Installing the App-V Sequencer, Client and Streaming Server [article]
- Microsoft LightSwitch Application using SQL Azure Database [article]
- Microsoft WCF Hosting and Configuration [article]
- Microsoft Enterprise Library: Security Application Block [article]