Cloud Applications Done Right - Part 4: Risk Management and User Guidance

In Part 3 of this blog series, I presented my take on how to overcome the scalability, availability, and performance arguments against cloud applications. First, I talked about using server pools to handle large workloads and distribute different types of work across separate servers to protect thousands of users from the one trying to run a ten thousand page general ledger detail report. The second piece of my argument highlighted the unique position that cloud vendors find themselves in – as both the provider and the operator of the application. With this perspective they can better manage computing resources, design features to take advantage of specific server configurations, and optimize their processing power. Today, we will complete this thought by looking at two more ways to ensure reliability: managing risk to maximize uptime and training users to optimize their application’s performance.

Cloud users expect their applications to be available – always. Managing that expectation comes down to managing risk. And managing risk requires simplicity. Technology is moving forward at an incredibly rapid pace. At Intacct, we have lots of opportunities to incorporate promising technology to incrementally improve performance or scalability, but if that technology adds even the slightest increase in complexity, we avoid it because it increases risk and adds cost.

One of my favorite examples of this conundrum is storage area networks (SANs). At scale, SANs offer very compelling performance improvements and may even reduce overall storage costs. However, SANs require specialized skills to operate and are incredibly complex to implement. So what happens when the SAN goes down? The system goes down… for everyone. And, because SANs require sophisticated skills and knowledge to operate, bringing that SAN back to life may not be a trivial exercise. For these reasons, at Intacct we prefer good old-fashioned RAID arrays attached to our servers. When disks fail, we simply replace them – at our convenience. We’ve never had a single minute of down time caused by a hard drive failure.

The final way to improve performance is to simply be smart. Users need to know how to use the system in a way that will give them the best result. But you have to do two things to make this work:
  1. Make sure that the best result is far better than what they would otherwise get running the system locally.
  2. You have to teach them how to get it.

Let’s take the large report example again. If a user really wants a ten thousand page general ledger detail report, they can go into their web browser and run the report expecting Intacct to return the results. But if that happens, the browser would likely crash or time out waiting for the report, causing lots of frustration. So, to proactively educate our users on how to get the best result, Intacct will actually kill the report early and give the user a message telling them it would be better to run this particular report “offline.” When this happens, we route the job to the special large report servers and process it safely and confidently, while the user is busy doing other activities.

When designed correctly, and when operating at scale, cloud solutions not only provide better availability than their on-premises alternatives, but they also provide better scalability and performance. As a first priority, we protect the system from any abuses from a single user, but we also have a tremendous pool of resources available to that single user to run reports or process jobs that are beyond the ability of a single local server. That ten thousand page general ledger detail report is probably impossible to obtain in a comparable on-premises system – especially if you want to allow other users to process invoices while that report is running.

We’ve come a long way at Intacct in overcoming the arguments of cloud applications and proving that scalability, availability, and performance are not concerns, but some of our biggest strengths. Our availability consistently exceeds 99.99% and we’re continuously pushing the envelope on performance. And happily, we’ve removed those cameras from the data center I mentioned last time. Nothing provides greater comfort than simply making sure the system is always up. [See Intacct's Buy with Confidence guarantee.]

I look forward to your comments and feel free to follow me on Twitter (@aaron_r_harris). You can also follow Intacct on all our social media channels, including Facebook, Twitter, and LinkedIn. To network with other people interested in cloud financial applications, be sure to join the Intacct Cloud Accounting group on LinkedIn.

Read Previous Posts in the "Cloud Applications Done Right" Series:

photo credit: pr_ip via photopin



Anonymous said...


Although I understand your comment about SANs for their complexity, they are built for redundancy, with multiple paths, multiple controllers, and RAID configurations for the disk. SANs will go down on occasion, but they don't happen regularly. Additionally, any intimation that RAID is the savior because you have direct attached storage to servers is absolutely not correct. Disks fail all the time in SAN arrays, as well as NAS devices, and direct attached storage. If configured in a proper RAID configuration on any of these types of storage devices, a single or even multiple disk loss would not impact the platform. I think you need to be more clear in the future when you make comments like this.

I applaud you for no downtime on your infrastructure, but I think you need to better understand RAID configurations.

Alex Gheorghe said...

I think Aaron is highlighting the fact that in a SAN configuration, the platform would go down for everyone if the SAN goes down and then, recovering the SAN can be a pain resulting in increased down time for the entire platform behind it - this is regardless of the RAID configuration.

So I believe that we're not looking at a misunderstanding of RAID configuration, but more like an opinion of DAS vs SAN in regards to system availability and manageability (of risk also), from Intacct's perspective.

Indeed, managing risk requires simplicity and the DAS strategy seems to be both simple and inexpensive.

Post a Comment