Archive for the ‘The Business of Technology’ Category

h1

Cloud Revisited

January 7, 2010

While my previous posts equated Cloud with OSI and Cloud as a marketing term, the fact of the matter is, Cloud is “at market”. Meaning, Cloud computing is a term that I may define as one thing, someone else may define it as something totally different.

My definition of cloud really depends on what we’re discussing. I don’t think any one answer is an absolute but I do believe that given the nature of the discussion and the esoteric abstractions that occur as a result, no one is fully qualified to define it, including me.

So for me, Cloud Computing is about what’s being delivered and how it’s being delivered. Who is delivering it, is irrelevant. Just because a company say the deliver cloud computing or cloud-based computing, doesn’t necessarily make it so. But what the consumer gets, whether it’s a web application like Salesforce or Autotask, or XaaS (X = anything you can think of), then it’s sort of a “cloud” to them. And that’s my principal point.

Whether via the internet, a corporate network or from home, it’s all the same to the consumer. As long as they have what they expect in a service, application, etc.

Once again, my perspective.

h1

Business Owners: What is Virtualization?

November 1, 2009

Some businesses I deal with regularly do not have any sort of virtualization technology in place. Many have a fair understanding of what virtualization is, but not necessarily how it can help the business.

What is virtualization?

There are many different perceptions of what “virtualization” means in the context of Information Technology. I will not delve into the super-technical aspects of various types of virtualization, but will attempt to break it down into key types along with how it could help your business.

Server Virtualization

In today’s context, a server can be two things.

1. A physical server, such as you might purchase from Dell, IBM or HP.
2. An operating system (OS), such as Microsoft Windows Server or Linux.

Traditionally, there is a one-to-one relationship between an OS and the physical server hardware. But with server virtualization, that relationship changes from one physical server (host) to many operating systems (guests or VMs).

Server virtualization is technology that specifically allows multiple operating systems to be run on a single physical server.

Example: Many businesses have several servers that provide something to the infrastructure. Email Services, File Storage Services, Printing Services, Authentication (Login) Services, Database Services are examples of the most common types. But installing all of these services onto a single physical server is not necessarily a good idea since these services could conflict with one another and cause problems. And having multiple physical servers for each of these services is costly, both in initial purchasing and ongoing maintenance costs, but is commonly done.

As long as the physical server hardware is capable, you can install a server virtualization technology, known as a hypervisor (such as VMware ESX, Microsoft Hyper-V or Citrix XenServer) as the “host”, then you can create multiple virtual machines “VMs” or “guests”, each running their own operating system and publish/provide services. These VMs then share the resources (processor, memory and hard drives) of the same physical server.

Benefits:

Server Virtualization benefits a business in terms of reduction in physical server costs and ongoing maintenance costs, depending on the configurations, and would allow for very flexible management. Also, the fewer physical servers you have, the less electricity you use and the less space is required to house them.

Centralized storage (a component often included with this type of solution) that can be used by multiple physical servers can increase the cost of the solution, however, it usually balances out in regards to overall cost as you are reducing the number of physical servers initially purchased. It also vastly improves performance if designed and implemented correctly in this context.

Application Virtualization

This is not a new technology since many vendors have been doing this for decades. But in the context of microcomputing today, it means you install an application on a server and then have users connect to that server over the network to run the application. The application then uses the server’s hardware resources (processor, memory and hard drives) to function and execute rather than a user’s workstation resources.

There are many different flavors of this technology, but the most common today are Citrix’s XenApp and Microsoft Terminal Services (which XenApp utilizes). This is technology installed to allow multiple users to connect and share the operating system resources (both hardware AND software) of the XenApp server.

Example: You install Microsoft Windows Server 2008 operating system on a server along with software to allow multiple users to connect and share the operating systems resources. Then you install the Microsoft Office Suite (Word, Excel, Outlook) on that server and “publish” the applications for your users. You then install a client software on each of your 25 workstations and direct it to the server. User’s can then connect to the server, run the application and the server does 98% of the work.

Benefits:

Application Virtualization benefits a business by centralizing the installation of end-user software and thereby lowering ongoing maintenance/upgrade costs associated with those applications. User workstations (desktop PCs) may not be required. It is possible to deliver these applications to alternate endpoint devices, such as a thin client or minimally installed desktop PC, thereby removing the costs associated with maintaining a user’s PC. Additionally, since the applications are installed on server-class hardware, performance is often improved.

Desktop Virtualization

This is something that has just recently (in the last year or so) started getting a lot of attention in the IT industry. You’ve likely heard the terms “Desktop Virtualization” or “VDI” tossed around from sales folks, literature or the Internet.

Desktop virtualization is much like Server Virtualization in that it is a way to share physical hardware. It means that you install multiple workstation operating systems (such as Windows Vista or Windows 7) into virtual machine “guests” on a server that is running a hypervisor. This hypervisor allows multiple operating systems to share the physical server hardware, much the same way as Server Virtualization.

As with the other types, there are multiple Desktop Virtualization solutions out there, such as VMware View and Citrix XenDesktop.

Example:

If you have 25 Destkop PCs, then they must be installed with an operating system, maintained, updated and repaired. A typical Desktop Virtualization solution for this scenario may be two physical servers, each with a hypervisor installed, and then a virtual machine is created and installed with the desktop operating system for each user. Users then connect to their Desktop VM and can work, with the server doing 98% of the work. The VMs are now “guests” on the physical server and share the server’s processor, memory and hard drives, just like server virtualization.

Benefits:

Desktop Virtualization benefits a business by centralizing, making it easier to upgrade, patch and support a user’s working environment. Desktop VMs are likely closely located to the servers that support them, making access to those services much faster. And like Application Virtualization, desktop PCs are not necessarily required as the Desktop VM may be delivered to an alternate endpoint device, such as a ThinClient, or a minimally installed desktop PC.

Synopsis:

Virtualization is essentially technology that allows the sharing of resources, both hardware and software.

What you choose to virtualize and the product you choose to use should always be tailored to your business. There is no “one size fits all” and there are many “what if” scenarios with deploying these types of solutions. Ask questions of your IT staff, consulting team or trusted technical advisors and ask for demonstrations.

It is possible to combine one, some or all of the types listed here and there are dozens of ways each of these types of initiatives may be designed, implemented and managed. The key is to ensure this is done in a balance that best supports your business.

h1

Tech Notes: XenServer and Neverfail

October 27, 2009

Neverfail is a wonderful business continuity product. I’ve been deploying it for a few years now, primarily for Microsoft SQL and Microsoft Exchange protection, and earlier this year, I had the opportunity to deploy Neverfail for Exchange to a virtualized environment.

My client has used Neverfail for the last couple of years with physical server pairs and crossover cabling for the Neverfail Channel, which is the traditional way to deploy this solution. So I deployed Neverfail for SQL 2005 and Neverfail for Exchange 2003 for them on separate projects a couple of years ago and away we happily went.

The main objective behind a virtualization intitiative, was to lay the foundation to allow for fast growth by leveraging virtualization technologies to conserve server resources and provision those resources quickly. We began planning a series of core infrastructure hardware upgrades to put them in a position to deliver these resources to the existing campuses and to new campuses as they came online. In addition, a planned upgrade (including virtualization) of the CampusVue architecture, the main Line of Business application, was in the planning stages and laying the groundwork now would be critical to ensuring success for that project. (I will post a Tech Note on CampusVue 11, n-tier virtualization deployment using XenServer in the near future).

Initially, I was concerned that we were going to have to select a different hypervisor and given the scope of the overall virtualization effort, was not really keen on that. But Citrix XenApp just plain outperforms the competition on XenServer and since the main Line of Business application for this client is delivered using Citrix Presentation Server 4.5, the choice was to go with XenServer 5.

Some months prior to planning these infrastructure upgrade initiatives it became apparent that there was one server in the Neverfail for Exchange server pair that was past end-of-life and the client was preparing to buy a new server. In fact, the Primary Server failed completely and was shut down for several months. I suggested that given the virtualization efforts, why not simply install the Neverfail Secondary server into a VM? In theory, it should work, but I began researching this as a viable option, since there was already a budget for virtualization server hardware, storage, core switching, etc.

Neverfail has quite an extensive knowledge base and I found several articles and spoke with several folks over there about this solution, but there just wasn’t much data. They have information in their KB regarding VMware but not much was published on XenServer. But since the product could work in ESX, it was a pretty safe bet that it would work on XenServer, so I began planning this during the initial virtualization deployment.

The initial deployment was a 2-node XenServer 5 resource pool using a Lefthand Networks iSCSI SATA SAN (pre-HP) that I had deployed during the initial Neverfail implementation. Originally that SAN had been used as a backup target and subsequently Exchange databases were moved to one of those LUNs (no, I didn’t do that part). I surmised that as long as we didn’t push any serious I/O through those LUNs, then we should be fine. In addition, I put in a temporary HP Gigabit switch to ensure that his throughput was a bit more reliable. These measures were temporary since we were expecting new hardware specifically ordered for this purpose.

After the nodes were deployed, I created the VM for the Neverfail for Exchange Secondary and began the re-deployment of Neverfail. I won’t go into the gory details from the Neverfail procedure (and it is quite detailed and wonderful), but I will abbreviate it here:

Build Secondary Server

1. Must have the same OS version, Service Packs & hotfixes
2. Must have same drive letter configuration with volume sizes => Primary Server
3. Must have same network configuration for LAN deployment

Deploy Neverfail software to Primary server. This process does the following:

1. Installs Neverfail software
2. Clones Primary Server using NT Backup
3. Reboot and server is again ready to provide services to users

Deploy Neverfail to Secondary server. This process does the following:

1. Installs Neverfail software
2. Restores “clone” to Secondary
3. Configure network appropriately
4. Reboot and servers will synch (a lengthy process)

This procedure is incredibly well documented by Neverfail. The only changes that I had to make on the fly are explained below. In addition, the XenServer Tools (PV drivers) MUST be installed prior to beginning ANY work on the Secondary. The IP configurations get all hosed if you don’t.

During the course of this implementation, I created VLANs on the client network, creating one for the Neverfail Channel. Since the XenServer NIC bonds were trunked to the switch, I had to do this to ensure that there was protected layer 2 communication between the physical Primary Server and the virtual Secondary Server network interfaces. Plus, it’s a standard practice when deploying XenServer ;-) .

The network portion of the XenServer resource pool, by default, is essentially a shared switch configuration. So, if viewed from that perspective, it’s quite easy to configure “virtual networks” with assigned VLANs for tagging traffic out the trunked NIC bonds (I used bonds in this scenario for most traffic, but a single NIC for the Neverfail Channel).

The “gotcha” comes during the portion of the Neverfail installation that asks you to ” disconnect the network cables from all network adapters on the Secondary server (the cables Must be disconnected rather than disabling the network adapters to proceed)”. I worked around this by disconnecting the Primary Server NICs, since that cannot be done in a XenServer VM. Since the restore process will actually overwrite IP configurations, this is critical to ensure that two Active servers are connected and visible to the network simultaneously, which could cause data loss and/or corruption.

During a Neverfail deployment, the Neverfail Primary server down-time window is equal to the time to install the Neverfail software + time to clone + one reboot. In a deployment to a virtual machine, this time is extended to include deployment of the Neverfail Secondary server to ensure there is no data loss. I am sure there are alternate ways to achieve the same result, but this is the way that I chose to ensure the integrity of the environment. If you have an alternate solution, then please chime in!

In any case, it’s quite a nifty little setup . When the remaining hardware was shipped and I built out the remaining components: 7 XenServer nodes, HP LeftHand P4500 and a Cisco 3750g stack (two nodes) and these components were deployed, we switched over to the Secondary (virtual) server for testing and it’s been running “virtually” ever since. Surprisingly enough, we were able to correct a memory problem by virtualizing this without service interruption. (More on Free Memory PTEs and Neverfail at a later time)

So all-in-all, Neverfail on XenServer is quite a nice leverage of virtualization technology and equals happiness for my client.

h1

Technology Decisions for Business Owners

October 22, 2009

I began working on this post as a result of interactions with business owners over the years when talking with them about technology solutions or services they were interested in implementing. I realized that many business owners, especially small businesses, have a good understanding of their business, but are not “techies”. Also, truly vetting a product or service was not something that was commonly done.

Most relied on marketing information, what could be “Googled” or a sales pitch on specific benefits that “may” be provided to their respective business. I noticed this often led to misinterpretation or misrepresentation of the technology or service and that subsequently led to a customer satisfaction problem for the vendor or provider.

Because of this, I decided to write up some considerations that small business owners can use to help them make better decisions. Vendors and providers, take head, as this could also be viewed from your perspective as a “what not to do” or “how to ensure the customer gets what they expect”.

Upgrades/Maintenance

This is the most common scenario since most businesses have some form of technology already deployed, which could range from a single site with a couple of workstations and bookkeeping software to multiple servers and workstations deployed over multiple sites with multiple Line of Business and office productivity applications.

Upgrading applications, workstations, servers, etc is a regular process that has a couple of drivers. One, the software/hardware manufacturer no longer supports the software version or hardware that your business is using. Two, the new software version or hardware has capabilities that would help increase productivity in your business.

Most businesses plan on using their hardware (i.e., servers, workstations, firewalls, etc.) for up to 5 years. Some business owners even consider it a one-time capital expenditure that should not have to be repeated and the software often goes unaccounted for with regards to budgeting. Problem is, new hardware comes out quite frequently (new processor chips, new types of memory, new PC models, etc) and software manufacturers have major releases every year or so.

Putting these costs in your business plan is a way to avoid the sticker shock. Upgrading software, which often requires better hardware, can drastically increase your expenditures if the hardware requirements are not accounted for.

Does this mean you shouldn’t upgrade your software? It depends. Does the manufacturer still support the version that you’re on? Does your business require a feature that is only available in the newer version? Will productivity be improved if you upgrade? These are questions you need to answer to help determine your path.

New Technology

Whether it be a new phone system, network infrastructure or a new software solution to help with your business productivity, new technology has hidden costs you may not be aware of.

Deployment cost is sometimes unaccounted for. You buy a solution from a vendor, but now you have to pay to have it installed.

Management cost is the most often overlooked. You have this brand new solution, but who is going to perform the day-to-day maintenance? Perhaps you have a dedicated IT staff that does this. Perhaps you do not have dedicated staff, but have someone whose primary job is something else. Management of a solution is an important part of the overall cost consideration.

Training cost is often neglected since any new technology will likely require training for your users. And training your users on a new technology takes them out of the day-to-day, which means decreased productivity. And of course there is technical training required to ensure that someone on your staff can maintain your new system. Things like performing backups, adding/removing user accounts or new staff training.

In addition to these costs, the upgrade/update costs should subsequently be added to your business plan as I mention above in “Upgrades/Maintenance”.

So, who’s going to install it? Who’s going to maintain it? Who’s going to train my users? How much are upgrades? Can I buy a subscription that gets me the upgrades for no additional charge?

These are questions you should ask to help you make better decisions for the long term goals of your organization. Be skeptical. Require proofs of concept or live demos, not mock-ups. If possible, speak to someone who’s already using the technology. This gives you a clearer understanding of what it’s really like to own a product/technology and will go a long way towards making your business more profitable.