Cloud terminology has become very confusing, partly because the lines are getting blurred between on-prem and cloud. Hopefully, this will help to explain some of the terms and the history behind them.
First let’s explain the various degrees of “cloudiness.”
On-Prem
This means a company takes the full responsibility for all computing locally: hardware, patching, software installation/updates, networking, backups, physical security, environmental, power, etc.
Co-Location
Some computing resources are housed by a third party that provides physical security, environmental, power, and maybe backups. The hardware, patching, software installation/updates, etc. are still the responsibility of the company.
IaaS
With Infrastructure as a Service, the provider takes on more responsibility - most notably, the hardware. The company is still expected to do their own patching, software installation/updates. (Although Azure is now providing OS patching for free and sometimes without rebooting.) This is usually the most expensive cloud option.
PaaS/FaaS
Platform as a Service and Functions as a Service (also called serverless), takes the operating system responsibiltiy away from the company. The company writes an application or service and the cloud provider manages everything below it. Examples of PaaS: SalesForce Apex, Azure WebApps and PowerApps, and AWS Amplify.
SaaS
With Software as a Service, the provider is responsible for everything except running the software. The company configures and runs the software. The provider performs updates, maintains hardware, power, etc.
So those are the responsibility models. Here are the types of clouds:
Private Cloud
If you run web applications (which Epicor is) on dedicated hardware for just your company on your own network then congratulations - you are a private cloud provider! Someone else can run your web applications on dedicated hardware on a privately connected network, that too is a private cloud. The distinction is that it is for a single dedicated entity and not shared with any other entities.
Public Cloud
In the public cloud, the company shares compute, disc storage, etc. with other companies. Your VMs, applications, etc. are run on the same physical hardware and/or VMs with other companies. This is what makes scalability possible and reduces the costs to the company.
Hybrid Cloud
Most companies are in the hybrid cloud. Some applications run in the cloud (email, payroll, collaboration tools like Teams/Slack) while other applications run on premises.
Edge Computing
With edge computing, the hardware is located on the company’s premises but is managed by the cloud provider. Like I said, it gets blurry real quickly. Azure Stack is an example of this but many IoT solutions are as well. This works well for compute that is often disconnected from the cloud.
Multi-Cloud
This refers to companies uses more than one external cloud provider for redundancy or specialized workloads.
Government Cloud
Government clouds are restricted to various local, state/provincial, federal agencies and their partners. They are environments designed to satisfy compliance requirements, like data sovereignty, right out-of-the-box. You must be a government agency or “invited” by one in order to use a government cloud. This provides an extra layer of segregation from the rest of the public cloud users. There are even levels of Government cloud like Top Secret where there is even more segreation.
OK, once in a cloud, here are the types of tenancy.
Single Tenant
If my family rents an entire house, we are the single tenant that uses the entire house. In the case of Epicor, being single tenant means only my company uses the VMs. Epicor’s single tenant users have been hosted at providers like RackSpace or CyrusOne. In the Epicor model, the customer is responsible for upgrading the software they purchased and they are the only customer in the SQL Server instance.
Multi-Tenant
Like an apartment building, multiple tenants occupy the same application. Epicor’s first example of this was called Epicor Express. It was created for smaller companies with little or no IT staff. To simplify management, Epicor put multiple companies into the same DATABASE, not instance. Eventually, this morphed into the Multi-tenant product. The problem with MT was having multiple companies in a single database created a bit of a coding mess. This is why MT users cannot use Custom Code. DbContext does not respect company or plant security! Epicor has not sold the MT product for many years now.
Dedicated Tenant
To address the weakness of MT, Epicor created the concept of Dedicated Tenancy. We are still sharing a VM and a SQL Server instance but each company gets its own dedicated database. So now, all the issues that plagued MT have gone away. Unfortunately, as long as Epicor maintains MT users, it has to carry the stigma of the issues that come with it. IMHO, MT has damaged Epicor’s ability to sell the cloud to many companies and continues to be an anchor dragging them down.
Epicor moved both the Mutli-tenant and Dedicated tenant users away from providers like CyrusOne and RackSpace to Azure’s public cloud. This is why the Dedicated Tenancy product is now called Epicor Public Cloud.
Hope that all makes sense. Please post improvements and corrections to my understanding.