【SaaS】Do you know what is SaaS?

foreword

Listening to SaaS every day, I believe everyone knows what a SaaS system is! Isn't it? The leader arranged the task and said that he wanted to build a SaaS system. As a novice, I hurried to see what SaaS is. I probably collected (not original) this part of the content and shared it with everyone. I believe that everyone will gain a lot from reading it.

This article introduces the SaaS system from the following aspects:

  • Three concepts of cloud service architecture
  • Two characteristics of SaaS system
  • The difference between SaaS service and traditional service and Internet service
  • B2B2C
  • Classification of SaaS systems
  • How to SaaS
  • Core Components of a SaaS Product
  • SaaS multi-tenancy

1. Three concepts of cloud service architecture

1.1 PaaS

English is Platform-as-a-Service (Platform as a Service)

PaaS, sometimes called middleware. It is to deploy the applications developed or acquired by customers using the provided development languages ​​and tools (such as Java, python, .Net, etc.) to the provider's cloud computing infrastructure.

Customers do not need to manage or control the underlying cloud infrastructure, including networks, servers, operating systems, storage, etc., but customers can control the deployed applications and possibly control the configuration of the hosting environment where the applications run.

PaaS provides various solutions for developing and distributing applications on the Internet, such as virtual servers and specific operating systems. 3/4 of the underlying platform has been laid out for you, and you only need to develop your own upper-level applications. This not only saves your hardware costs, but also makes the development of various applications more convenient, and it becomes easier for different jobs to communicate with each other, because the same programming language, protocol, and underlying code are followed on the same platform.

1.2 IaaS

English is Infrastructure-as-a-Service (infrastructure as a service)

The service provided by IaaS to consumers is the utilization of all computing infrastructure, including processing CPU, memory, storage, network and other basic computing resources, and users can deploy and run arbitrary software, including operating systems and applications.

The consumer does not manage or control any cloud computing infrastructure, but can control the choice of operating system, storage space, deployed applications, and may also gain control of limited network components (such as routers, firewalls, load balancers, etc.).

IaaS provides off-site servers, storage, and networking hardware that you can rent. Saving maintenance costs and office space, companies can leverage the hardware to run their applications at any time. The IaaS service we are most familiar with is our server hosting business. Most IDCs provide such services. Users do not want to purchase expensive servers and disk arrays. All hardware is provided by IaaS, and you can also get better quality High network resources.

1.3 SaaS

English is Software-as-a-Service (software as a service)

The services provided by SaaS to customers are applications running on cloud computing infrastructure, which users can access through client interfaces on various devices, such as browsers.

Consumers do not need to manage or control any cloud computing infrastructure, including networks, servers, operating systems, storage, and more.

SaaS may be the most direct contact with our ordinary users. Simply put, any application on a remote server can be run through the network, which is SaaS. The SaaS applications strongly recommended by domestic Internet giants must be familiar to everyone, such as Ali’s DingTalk and Tencent’s corporate WeChat. There are countless small SaaS software available on the application platform of these software, from OA to ERP to CRM, etc., covers almost all the applications that a business needs to run.

2. Two characteristics of SaaS system

  • Deployed on the supplier's server, not on Party A's server.
  • Subscription mode, the service provider provides a large number of functions for customers to choose, customers can choose the combination they need, pay the required price, and support payment according to service time.

3. The difference between SaaS service and traditional service and Internet service

3.1 SaaS service

Between the traditional and the Internet, services are provided by renting, and the services are deployed in the cloud. Any user can obtain the required services after registering and ordering. It can be understood that the server and software are owned by the supplier, and the user obtains the right to use by paying
insert image description here

3.2 Traditional software

Sell ​​software and supporting equipment, deploy software on customer servers or cloud servers designated by customers, and sell software systems and operation and maintenance services for profit
insert image description here

3.3 Internet Application Providers

The server is deployed in the cloud, and all users can register and use it through the client. Advertising and paid value-added services are used as profit sources
insert image description here

4. B2B2C

As a tenant system, SaaS needs to provide registration, purchase, and business system entrances for tenants (C-side), and also provides tenant management, traffic monitoring, and service status monitoring and operation and maintenance portals for B-side (operation/operation and maintenance)

5. Classification of SaaS systems

5.1 Business SaaS

Definition: SaaS that provides tools and services for customers’ money-making business, and directly faces the user’s business, such as Youzan Weimob and other e-commerce SaaS and sales of CRM tools, for B2B2C enterprises;

Architecture and business model: In the growth stage of the product, in order to expand the business scale and volume, the business SaaS product will be expanded into a "multi-scenario + multi-industry" product model, providing adaptive solutions for different industries or different scenarios, such as Youzan is an independent website for e-commerce, and later developed into a multi-industry solution for "mall, retail, beauty, education" for sale.
insert image description here

5.2 Efficient SaaS

Definition: SaaS for customer efficiency improvement tools, such as project management tools, Zoom and other conference tools, to improve office or production efficiency, for B2B enterprises;

Architecture and business model: Different from business-oriented SaaS, efficiency SaaS thinks more about a common efficiency problem within the enterprise. Different enterprises have different requirements for CRM sales systems, but they all need a synergy Office products to improve collaboration efficiency. For efficiency SaaS, it is very clear where it comes from and where it goes, it is to solve optimization or solve a process problem.
insert image description here

5.3 Hybrid SaaS

Definition: SaaS that takes into account both enterprise business and efficiency and utility. For example, Enterprise WeChat, which has made a big fuss about private domain traffic in recent years, is itself an office collaboration tool, but it provides a complete set of private domain management capabilities for enterprises to realize business It also supports third-party services.

Architecture and business model: hybrid SaaS is a combination of business and efficiency SaaS, which is responsible for cost reduction and efficiency increase in certain scenarios of enterprise business and enterprise management processes; because the usage scenarios of the core business of hybrid SaaS are clear and common, non-core The business is similar to the icing on the cake, so the product structure of the middle platform is closer to the "1+X" combination—that is, 1 core business + X non-core functions, both of which belong to the same level at the product level .
insert image description here

6. How to SaaS

  • Cloud-based deployment, performance upgrades, and support for larger-scale user access
  • User system transformation, support 2C user login (one-key login with mobile phone number, applet login, SMS verification code login)
  • Gateway service, current limiting, interface anti-tampering, etc.
  • Tenant system development, including tenant basic information management, tenant binding resources (ordered functions), tenant service period, etc.
  • Client transformation (usually SaaS systems mainly provide WEB-side services), page authority control, providing modules or pages that users have purchased according to tenant system user resources
  • Official website development, function quotation, function trial, user purchase and payment
  • Modification of server interface data permissions, tenant-level data permissions

7. The core components of SaaS products

  • Security components: In SaaS products, system security is always the first thing to consider
  • Data isolation component: The security component solves the problem of user data security and reliability, but the data often needs to solve the privacy problem, and the data between enterprises must be invisible to each other, that is, isolated from each other.
  • Configurable components: At the beginning of the design of SaaS products, most common functions are considered, allowing tenants to use them out of the box, but there are still a large number of tenants who need to customize configuration items that serve their own business needs, such as UI layout and theme , logo (Logo) and other information
  • Scalable components: SaaS products should have the ability to scale horizontally. For example, through network load balancing and container technology, multiple software running examples are deployed on multiple servers and the same software services are provided, so as to achieve horizontal expansion of the overall service performance of SaaS products
  • 0 downtime upgrade product: realize the upgrade and repair of the application without restarting the original application
  • Multi-tenant components: SaaS products need to accommodate the data of multiple tenants at the same time, and at the same time, it is necessary to ensure that the data between tenants will not interfere with each other, so that users in tenants can index the correct data as expected

Eight, SaaS multi-tenant

8.1 Multi-tenancy Core Concepts

  • Tenant: generally refers to a corporate customer or individual customer, and the data and behavior between tenants are isolated
  • User: A specific user in a tenant can log in to the SaaS system to use software services by using login information such as account name and password.
  • Organization: If the tenant is an enterprise customer, it usually has its own organizational structure
  • Employee: refers to a specific employee within the organization.
  • Solution: In order to solve certain types of business problems of customers, SaaS service providers combine products and services to provide merchants with an overall packaged solution.
  • Product capability: refers to the product application that SaaS service providers sell to customers, especially the ability to help customers realize the closed-loop end-to-end scenario solution.
  • Resource domain: a set of cloud resource environments used to run one or more product applications
  • Cloud resources: SaaS products are generally deployed on various cloud platforms, such as Alibaba Cloud, Tencent Cloud, and Huawei Cloud. The computing, storage, network, container and other resources provided by these cloud platforms are abstracted as cloud resources.

8.2 Three modes

8.2.1 Shaft isolation mode

insert image description here

  • Advantage:

    1. Meet strong isolation requirements: Some customers may put forward very strict isolation requirements for system and data security, expecting software products to be deployed in a completely independent environment, not placed together with other tenants' application instances and data.
    2. The billing logic is simple: SaaS service providers need to bill for the resources used by tenants. For complex business scenarios, the relationship between computing, storage, and network resources will also be very complicated. The billing model is very challenging, but in the silo mode, the billing model is relatively simple.
    3. Reduce the impact of failures: Because each customer's system is deployed in its own environment, if one of the environments fails, it will not affect other customers' use of software services.
  • Disadvantages:

    1. Scale problem: Since the SaaS environment of tenants is independent, a SaaS environment needs to be created and operated every time a tenant settles in. If there are only a small number of tenants, it may be manageable, but if there are thousands of tenants, Managing and operating these environments will be very challenging.
    2. Cost problem: Each tenant has an independent environment, and the cost spent on a single customer will be very high, which will greatly reduce the profitability of SaaS software services.
    3. Agile iteration problem: One advantage of the SaaS model is that it can quickly respond to market demand and iterate product functions. However, the silo isolation strategy will hinder this agile iteration capability, because updating, managing, and supporting the SaaS environment of these tenants will become very complicated and inefficient.
    4. Unified management and monitoring: In the same environment, it is relatively simple to manage and monitor the deployed infrastructure. However, each tenant has an independent environment. In this decentralized mode, it is also very complicated and difficult to manage and monitor the infrastructure of each tenant.

8.2.2 Shared mode

insert image description here

  • Advantage:

    1. Efficient management: Under the shared strategy, all tenants can be managed and operated in a centralized manner, and the management efficiency is very high. At the same time, it will be easier to manage and monitor infrastructure configuration. Compared with the silo strategy, the iterative update of the product will be faster.
    2. Low cost: A large part of the cost structure of SaaS service providers is the cost of infrastructure. Under the sharing model, the service provider can dynamically scale the system according to the actual resource load of the tenants, so that the utilization rate of the infrastructure will be very high.
  • Disadvantages:

  1. Interaction between tenants: Since all tenants share a set of resources, when one tenant occupies a large amount of machine resources, the user experience of other tenants is likely to be affected. In this scenario, it is necessary to design some restrictive measures on the technical architecture (current limiting, downgrade, server isolation, etc.) to make the impact surface controllable.
  2. Tenant billing difficulties: Under the silo model, it is very easy to count the resource consumption of tenants. However, under the shared model, since all tenants share a set of resources, more energy needs to be invested in calculating the reasonable cost of a single tenant.

8.2.3 Domain isolation mode

insert image description here

8.3 Capabilities required for a multi-tenant system

  1. Multiple tenants support sharing a set of cloud resources, such as computing, storage, and network resources. A single tenant can also monopolize a set of cloud resources.
  2. Data and behavior can be isolated between multiple tenants, and tenants can be controlled by rights and domains.
  3. The tenant can support management based on the organizational structure, and can authorize and manage product capabilities.
  4. Different product capabilities can be supported to run on different cloud resources according to customer needs.

8.4 Multi-tenant system application architecture diagram

insert image description here

Guess you like

Origin blog.csdn.net/u011397981/article/details/132574521