I admit it. I’m an IT guy who really doesn’t like being on call. For many years I ran the IT function for a 24x7x365 call center, with agents all over the United States and in Europe. It was a tough job because, no matter the time, no matter the holiday, no matter what I was doing, I might get a call informing me that a technology failure was idling dozens—or even hundreds—of people and failing our customers.
These situations can wear on you because, as head technologist of a contact center, you know they will come and, when they do, there’s little you can do if you’re using a third-party platform. It means waiting for the vendor to go through its checklist, roll its trucks or escalate through levels of support until reaching someone who can resolve the issue—in the middle of the night or your own birthday celebration.
Fast forward several years and a few startups later, when I was offered the opportunity to develop new call center technology “in the cloud.” As first, I wasn’t too excited. I didn’t want to go back to late-night calls. Then, I realized this was my chance to build something that might make those midnight outages go away.
A failure-resistant, scalable platform
So, how do you build a service that’s resistant to failure and scalable? Part of the answer is understanding the difference between just moving your system to the cloud and the cloud architecture itself.
Moving a system to the cloud doesn’t necessarily give you more power and functionality. Instead of using the all-too-common approach of merely copying an application to a third-party cloud platform, such as Amazon Web Services (AWS), we built things from the ground up to be as distributed—and as resilient—as possible.
What does it mean to build application services based on an underlying cloud architecture? Cloud computing has become an overused buzzword and doesn’t always signify a 100% cloud-based platform. And running applications on a vendor’s cloud platform doesn’t necessarily translate to a true cloud service. It only means you are running your system on a cloud hosting service.
Optimizing for the cloud
To get the biggest bang for your buck, design your applications to take full advantage of operating in the cloud. Here are four key considerations for enabling a highly-optimized cloud platform:
- Match tasks with instances to maximize performance. There are always tasks or services your system provides that, while important, are not urgent. Offload and distribute these tasks to instances not involved in the real-time customer interaction. This reduces the size and complexity of the software supporting the interaction, making it faster, more scalable and easier to test.
- Plan for every instance to fail. If you don’t want to be called on a Saturday night, make sure the system can resolve its own problems. That is, automate your system so it can start new instances and shut down old/failing ones without human intervention.
- Configuration management and auto-provisioning of instances are vital. Warning signs that you need to address this issue include requests to “add a few packages” or “just modify a few configuration files” for things to work.
- Not all data should be treated equally. There are many types, including configuration data that your customer needs to authenticate and use the system, data about prior transactions for analysis, and bulk data that rarely (if ever) will be used. All of it is important, but each has different requirements concerning scale, speed and storage cost. Have you ever used a system where running a report would cause your real time users to complain? This is a common indication that all data is being stored and treated the same.
Operating with a true cloud-based platform has lifted many constraints for contact centers, enabling them to scale quickly and cost efficiently to customer demand. Gone
are the days where adding servers, storage and bandwidth takes an act of Congress, complete with purchase orders, project plans and wait-time. In the cloud, systems can expand, contract and virtually “move” around as necessary. That’s why we offer such a system at Humach, now 24x7x365 brings no fear.
In my next post, I’ll explain how these principles apply specifically to contact center services.
Put the cloud to work for you. Start your journey to a panic-free IT department here.