An Application Service Provider is where a software provider will take the code they sell to clients and install it on their servers and manage it for you. The software provider will manage the system for you to handle things like patches, upgrades to the software along with managing the operating system, CPU, disk space, etc. Many vendors deliver software in this model today, but they try to mask it by calling it SaaS or Cloud. Ensure you ask the right questions so that you are not stuck with a False Cloud provider.
The cost of this model can grow to be very high as the software provider must have dedicated staff to manage your system. They must have the hardware capacity to handle your peak loads, which will also cost you quite a bit of money in hardware costs. When there are software upgrades, you will be responsible for testing the solution solely since your organization is the only users on that installation of the software. Everything has a cost associated to it, some you will see directly, others you will see indirectly. The following other considerations will have their own cost associations tied to them as well, we just won't bore you and keep calling them out!
In this model, just like on-premise, you and your organization are on a island. You do not get the benefit of thousands of other users and companies using the exact same service as you. You may have done some specific customizations or have specific patches but not others applied on your application. So it's up to you and your team to go through every test scenario and ensure that there are resolutions to anything that you find. Also if there are any changes in the infrastructure by the software provider, you and you alone will be facing these changes. This is costly: how many people do you know that like to test anytime there is a change?
Software providers that provide a on demand solution most likely have a hybrid business model, which means that they have customers that have taken the software and installed it themselves on-premise. Imagine when their sales organization comes to engineering and says we need this great innovative feature, the engineering team will have to consider their on-premise and on-demand customers as part of any new feature or innovation. Not only do they have to consider the two delivery models, but for the on-premise customers they have to consider every operating system their customer's must support, database levels, etc... Ultimately, if the software provider has too many things to think about, they cannot innovate and keep pace with companies with a focus on single Cloud model.
In this model, the provider must invest quite a bit in order to have any sort of Disaster Recovery plan, which means this is cost back to you. Whereas the Cloud inherently has significantly more capabilities around Disaster Recovery given the number of different physical data centers the service is running from.
Support ticket resolution times will be better than on-premise solutions, but considerably slower than a Cloud solution, since you have thousands of users on a Cloud solution from different organizations. This will ensure the code goes through almost all permutations and combination's - and most likely before you even login for the day!
For more information, please feel free to contact us at firstname.lastname@example.org.