Many companies today want to package their software product as an Application Service Provider (ASP), or hosted, offering. Hosting your software brings a number of advantages to your business.
But hosting software is not for the faint of heart.
Read on to understand the dynamics, the limitations, and the considerations involved in successfully hosting software.
Boom and Bust Years
As I recall, the ASP concept exploded onto the scene as part of the dotcom bubble of the late 90’s. The concept had been around in various forms for decades, including the Service Bureau concept for banking software. But a bunch of Application Service Providers sprouted up like mushrooms to cheaply offer all sorts of software, where all a customer needed to do was sign up, use a web browser and have a connection to the Internet.
The ranks of these young and financially vulnerable ASPs were decimated when the bubble burst. “Decimate” literally means to take out every tenth one, but I think in this case some nine out of ten ASP companies went under or were taken over as the only alternative to complete collapse. The term “ASP” lost its luster. In fact, that tarnished term has been replaced by the term “hosting” and “hosted software.”
Hosted software has grown slowly but steadily since the dotcom bust, but only the most financially sound and stable companies have been able to pull it off. Salesforce.com is the shining success story for hosted software. Many other established players moved to add a hosted offering to their product line.
So now we have gotten through the lean years for hosted software and are beginning to see more and more hosted licenses sold.
Steady Income, Easy Payment
When customers license hosted software, they don’t pay an up-front license fee. Instead, they pay a monthly amount that covers software, hardware and other infrastructure that runs the software, and the services that you provide to run it.
This means that a software company can receive steady income every month. Compare this to the roller coaster ride of revenue that accompanies sales of one-time license fees, where often 40 to 60 percent of your sales are made in the fourth quarter. With a little lag time between contract signing and payment, software companies see a rush of revenue at the end of the year and in the first quarter, with seven or eight lean months in between. The cash flow is tough to manage.
Monthly payments also mean that customers can budget for low, steady payments which don’t have to come out of the capital budget. They become like the utility bills they pay every month.
Short Term Loss, Long Term Gain
If you currently license your software the traditional way and decide to go the hosting route, be prepared to take a short-term hit to revenue. That’s because instead of getting, for example, $100,000 up front at the time of sale (revenue which you can recognize as soon as the software ships), income will come in at $3,000 a month.
But that $3,000 each month may last for three to five years, or even longer. As time goes by, those many contracts that didn’t bring in a big price up front are bringing in dollars each month. As your customer base grows, you enjoy a growing volume of steady, predictable income, something that’s worth its weight in gold for software companies with their up-and-down cash flows.
When you’re a customer using software, it’s easy to keep paying monthly payments rather than justify a big new expense to replace it. It takes a good deal more pain to make your customers move off your software and on to a competing product that doesn’t include a hosted offering.
If you take the example of $100,000 up front versus $3,000 each month, a customer that stays for three years pays a total of $108,000. If they stay for four years, you bring in $144,000, and it’s $180,000 for five years. The longer they stay – and it’s easier to stay than to switch – the more profitable they become.
When you host your software, you can compete better in terms of capabilities. That’s because you can develop new features in shorter cycles, then roll those features out automatically to all your hosted customers. No more sending software updates that don’t get implemented for another six months to a year, or never at all.
When you get new capabilities out to market and your customers are using them faster, you get success stories sooner, and it all benefits your product’s competitive position.
Architecting For ASP
In order to get the most financial and operational benefit from hosted software, you need to architect it so that it can be hosted at the lowest possible cost in terms of hardware, software licenses, and maintenance effort.
At the most basic level, this assumes software that is architected for use over the Web. But this also means multiple customers on one server or sharing a cluster of servers.
Such a setup leads to many databases, sometimes more than one per customer, all on the same server. With multiple databases of information that must be kept entirely separate from one customer to another, data security is vital. Be certain that you understand how the database you use for your product handles multiple databases and security.
When you host multiple customers on a shared hardware platform, it becomes paramount to track users and truly control their access to data.
Minimum Daily Requirement
For reasons of expediency, some companies offer hosted software that is not particularly architected for hosting. It’s basically the equivalent of a separate hardware and software system for each individual customer, like it would be if the customer had installed it themselves. But the system is housed in a facility that you administer.
It’s certainly possible to host software this way. But your hardware, software licensing, and system administration costs will be higher, perhaps high enough that a clever competitor with a product that is truly built for hosting can come in and undercut your price while making plenty of profit themselves. If you start out hosting the minimal way, don’t be lulled into complacency. Expect to continue architecting your product so that it shares as much hardware and software infrastructure across customers as possible.
Licensing and Add-On Sales
If you host, it is easy, fast, and inexpensive for you to extend licenses, even month by month, add users, and add modules. When an installed customer wants to license a new module, you have to ship them a file and walk them through the installation process. They may need to spend time getting the step approved and scheduled.
With hosted software, once the contract is signed, you’re free to act at once to extend your customer’s term and to install license keys for new modules or users. It makes incremental sales and upsells that much more appealing to customers.
When you’re hosting software, much or all of the system administration now falls upon your company. You will need to build a staff of administrators, and in order to administer the software profitably to a growing customer base, you’ll need to automate as much of the effort as possible.
The best way to automate your product’s system administration is in the user interface. Think of the system admin as an integral part of the product. By building hosting requirements right into your product, you improve the profitability of your hosting operation.
Sales Channels and Resellers
Hosted software has great appeal to channel partners. This can be either because they like not having to install and administer the software themselves, or because they have their own hosting facilities and hosted customer base. It reduces the effort and expense of launching a sales channel.
Do You Know Infrastructure?
You know software, but do you know infrastructure? This is new ground for many software companies. Don’t assume that you are ready to take this on without hiring and training.
Hardware, networks, and system and database administration call for an entirely different skill set from the skills you already have with your software developers. You need to be prepared to hire for these skills or pay the price in terms of security holes, performance problems, and customer complaints.
If you host software, you have to set up a complete and professional hosting environment. It’s just as much about facilities and their redundancy and security as it is about systems. Redundancy does not just mean backup hardware, but backup people and teams.
This is serious business. You’re housing your customers’ data, and you’re responsible for the security and privacy of that data. You need to set up an environment that is resistant to security breaches. And security is much more than technology. You need to have secure processes so that you are not vulnerable to security breaches through “human engineering,” where people gain access to passwords and systems through a cynical understanding of human nature, rather than using technology to break in.
What happens if your system goes down? Will you set up automatic failover to other components? Failover where? What if your whole facility goes out? What if the entire region where your facility is located is affected by a hurricane or snowstorm? Can you make failover arrangements to another region of the country?
You’re Responsible For Upgrades
When you host software, the good news is that you get to perform the upgrades, getting new software into active use faster. The bad news is that you must perform the upgrades. Moving a growing customer base, with a growing number of databases and a growing amount of data, from one version of software to another, can become very labor intensive. It’s in your best interest to streamline the processes and build the utilities necessarily to automate the effort.
Deciding to host software is a big investment in infrastructure and skills, but pays off with each month that passes in the form of steady income and software that sets the pace for your competitors.
— Jacques Murphy, Product Management Challenges