Tag : limitations

Application Virtualization – The Basics

Application Virtualization is the future and it’s more clear today than it has ever been.  I always find it funny how people always revert back to the basics after every other form of architecture is explored.  Application virtualization refers to several techniques that make running applications more protected, more flexible or easier to manage.  Modern operating systems attempt to keep programs isolated from each other. If one program crashes, the remaining programs generally keep running. However, bugs in the operating system or applications can cause the entire system to come to a screeching halt or, at least, impede other operations.  Full application virtualization requires a virtualization layer.  Application virtualization layers replace part of the runtime environment normally provided by the operating system. The layer intercepts all file and Registry operations of virtualized applications and transparently redirects them to a virtualized location, often a single file.  The application never knows that it’s accessing a virtual resource instead of a physical one. Since the application is now working with one file instead of many files and registry entries spread throughout the system, it becomes easy to run the application on a different computer and previously incompatible applications can be run side-by-side.   Examples of this technology for the Windows platform are Cameyo, Ceedo, Evalaze, InstallFree, Citrix XenApp, Novell ZENworks Application VIrtualization, Endeavors Technologies Application Jukebox, Microsoft Application Virtualization, Software Virtualization Solution, VMware ThinApp and InstallAware Virtualization.

Technology categories that fall under Application Virtualization include:

  • Application Streaming-Pieces of the application’s code, data, and settings are delivered when they’re first needed, instead of the entire application being delivered before startup. Running the packaged application may require the installation of a lightweight client application. Packages are usually delivered over a protocol such as HTTP, CIFS or RTSP.
  • Desktop Virtualization/Virtual Desktop Infrastructure (VDI)-The application is hosted in a VM or blade PC that also includes the operating system (OS). These solutions include a management infrastructure for automating the creation of virtual desktops, and providing for access control to target virtual desktop. VDI solutions can usually fill the gaps where application streaming falls short.

Provided below are some basic terms as well as architecutral frameworks when considering in deploying a solution of this nature:

  • Application Streaming=  Rather than installing all applications in every user’s machine, applications are delivered to each user’s PC as needed. This enables the applications to be updated centrally and also provides a way to measure each users’ application requirements over time. See application streaming.
  • Terminals to a Central Computer=  The oldest network architecture, all applications and data are stored in a centralized server or cluster of servers. The user’s PC functions like a terminal to the server or dedicated terminals are used. The applications are said to be “virtualized” because they function as if they were running on the client. See thin client.
  • Partition the Hardware=  This is the traditional meaning of “virtualization” and refers to partitioning a computer in order to run several applications without interference, each in their own “virtual machine.” Deployed in servers and clients, this is more accurately called “server virtualization” and “client virtualization.” Contrast with OS virtualization. See virtual machine.
  • Write the Program Once, Run Everywhere=  An interpreted programming language enables the same program to run on different machine platforms, with Java and Visual Basic being the major examples (see Java Virtual Machine and Visual Basic). The applications are said to be “virtualized” because they run on any platform that has a runtime engine for that language.
  • Dynamic Application Assignment=  This approach treats servers in the datacenter as a pool of operating system resources and assigns those resources to applications based on demand in real time. The pioneer in this area is Data Synapse Inc. The applications are said to be “virtualized” because they can be run in any server.

Benefits of application Virtualization

  • Allows applications to run in environments that do not suit the native application.
  • May protect the operating system and other applications from poorly written or buggy code.
  • Uses fewer resources than a separate virtual machine.
  • Run applications that are not written correctly, for example applications that try to store user data in a read-only system-owned location.
  • Run incompatible applications side-by-side, at the same time and with minimal regression testing against one another.
  • Maintain a standard configuration in the underlying operating system across multiple computers in an organization, regardless of the applications being used, thereby keeping costs down.
  • Implement the security principle of least privilege by removing the requirement for end-users to have Administrator privileges in order to run poorly written applications.
  • Simplified operating system migrations.
  • Accelerated application deployment, through on-demand application streaming.
  • Improved security, by isolating applications from the operating system.
  • Enterprises can easily track license usage. Application usage history can then be used to save on license costs.
  • Fast application provisioning to the desktop based upon user’s roaming profile.
  • Allows applications to be copied to portable media and then imported to client computers without need of installing them.

Limitations of application Virtualization

  • Not all software can be virtualized. Some examples include applications that require a device driver and 16-bit applications that need to run in shared memory space.
  • Some types of software such as anti-virus packages and application that require heavy OS integration.
  • Only file and Registry-level compatibility issues between legacy applications and newer operating systems can be addressed by application virtualization.

Capabilities and Limitations of the Apple iPad in a Standard Business Network Environment

The iPad is a great device. It’s light, ultra-portable, and you don’t have to take it out of your carry-on for airport security. It’s sleek and sexy. It’s remarkably versatile. Many people wonder: can I replace my Window laptop or MacBook with it? If I add a Bluetooth keyboard, is it a netbook?

You can try, but it’s like trying to get a Corvette to replace a pickup truck: they both serve the same fundamental purpose, but they each excel at different things. You can try to get your pickup up to 180 MPH, and you can try to haul a ton of bricks in your Corvette. With enough effort, “McGyver”-ing, and aftermarket accessories, you could no doubt accomplish each. But is it a good idea? And if you think it through ahead of time, do you really want to?

The longing to replace a laptop with an iPad is easy to understand. An iPad travels well. It’s simple to connect it to a Wi-Fi network, and you don’t have to wait for it to boot up. The battery lasts. When you’re not working, you can use it to play music, movies, or games. It’s a terrific reader for news and e-books. It’s a great email client for Gmail, AOL, and (if your company’s mail system supports it and the corporate policies allow it) Exchange mail, calendar, and contacts using ActiveSync.

But it’s important to remember that the iPad is NOT a laptop or a tablet PC. And, despite being an Apple product, it’s NOT a MacBook. It isn’t built on Windows or Mac OS X – its operating system (iOS) was originally developed for the iPhone. The interface uses multi-touch gestures and an accelerometer, making possible applications that can’t run on a PC or Mac. That also means that applications written for a PC or Mac can’t run on an iPad – unless the author specifically develops a version for iOS. Even then, they would need to publish their application through the Apple App Store (thus sharing their proceeds with Apple) – or you would need to jailbreak your iPad, voiding the warranty.

Importantly, the iPad (like the iPhone and iPod Touch) does NOT support Adobe Flash or Java, meaning that websites that use those technologies won’t behave as designed. Why not? Apple CEO Steve Jobs called the Adobe product insecure, buggy, battery-intensive, and incompatible with a touch interface.

The iPad is better at consuming information than it is at creating it. It’s great for creating and editing smaller emails and documents, but you’ll want a PC to create large or complex documents. Another challenge: once you’ve created or edited the smaller documents, you can email them from the iPad, but only one file per email. To send multiple files, you need to send multiple emails. This can be pretty cumbersome. You’ll note that as you explore the iPad you won’t even encounter the concept of a “file” as you would on a PC or Mac.

To think of the iPad as a replacement for a netbook, notebook, or MacBook is like thinking of the Corvette as a replacement for a Ford F350. Is it fair to call the iPad an overgrown iPhone? No. It’s a terrific multi-function device with some very valuable business purposes in specific situations. Should you expect it to behave like a Windows machine or Mac? You’ll only end up frustrated if you do.

Love the iPad for what it is, and don’t hate it for what it isn’t. And don’t expect your IT consulting company to help you make it do what it’s not designed to do – they can’t fit a ton of bricks in a Corvette, either.

So… what CAN the iPad do in a business network environment? In other words, what is reasonable to expect your company’s I.T. team to support?

  • Email access. If your company allows remote email access from a smartphone using POP or IMAP protocols, you can do it from your iPad. Note, however, that it’s up to you go get the iPad connected to the Internet on the remote Wi-Fi. If you have a 3G iPad, getting it on the Internet is strictly between you, Apple, and AT&T.
  • Calendar/Contact synchronization – if your company has a fairly new Exchange server and the network is configured to allow ActiveSync access. If you have a non-BlackBerry smartphone that wirelessly syncs Calendar/Contacts, your iPad can also.
  • Remote Desktop to a Terminal Server – if your company has a Terminal Server. If you have access using Microsoft’s Remote Desktop Connection software for either Windows or Mac, you can have access from your iPad. Be sure to get a good RDP app such as iTap RDP, which makes it easier to operate a Windows desktop from with the iPad’s smaller display, and makes the best use of the iPad’s direct manipulation and multi-touch gestures.
  • VPN access. If your company allows VPN connections from other devices, such as an IPSec VPN tunnel to a Cisco firewall or a PPTP connection to a Windows RAS Server, you can have the same connection from your iPad. You might use it to establish a Remote Desktop Connection to your office workstation, if your company’s policies allow this.

Now… what CAN’T you expect your company’s I.T. team to support? Pretty much anything not listed above. At its heart, the iPad is a consumer device, and is probably not included in the list of officially-sanctioned “clients” for your company’s server-based applications. There’s no doubt that the iPad will continue to evolve, and new apps are released every day that enhance its functionality and usefulness. But, as a mobile network device, it presents challenges in terms of data security, bandwidth usage, and compatibility. These translate into significant I.T. support costs, so don’t be too surprised if your company won’t support it.