Applications and other computer services for in-house users consume plenty of resources. Virtualization enables outsourcing many of those expenses, but does it make sense for IBM i?
Outsourcing application and other computer services is far from an original idea for trimming IT budgets. What holds many enterprises back from taking this step are largely control issues, but it doesn't help that the many terms surrounding this kind of service remain murky. Virtualization, Software as a Service (SaaS), cloud computing, application streaming, and application virtualization all seem to be overlapping terms. Adding to the confusion is that vendors offering such services refer to themselves variously as application service providers, hosted service providers, and service bureaus. Finally, there's the problem that vendors providing such services essentially break down into three main types. It can be perplexing.
You're So Vane
If the weathercock on your IT barn is pointing to virtualization as a new dawn, maybe it's time to define some terms and get you at least pointed in the right direction.
Virtualization is a hot buzzword and in general refers to the ability to use the Internet as your local network for accessing computer services without necessarily having them in the same building with you. What's confusing is that there are four kinds of virtualization, each of which can operate locally or over the Internet:
- Hardware virtualization is the division of system memory to let different operating systems run on the same machine so that specific applications and other computing services can operate under the OS most efficient for them to use without interfering with each other. Each partition is called a "virtual machine."
- Network virtualization is a process of viewing all devices on a network logically (often via graphical icons) so they can be managed from a central console.
- Storage virtualization is similar, letting users control multiple storage devices that may be located in the next room or on another continent. It's the basis for many high-availability and offsite-backup schemes, which unhelpfully use such terms as "virtual tape" to describe their effects.
- Application virtualization has two meanings. The first is delivering applications to a user from a central server without necessarily having to load that application on the user's machine. The second is the ability to run the same application on different computer platforms (or under different OSes on the same machine) because they're written in a language (such as Java) that has a runtime engine for each OS.
Cloud computing is another popular term for techies in the know, but it follows virtualization's pattern. Here "cloud" replaces the old term "black box" to mean "an entity whose details you don't need to know" and refers to using the Internet as one entity to provide services in the areas of hardware, network, storage, and application virtualization.
You Probably Think This Song Is About You
Hardware, network, and storage virtualization have already become commoditized. Many companies offer these services via the Internet, and if you sign with them, you're committed to using their method, software, and maybe even their hardware. Picking the vendor is the only major decision you get to make.
This is where the hosted service providers step in. They collectively provide the whole buffet of IT functions, generally operating on their machines, though the combinations vary from company to company and can include application virtualization, hosting your company's Web site, infrastructure services (e.g., security, monitoring, business continuity), and Internet access.
Not commoditized yet is the application virtualization aspect, and if that's your interest, you still have some thinking to do. Setting aside the runtime-engine definition, application virtualization has two main branches. To accomplish it, you're either running applications over the Internet that reside on someone else's server, or you're downloading applications to a local machine each time you want to run them.
Client/server computing is the time-honored term for the latter in the IBM i context and is still the most common model for application delivery in most i shops. It simply doesn't require the Internet. But it's expensive because of all the machines, software licenses, and on-staff help desk and programming people that model requires. Using an outside source for software and connecting via the Internet is one way out of that financial lockdown.
SaaS typifies the first branch of application virtualization and is also sometimes called on-demand software. It's the process of leasing rather than buying software licenses. Subscription-based, SaaS software usually runs on someone else's server, and users access it via browser, which means applications can potentially run on any browser-capable device, not just PCs or terminals. Because it's the service provider's problem to worry about licenses and upgrades, the users always get the latest versions of the leased applications without their local IT department having to schedule and accomplish loading new versions or patches. The second branch of app virtualization is the situation in which software is downloaded to the user's machine, which often embodies the concept of application streaming. Here, the user's machine downloads just those parts of an application the user needs when the parts are needed (although obviously streaming can take place in non-Internet environments as well).
Dreaming They'd Be Your Partner
The companies that provide these services have many names. Probably the oldest term is service bureau, which has been with us since the days when enterprises offered software via a private network connection. TCP/IP and HTTP are much cheaper than those private lines used to be, but the concept is the same: software running on a remote server that you get to use.
A more common term for this type of business is application service provider (ASP), except that there are at least three different kinds. Wikipedia defines these as specialist or functional, vertical, and enterprise. The specialist or functional ASP offers a single application or a group of closely related ones. Often, this is simply an additional delivery model for a software vendor that specializes in one kind of application software. You buy licenses to run the software on your machines or take the SaaS option to run it on the vendor's. The vertical ASP focuses on a particular vertical market, such as manufacturing companies, and delivers a group of solutions tailored to that group--for example, accounting, enterprise resource planning, and shop-floor management applications. The most well-known example here is salesforce.com. The enterprise ASP offers a spectrum of applications useful to a wide range of businesses, such as applications for human resources, marketing, and financial planning in addition to standard functions such as accounting and billing. (Wikipedia also defines two other ASP types. The local ASP delivers SMB services in a limited area, and the volume ASP provides a single, widely usable package via their own Web site--for example, PayPal.)
Giving Away the Things You Love
Following the ASP model has financial advantages that can't be ignored. In addition to avoiding the expenses of maintaining the machine and personnel infrastructure necessary to support on-premises software and computer services, licensing costs are usually lower. You pay only for what you need, you know what that amount will be every month, and (at least in theory) if the ASP's fees go too high, you can switch to a different ASP. You settle on a service-level agreement with the ASP and get to hold their feet to the fire if they don't perform. An ASP app is likely to be able to easily scale if you need to ramp your business activity up or down. Your IT resources can go to strategic projects and not get bogged down with user handholding.
But of course, using an ASP is not that simple. You have to give up a measure of control in a number of areas. You may be limited to using one-size-fits-all applications unless you're willing to pay extra for custom modifications. You'll become dependent on another enterprise for certain business functions, some of which may be critical. There may be integration difficulties with other applications you're running locally. If there are problems, you can't call the help desk and necessarily get instant top priority, because despite the ASP's best intentions, a hotter fire may be blazing somewhere else for them. And if the Internet itself should ever go down, where are you? That's going to happen, sooner or later. These are all issues you have to consider before switching to an ASP model for application software--and other kinds of virtualization, too.
Where You Should Be All the Time
There's one more question, though, and that is this: does cloud computing and software virtualization really make sense for the System i? The answer is "it depends." On the one hand, the i is known for reliability, and it's the relative lack of reliability of some other platforms that currently helps make virtualization attractive to other companies. Costs for transaction processing and storage on the i are already relatively low; do the loss-of-control aspects make up for any potential lower costs of "virtualizing" some or all of your operations? And switching over won't be cost- or pain-free, either. You will have to carefully think through the cost benefits for your individual enterprise.
Maybe for now, doing nothing or choosing partial adoption just for certain functions is the best answer for many i shops. But the i doesn't exist in a vacuum. Virtualization is attractive to many enterprises for different reasons, and as the computer industry moves forward in embracing this technology, pressure from upper management and users to conform may slowly mount. Whether it makes sense today for your enterprise to use it or not, cloud computing is an area you need to keep a weather eye on.
ASPs for Today's i
If you're interested in exploring an ASP option, here is a selection of some companies offering these services for System i. You can find many of them in the MC Press Buyer's Guide. This list includes the company name and a link to its Web site, with the company's primary applications or market shown in parentheses, where applicable.