Until recently, I was not a big fan of putting mission-critical applications in the cloud or letting someone else provide them. I had been burned too many times by shady vendors or providers who just did not have their acts together. But in the last few years, things have changed. There is a new breed of application vendors out there who have certain application classes nailed down really well and have established reputations for reliability, security, and fairness. It's a good time to take a look at the cloud again. Here are 10 applications that can be moved to the cloud.
Note: This article is also available as a PDF download.
Email is the lifeblood of many organizations, and as a result, many companies are not willing to let go of it. That is understandable. But hosted email providers have moved beyond the days of packing 5,000 mailboxes belonging to 300 accounts onto a cheap computer running with a basic POP3/SMTP setup. While basic email service is still out there, you can get hosted Exchange services from a variety of vendors (if you need it), as well as some upscale, non-Exchange offerings. Email architecture has become quite standardized, and there is really no value-add to keeping it inside your firewall other than mitigating regulatory concerns.
2: Conferencing software
Setting up and maintaining conferencing software is not fun. To make matters worse, when it is down, it needs to be up in a hurry. Like email, there is zero benefit to locating this within your firewall. Also like email, the setup and configuration can be complex enough to require an expert, unless you don't mind tying up a staff member for a few days. For a low monthly or yearly fee, this weight can be off your shoulders. No one will notice or mind, and your staff can move on to other tasks.
The decision to outsource CRM can be scary. After all, like email, CRM is where so many of the company's crown jewels are stored. But there are no technical benefits or advantages to having CRM in-house. It's a fairly low bandwidth application with maintenance overhead you do not need. In addition, the licensing of many CRM systems can be a hassle. Moving to a hosted CRM system can free you to spend more time on more important issues.
4: Web hosting
Hosted Web space used to be as awful as hosted email, unless you were willing to spend big bucks on a dedicated server. Many vendors have shifted to (or offer) a virtualized hosting environment, which has dramatically increased uptime, reduced security risks, and allowed them to provide much more open and direct access to the servers. This is great news, especially for companies with custom applications that require a deployment path beyond copying some files over.
5: Development test labs
Building and maintaining test environments for software developers is a major undertaking. To do it right, you need all sorts of permutations of operating systems, patches, and relevant applications. You could easily find yourself with nearly 100 test beds for a simple Web application, for example. Why do this to yourself when there are quality vendors out there who already have these test systems set up or that allow you to configure them with point-and-click ease? And you can safely give the keys to the development staff and know that they can't permanently mangle the test systems, too.
6: Video hosting
A few years ago, I was down on the idea of using the common video sites to host your video. Many companies would block those sites under the assumption that they were only for games, there was the real fear of having ads placed on your videos, and often the quality would be compromised. Now, the big name sites have upgraded their quality and few companies block them because there is plenty of legitimate usage. In addition, some sites allow you to pay a fairly low charge to give you more control over your video, like deciding where it can appear and enhancing its quality.
7: Email security
Even if you do not put your email with a hosted vendor, you will want to look at having a third party perform your anti-spam and antivirus duties, even if it's only as a first-line defense. If you look at how much incoming email is spam, you'll see that you can reduce your bandwidth needs dramatically by allowing a third party to perform an initial scan of your email. It will also allow you to have far fewer email servers. Speaking from personal experience, even a small company can have its email servers and network overwhelmed by incoming spam. Getting a good spam scanner outside the network can make a night-and-day difference.
8: Common application components
There is always the perpetual "build" vs. "buy" question for development projects, but the cloud adds a new wrinkle. Many functions that used to be the purview of components or libraries you could buy are now being made available as Web services, typically billed on a per-usage basis. Often, these services take a variety of lower-level functions and roll them into a complete, discrete offering. You would be surprised at how many of these Web services are available, and depending upon your usage scenario, it could make a good deal of sense to use them instead of rolling your own.
9: Basic office applications
If you need the full power of the Microsoft Office suite, by all means, this isn't for you. But if you are one of the many organizations that use only a small fraction of the Office feature set, it may make sense to look at one of the new crop of online Office replacements (or even Microsoft's online version of Office). I honestly never thought the day would come when this was possible, but it is a legitimate possibility for some companies. Just be honest with yourself before making this move and work closely with your users, since this directly affects so much of their workday.
10: Batch processing applicationsOne type of application that shines in the cloud are batch processing applications, such as data warehouses. As long as you can get the data needed into the cloud without disrupting your operations (such as "seeding" it with the shipment of physical media or synchronization over time), the ability to rapidly scale capacity in the cloud can result in tremendous savings. For example, if you need 15 servers' worth of computing capacity for a once-per-week job, do you really want to have 15 servers sitting idle in your server room waiting for that? Or would you rather just modify the task to start 15 cloud instances, run the process, and shut them down again? In a scenario like this, it is clear that cloud computing can deliver significant advantages.
Justin James is an OutSystems MVP, architect, and developer with expertise in SaaS applications and enterprise applications.