The cloud and the help desk: How is support provided?

Nick Hardiman looks at the cloud from a help desk perspective. Outsourcing support is not a new concept, but how will the advance of the cloud affect customer service issues?

My monitoring application keeps an eye on my enterprise application and can report any system issues it finds. What happens then? And what happens if a customer phones the help desk to report an application issue?

Help is required, and support is help - help to get past obstacles to delivering customer service. An application must be supported.

Running your own technical support is a pain. It's expensive, messy and complicated. Outsourcing technical support is a possibility every enterprise leader has examined so they can concentrate on innovation instead of getting bogged down with the job of keeping the lights on.

Support-as-a-service is called outsourced technical support

The technical outsourcing industry has not really had a cloud overhaul - Support-as-a-Service has not become a popular cloud phrase. Maybe that's because the SaaS acronym was already taken, but it's probably because outsourcing technical support services is an established industry that pre-dates cloud computing by decades.

Support is provided by people, not machines

Support is the traditional customer service supplied by a human, rather than the automated Internet service that an application can provide.

Being a lazy sysadmin, I want to automate support as much as possible. Unfortunately, automating support is a difficult job, limited to customer self-service features such as account management (everyone's reset their password on a web site), raising a problem ticket and navigating a phone menu. Business functions are known knowns and can be turned into business logic. Coding the unknown unknowns is somewhat trickier.

Enterprise support

Running an enterprise web service means providing support on an industrial scale. This, in turn, means abstracting out support functions into a few discrete layers, usually called levels, lines, or tiers.

A non-technical organization that has outsourced all their IT to an MSP (Managed Service Provider) can offload all this support responsibility. For the rest of us, it's a messy and expensive business.

First line support

This is the support level that everyone loves to hate. It usually involves a room full of phone operators providing a basic support service - listening to complaints, fixing simple problems, and passing on other problems to the next level. It is the only contact most customers have with their service suppliers when they have problems.

Many enterprises recoil in horror at the wage bill that comes with running a helpdesk, and outsource first level support. Many helpdesk service companies happily take the money and redirect support calls to rooms full of script-reading employees in the Philippines, India, Indonesia or other offshore supplier.

Second line support

The first line operators with experience, a knowledge base application, and a higher level of security access can be trusted with more complex problems. If a problem can be fixed by reconciling data, freeing up resources, or repairing machines, it's down to these second level guys to do the work. If it is an unstoppable force/immovable object problem, such as poor database requests, missing functions or security violations, they pass it onto the final line of defence.

Third line support

The buck stops here. The big issues - the structural show stoppers which must be worked around by making big changes - end up with the third line support people. These are the hard problems requiring money, time and specialist work to fix.

Every service provider must support customers by providing third level support. No other organization has the depth of knowledge around the customer service. This costly support presents budget service providers with a problem.

Fourth line support

Every enterprise uses off-the-shelf generic applications to cut down on their development time. If support staff can point the finger of blame at one of the many off-the-shelf applications used to make my tailor-made business application, the problem can be passed onto them. If the application is open source, such as the Postgres database, the supporter can turn to the community for solutions. If the application is closed source, such as the Oracle database, the supporter can raise a problem ticket with the company.

Going forward

To provide support for an enterprise application means setting up a multi-tier support structure that involves many people. It's an expensive business because wages are expensive, and there's no getting round the wage bill with automation. Money can be saved by outsourcing the basics to support service companies.

One of the hopes for cloud computing and the devops movement is to decrease the cost of keeping the lights on, by removing big chunks of the network that must be supported and by increasing the quality of new systems.