I just curious what's difference between on-premise and SaaS?
- SaaS (Software as a Service), often referred to "on-demand Software", is a model where you're provided with access to the software in the cloud. There's no installation, setup or running of the setup, as the service provider will do this for you. You just have to pay the service provider. Example: Office 365
- On-Premise is the "traditional" model where you have to install, setup and run the software at a computer at your physical location. It takes time, personnel and possible equipment. It may also have additional cost to hardware and software. Example: Office 2016
Office 365 is SaaS which provides an online version of the MS Office suite. While Office 2016 is On-Premise Software that will require installation and running.
- PaaS (Platform as a Service) provides a platform which typical includes operation system, databases, web server, containers for executing programming languages. Examples: Windows Azure, Azure SQL, Heroku
- IaaS (Infrastructure as a Service), provides as name suggesting infrastructure, like virtual machines, storage, network, network service (firewalls). Examples: Windows Azure, Google Compute Engine
Both on-premise and SaaS are typically used to define how software is being used:
on-premise: the software runs on some hardware which is located in your own house, building, company, etc.
SaaS(= short for "Software as a Service*"): the software runs somewhere (typically in "the cloud"), where you as a user of the softwre don't really know (care?) where the hardware it's running on is located.
What the purpose of the software is, doesn't really matter. It could by CRM, CMS, BI, Accounting ... even DevOps!
Nor does it matter what the hardware is about, or the OS it's running on: a small server (running some sort of Linux, etc), a huge mainframe running zOS, etc.
In the context of DevOps, let's assume you want to use GIT (and you know what GIT is used for): how are you going to make your GIT repositories available for other users to share your code. Are you going to use infrastructure (eg: some server) that you manage yourself, in your own building (= roll your own cookies), or do you rather want to "outsource" all that (e.g. because you do not have the skills or resources) and use something like GitHub?
Assume you want to start using "the Cloud" for sharing files, pictures, contact data, etc with other people. Are you going to use any of the available Cloud services (with all sorts of "strings attached" like fees, terms & conditions, etc.)? That would be the Saas version of it. Or do you rather want to be in full controle of it all (the server on which it is all stored/managed) and use something like (open source based) OwnCloud or NextCloud, running on a server in "your" house, building, etc. In this case "you" decide about what the terms and conditions are, and the only kind of fees you'll be facing is the cost to create and operate your own server (and manage the users allowed to access it). This is clearly the on-premise version.
PS: Obviously, both approaches have their pros and cons ... use this link for more details on that.