当前位置:网站首页>How to quickly SAA traditional applications at the minimum cost

How to quickly SAA traditional applications at the minimum cost

2022-06-13 12:17:00 Duanligong

SaaS The delivery model is getting more and more recognition . Software enterprises through the application SaaS Virtualization will become more agile 、 Respond to market demands more quickly and reduce operating costs by sharing infrastructure . However , The reality is that many enterprises have made a lot of investment in traditional applications , Completely abandon traditional applications , Redevelop the standard sense SaaS Chemical application , It means a lot of waste of existing investment . that , Can we find a way , Change existing applications as little as possible , Fast application under the premise of protecting existing investment SaaS Huahe ?

Redefine multi tenancy

SaaS The core of virtualization is multi tenancy . In a general sense , Multi tenancy means that all tenants run on the same infrastructure .SaaS Many benefits of urbanization , Such as cost reduction 、 Unified deployment and management 、 Fast delivery -- All rely on tenants sharing an infrastructure .

however , This definition of multi tenancy does not apply to all applications and enterprises . The author thinks , Multi tenancy can be divided into many levels of multi tenancy :

01

Transfer the responsibility of software system deployment and operation from users to tenants

02

Multiple tenants share the same infrastructure , But inside an infrastructure , Still running on different servers or virtual machines

03

Multi tenant systems run on multiple instances of the same application , Multi tenant personalization is ensured through configuration . Although the above three levels of multi tenancy share different degrees , But from the perspective of tenants and users , Provides a complete multi tenant centric SaaS Experience

Of course , about SaaS For providers , The above three levels of multi tenancy implementation are different due to the degree of sharing common infrastructure , The operation cost and operation efficiency of the system are very different . However, the multi tenancy mode with high sharing efficiency depends on the deeper reconstruction and transformation of existing applications .SaaS The provider should... According to the application characteristics 、 The degree to which tenants' needs differ 、 The urgency of the demand, etc. select the appropriate multi tenancy implementation .

Analyze existing applications

Although there are a variety of traditional applications in reality , However, the design and implementation of these applications mostly follow certain architectural patterns . If the website application follows LIMP、Java Application follows J2EE、STRUTS、SpringMVC、Spring Boot Other framework .

Let's take the most classic three-tier architecture B/S Application as an example to analyze how to SaaS Transformation .

Under this structure , In addition to the general load balancing layer , The application system usually consists of three layers :

Web layer

Be responsible for converting user requests and distributing them to Web The server

application layer

Responsible for handling the specific business logic of the application , And access the database

Database layer

Store business data , Typically run on a separate storage tier

( There is usually a data access layer between the application layer and the storage layer , Here we include it in the application layer )

at present , Most applications are developed and implemented based on the above three-tier architecture . Some applications may have some minor changes , Such as adding a separate cache layer 、 Data access layer, etc , But its basic design is the same as the above architecture .

The software provider develops customized software according to customers' needs and delivers it to customers . Customers often run these applications in a separate infrastructure environment , And different customers may run different versions of the application . In the customer's deployment instance , As the number of users or business increases , If we find that the performance bottleneck occurs in the application layer , Generally, we can only solve the performance problem by adding application servers , The problem cannot be solved by adding instances of specific modules where bottlenecks occur .

Low cost and low risk transformation strategy

Now our problem is : Without changing the existing architecture and design as a whole , How to transform the application into SaaS Pattern ? Without rewriting the overall solution , How to introduce multi tenancy ? How to realize deployment automation SaaS characteristic ?

SaaS The core of the transformation strategy

Each tenant runs a complete application independently on a separate infrastructure ( Include Web layer 、 Application layer and storage layer ), On this basis, provide unified user login for all tenants 、 User authentication and authorization 、 Tenant configuration 、 Service configuration 、 The data access 、 journal 、 Measurement, etc SaaS General characteristics required .

This transformation strategy mainly includes the following aspects :

01

There is no need to fundamentally modify the architecture and code of the original system , Start a complete application system for each tenant , And ensure the normal operation of the system

02

Multiple tenants share the same infrastructure , But inside an infrastructure , Still running on different servers or virtual machines

On top of all tenants' application systems , Add one more SaaS Frame layer . It includes the following work :

1) Create a unified user login authentication interface ;

2) Create scripts that automatically build new tenants , Including tenant application 、 Tenant resource and infrastructure initialization 、 Application deployment and initialization configuration ;

3) According to specific needs , Realization SaaS General features , Including user authentication and authorization 、 Tenant configuration 、 Service configuration 、 The data access 、 journal 、 Measurement, etc ;

4) Create and configure routes , Forward the request to the independent application system of the corresponding tenant according to the tenant of the user .

Conclusion

The SaaS The transformation mode does not need to modify the existing code , It just changes the application system that the customer is responsible for the operation, maintenance and management into a software provider , Then add a layer on top of each application system SaaS Frame layer , Realization SaaS Basic characteristics required . The cost is minimal , The fastest , Low trial and error cost . If we don't want to take full responsibility SaaS The cost and risk of urbanization , And the transformation cost of shared infrastructure is too high , It's too long , And hope to provide customers with SaaS service , Then this model should be the most suitable .

END

原网站

版权声明
本文为[Duanligong]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/164/202206131210281934.html