Cloud solutions have been around for quite some time, yet I still hear a lot of debate about which one is to be preferred: cloud-based or on premise solution? Let me shed some light onto this subject with specific relevance to retail business domain.
Cloud solutions are software programs that run on a hosted environment, typically without the option of running them locally, or on premise.
The pros: These solutions are easy and quick to deploy because they do not require acquisition of hardware, installation of operating systems, servers software, IT teams to manage them, etc on the customer side. They are running in a central server park, accessible over the internet (with the appropriate level of connection security in place). Usually their licensing is simpler than on premise solutions because cloud based solutions are typically licensed like a rental, a periodic (for example monthly or annual) service fee is charged for their use. These solutions are usually easier to maintain since upgrades are typically rolled on by the vendor automatically as part of the service (on time frames agreed with the customer and leaving plenty of time for customer to test changes and manage business process change adoption)
The cons: On the other hand they are not easily customized, especially if they are multi-tenant (multiple customers use the same servers and programs for their software solution, with a clear separation of their data of course to avoid one customer being able to see the data of another customer). Also if the customer stops paying the cloud service fee, access to the solution may be closed by the solution vendor, placing risk on the customer’s business continuity.
On premise solutions: When a solution runs on premise, it is locally installed and run on the customer’s own hardware.
The pros: The advantage is that customization is easier to build, and in case the customer stops paying for maintenance, they still retain the solution and the business can continue to run on the solution, even though no future updates are accessible to be added.’
The cons: On premise solutions require the customer to take care of purchasing the hardware for the server, installing all necessary software components such as the operating system, database server, application server, and configuring and maintaining all this technology (a.k.a. the platform) to work properly to run the business application. The disadvantage of this approach is that the customer is in charge of running the platform along with all the extra effort, expertise, license cost and complexity associated with doing so. The customer is also in charge of scheduling, installing, regression testing (if customization is done, then also retro-fitting) solution upgrades released by the solution vendor in addition to managing adoption of new solution functionality.
Based on the above, it seems on premise option has advantages but requires additional effort from the customer: acquire and size hardware, install, configure, administer, license and maintain software like operating system, database, application server, additional server utilities like integration platforms separately. Also because of these additional steps, on premise solutions take longer to implement and deploy, because the platform needs to be built first. Maintaining and upgrading them is also a task solely landing on the customer as a to do. On the other hand all business software solution is in house and under total control of the customer, can be customized, etc.
Cloud on the other hand is much faster the deploy, it is commissioned, not built, which takes less time and requires no or little IT skills from the customer. Licensing structure is simpler and instead of an investment cost it is an operational ongoing cost (service fee). Upgrades are also rolled on automatically as part of the service. On the other hand there is less direct control of the platform by the customer including control for customization.
A very important business aspect to consider when choosing between a cloud or an on premise solution is long term maintenance cost of upgrading the solutions. Cloud solutions are typically updated with new features and platform versions by the solution provider as part of the standard service. This means cloud solutions evolve over time and customers automatically get the benefits of this continuous evolution. With on premise solutions, evolution is a manual step where solution version updates need to be downloaded from the solution provider and installed into the on premise server, performing retrofitting and regression testing in case when customization have been made to the on premise solution. This is, over time a significant effort, causing additional costs incurred directly when performing the upgrade.
Costs are incurred indirectly when the upgrade is delayed and the customer is running on an outdated system, missing the latest key business features that could differentiate the business against competitors (for example by allowing the customer to provide better customer service to its own customers, the consumers, then its competitors). In an age where consumers want to be served in an ever increasing number of channels and with greater flexibility in transgressing these channels (for example buy online, return in store) every day, not having a solution in place that can seamlessly support those latest consumer behavior and preference trends with the right capabilities is catastrophic in an increasingly competitive and disruptive business environment.
In a nutshell, if you can and it’s available, choose the cloud option. It gives you the flexibility of being able to always run with the latest set of business process support on your cloud solution.
If you would like to discuss this subject matter in more details, have comments, feedback or additional thoughts, please do not hesitate to reach out.