1. Understanding of SaaS
Reference: SaaS model
1.1, the development History of SaaS:
From the 60 's mainframe (MAINFRAME), 80 's C/S mode, now SaaS.
Early personal computers are underdeveloped, data processing is concentrated in the mainframe, clients do not compute, they just act as I/O roles; The 80 's when the PC developed, the client can take part in the operation, but the main business data and computing is on the server, but as the enterprise development, the number of servers more and more (application more and more), Cause the enterprise maintenance cost also increased greatly. Today's SaaS can be a good solution to this problem, the server is centralized as a "super-large" server, do the infrastructure (network and server), do platform, do software separation, enterprises only need a computer can be Internet access to software provider software.
1.2, SaaS according to "configurable", "High Performance", "scalability" divided into four levels
|
can be configured |
Performance |
Scalable |
Level1 |
N |
N |
N |
Level2 |
Y |
N |
N |
Level3 |
Y |
Y |
N |
Level4 |
Y |
Y |
Y |
First Level: Custom development (multiple development)
Each customer uses a separate DB instance and application server instance. The data structure in the database and the code of the application may have been tailored to the needs of the customer.
Second level: Configurable (multiple deployments in one development)
Different configurations to meet the needs of different customers without the need for specific customization for each customer to reduce the cost of custom development. However, the deployment architecture of the software has not changed much, and a running instance is still deployed independently for each customer. Only each running instance runs the same code, configured differently to meet the individual needs of different customers. The more common implementation of the configuration is achieved by metadata (metadata). Third pole: Multi-tenancy architecture (one-time deployment) multi-tenant Single Instance (multi-tenant) application architecture is the most common SaaS application architecture, which can effectively reduce the hardware and operating maintenance costs of SaaS applications and maximize the scale effect of SaaS applications. Level fourth: The scalable architecture expands the third-level multi-tenant singleinstance system to multi-tenant multiinstance. The end user first accesses the tenant Load balance layer and is assigned to different instance. With multiple instance to share access to a large number of users, we can allow applications to achieve approximately unlimited horizontal scaling. To achieve the fourth level maturity model, the most complex is to the original single instance database server, to achieve the horizontal splitting of its data. Multi-tenant Architecture Reference: Multi-tenant data architecture based on cloud computing Architecture (i) three patterns and factors influencing selection
Reading notes One