There is much excitement and coverage of Cloud Computing, Software as a Service (SaaS) and Multi-tenancy architecture in the IT marketplace.
Cloud Computing means using multiple server computers via a digital network, as though they were one computer. Often, the services available are considered part of Cloud Computing.
Cloud Computing differs from the classic client-server model by providing applications from a server that are executed and managed by a client’s web browser, with no installed client version of an application required.
The term “software as a service” (SaaS) is sometimes used to describe application programs offered through cloud computing. A common shorthand for a provided cloud computing service (or even an aggregation of all existing cloud services) is “The Cloud”.
Any computer or web-friendly device connected to the Internet may access the same pool of computing power, applications, and files in a cloud-computing environment on a remote server.
Multi-tenancy refers to a principle in software architecture where a single instance of the software runs on a server, serving multiple client organizations (tenants). Multi-tenancy is contrasted with a multi-instance architecture where separate software instances (or hardware systems) are set up for different client organizations. With a multi-tenant architecture, a software application is designed to virtually partition its data and configuration, and each client organization works with a customized virtual application instance.
The costs of re-designing applications for Multi-tenancy can be significant, especially for software vendors who continue to offer an on-premises single tenant version of their product. They end up being forced to support two distinct products with all the resulting costs.
The vast majority of SaaS solutions are based on a multi-tenant architecture. With this model, a single version of the application, with a single configuration (hardware, network, operating system), is used for all customers (“tenants”).
To support scalability, the application is installed on multiple machines (called horizontal scaling). In some cases, a second version of the application is set up to offer a select group of customers with access to pre-release versions of the applications (e.g., a beta version) for testing purposes. This is contrasted with traditional software, where multiple physical copies of the software—each potentially of a different version, with a potentially different configuration, and oftentimes customized—are installed across various customer sites.
While an exception rather the norm, some SaaS solutions do not use multi-tenancy, or use other mechanisms—such as virtualization—to cost-effectively manage a large number of customers in place of multi-tenancy. Whether multi-tenancy is a necessary component for software-as-a-service is a topic of controversy.
Lakeview provides ERP solutions that can be deployed on premise, or in The Cloud, as a service and fully supports multi-tenancy.
Author: Mark Greatrex, CEO of Lakeview Computers Ltd
Technorati Tags: cloud computing, cloud erp, saas