What is the difference between On Prem vs Hosting vs Cloud Native? What does this mean for companies when using and buying enterprise software solutions? I interviewed Thomas Kasemir, who is a senior leader in RnD with experience at IBM and Informatica. Watch the video interview now.
If you are rather a person that enjoys reading, Thomas Kasemir also offered to this blog to complete this discussion: What is the difference between On Prem vs Hosting vs Cloud Native?
What are the differences between on-premise, hosted and cloud-native solutions and what does it mean for the customer?
To compare the different solutions, let’s have a look at some basic aspects, which are relevant across all scenarios. For example:
- Uptime of the solution vs. failure driven downtime and patches/upgrades
- Who is responsible for your data? Backups? Disaster recovery? Service Levels?
- Who is doing maintenance for your database, log files, backups, reports?
- Who is responsible for the security / access to the system and preventing malicious code in the environment?
- Monitoring of the system, alerting, counter measures, analysis
- Cost of data center and pure metal, cost of labour and training
For on-premise solutions, it is pretty straight forward, we all know the idea. The customer owns everything and is responsible for all aspects of the solution. He is getting the software, documentation and regular updates, including database and Operating System updates plus security patches.
The good thing is, you have full control, can customize the solution as you like and decide the hardware you are running. You also have to have the right people with the right skills, train them and keep them happy. You have to maintain the solution, update hardware, the Operating System, the database and take care of your data, backups and disaster recovery. Not to forget the 24×7 support (if needed), which means you are getting the alerts at night.
Next option is a hosted solution, which means that a traditional on-premise application is operated on a cloud platform, usually single-tenant, by the software vendor or a partner. While you are getting a much higher service level and can focus on your core business, you lose control and ownership.
In a hosted setup, the software vendor or partner is taking a large amount of the operation and maintenance of the solution. Sometimes, you have a bit more flexibility with a partner who might be able to customize the offer for you. A software vendor has to define strict rules and service levels, as he has to apply those for all customers to ensure a high quality in all operations, monitoring and alerting.
Therefore, you will have less flexibility in the setup, configuration, interface definition and how and where to customize (if at all). In addition, you have to adapt to the service levels the software vendor or partner is offering, like downtime for upgrade windows, backup cycles or security compliance for custom code.
Bottom line, you will have a high dependency on the software vendor or partner and it depends on whether the functionality of the solution in the hosted setup fulfills your needs and you trust the security and service levels of the offer. You can focus on your core business and will have a much lower TCO as you don’t own the data center and you don’t have to pay and train the people.
Scalability is the other important aspect. If you expect a fast and massive growth in your data volume, users or throughput / transactions, you should have an honest discussion with the software vendor and run your own tests in the hosted environment. As you deal with a software solution that was designed for on-premise operations, maybe in a monolithic architecture, you have to understand how this solution can scale at what cost and if there are any scalability limits specific to the hosted setup, due to the size of virtual hardware or network and messaging configuration.
The last option is a full cloud-native SaaS offering, which means that the software has been designed and built for cloud operations from the beginning and usually brings a modern and very scalable architecture. The operation of the solution has been part of the initial design and updates, maintenance and backups will have a very limited to no impact and downtime on the system. All operational processes like maintenance, monitoring and alerting as well as the configuration and user experience were designed for the cloud and should be seamless and efficient.
As in most cases the software vendor operates the full solution and technology stack, you have clear responsibilities and service levels, getting everything in one package and pricing. You will have the same benefits as lower TCO and being able to focus on your business but should have a better experience and no setbacks or limitations, due to the fact that the solution was not initially built for this operational model.
The scalability of a cloud-native solution mostly depends on the chosen architecture and implementation. If followed modern principles, it should be much better compared to hosted solutions, which are very likely more mature products designed with a monolithic architecture. But only well-designed performance tests with real data will tell you the truth.