基于华为云SaaS构建实践

举报
Jack20 发表于 2022/10/28 09:40:58 2022/10/28
【摘要】 GuassDB (OpenGuass)属于ShareStorage架构GaussDB(for opengauss)当前已经支持同城跨AZ双活,两地三中心单套GaussDB NoSQL集群最大支持96TB数据量下面哪种场景更推荐使用ASM进行服务治理?需要较强的定制和扩展能力IEF智能边缘解决方案中,关于边缘到云端网络连接的描述,以下描述错误的是网络链接需要保障QoS,特别是网络时延要求不大于...

GuassDB (OpenGuass)属于ShareStorage架构

GaussDB(for opengauss)当前已经支持同城跨AZ双活,两地三中心

单套GaussDB NoSQL集群最大支持96TB数据量


下面哪种场景更推荐使用ASM进行服务治理?需要较强的定制和扩展能力

IEF智能边缘解决方案中,关于边缘到云端网络连接的描述,以下描述错误的是网络链接需要保障QoS,特别是网络时延要求不大于300ms


下面哪种更推荐使用微服务引擎CSE 使用了SpringCloud进行微服务治理


SaaS厂商在构筑云上端到端的运维监控,以下哪种云产品服务不会涉及?HSS

aussDB NoSQL支持如下哪些开源生态?

Cassandra

MongoDB

Redis

InfluxDB

华为云RDS for MySQL主备之间支持半同步异步数据同步模式


课程介绍SaaS 化的定义及架构,从构建SaaS 时的主要关注点出发,围绕如何匹配自身能力选择哪种SaaS化模式和如何构筑稳定、可靠、安全的SaaS平台,以及如何实现业务的快速迭代、平稳高效地实现平台的运维。课程也会探讨SaaS 化业务生态构建和技术创新的思路。最后通过一个实际的案例来看复盘SaaS的技术架构设计。


目录

SaaS化定义及架构介绍

SaaS化关注要点

SaaS 化技术架构设计要点

SaaS化生态构建及技术创新案例探讨


Saas是什么?

SaaS化-新兴的软件应用模式

SaaS平台供应商将应用软件统一部署在自己的服务器上,客户可以根据实际需求,按需订购所需的服务,按订购的服务多少和时间长短向厂商支付费用,并通过互联网获得SaaS平台供应商提供的服务。


SaaS化的分类

SaaS按其细分的市场结构,分为业务垂直型SaaS和行业垂直型SaaS,如下图所示:

SaaS典型架构及主要业务模块

租户域:信息输入/输出

SaaS应用表现层:主要负责SaaS的页面表现

SaaS应用业务层:通过业务服务和租户服务实现个性化服务

应用支撑平台:运行时支撑提供集成、数据划分、存储框架和并行计算框架;构建支撑提供开发环境、存储模型和计算模型

动态基础设施:提供laaS基础能力

SaaS化部署模式选择--资源独立部署or池化部署

资源独立部署:可配置的多租户SaaS应用,统一开发模式,所有租户使用相同代码,关键在于通过元数据实现应用的可配置。

资源池化部署:支持可伸缩性的多租户SaaS应用架构.全部租户部署在一套代码上,该架构增加了初期开发的难度,需要更多的投入


SaaS化部署模式的对比


资源独立部署(物理多租)

资源池化部署(逻辑多租归)

关键技术

租户管理

可配置性

可扩展性

性能管理

租户间隔离等级

初期投入

单用户成本

可维护性

敏捷迭代

目标用户

对个性化需求、安全性、隔离性要求较高的大客户

对价格比较敏感,隔离性要求不高的企业用户

SaaS资源独立部署和资源池化部署究竟哪个更适合企业,需结合企业应用场景,考虑行业、隔离性、IT能力等多方面因素进行选择。关键点是企业是否愿意共享数据库并且无须定制,或希望拥有一个单独的数据库实现灵活定制。


如何构筑稳定、可靠和可长期发展的的SaaS平台?

高可用、安全、敏捷迭代、高性能、运维、生态及创新


如何保障SaaS化应用的高可用?

规划易管理、系统可靠性、数据可靠性、运维可靠性、安全可靠性、演练可靠性、性能容量



客户业务自行设计:业务应用层的高可用

业务应用层自身的可靠性,健社性(业务重试与隔离、优雅失败)等能力


客户和华为联合设计:系统架构设计高可用

无单点、HA集群、DR容灾(又分为跨AZ和跨Region容灾部署)、数据备份、云上安全、规范运维等


华为负责:云服务高可用

可靠的基础设施以及环境修复后业务自动恢复等能力


如何保障SaaS化应用的安全性?

安全通信网络

网络架构:性能冗余、链路冗余、设备元余、分区隔离;

-通信传输:采用密码技术保证传偷过程中的数据保密性和完整性;


安全区域边界

边界防护:受控连接,防私接、防非法外联、限制无线网络;访问控制:网络访问控制策略的配国

入侵防范:已知威胁防护、未知威胁防护、审计;

零意代码防范:恶意代码检测.垃圾邮件过滤;

安全审计:用户行为审计、安全事件审计与分析;


安全计算环境

身份鉴别;身份唯一性、鉴别信息复杂度

访问控制:用户权限管理、冗余账号清除安全审计:用户行为审计及审计记录、审讦进程的保护;

入侵防范:检测入侵行为、非使用端口关闭、瑞扫检测;

恶意代码防范:恶意代码攻击识别与阻断;

·镜像和快照保护:

数据完整性和保密性:保障重要数据在传输和存储过程中的完整性和保密性;

数据备份恢复三更要数据的本地/异地备份,重要数据系统的HA;

剩余信息保护:册除业务应用数据时,云存储中所有副本删除。

安全管控中心

系统管理;系统管理员的身份鉴别与系统配管;

·审计管理:权限管理.操作审计

安全管理:权限管理操作审计;

集中管控:安全独立分区、网络监控,集中日志审计、安全事项感知等;


如何实现SaaS化业务快速迭代?

如何构建高性能的SaaS平台?

资源的弹性扩容、数据库的读写性能、中间件可扩展性、网络带宽时延、分布式的业务架构、无状态服务


SaaS化平台云上的如何运维?

基础运维

·为保障业务运行,需要各类运维平台和工具

·各类运维工具难以联动,自动化程度低

·各类运维工具技术复杂,运维人力成本高维

应用运维

·微服务依赖关系能否可视化?·

最终用户体验如何?

·问题如何快速追踪?

·散落的日志无法关联分析?


SaaS化业务生态及创新诉求?

生态构建

低代码平台能力:降低应用开发门槛。助力SaaS化商的伙伴进行敏捷开发;

开放API能SaaS化厂商能够为自己的合作伙伴提供开放的

API能力,供其调用;


应用创新

AI加持

中台构建:数据中台,技术中台


SaaS资源独立部署模式整体方案设计—典型架构

典型架构说明:

1.独立部署强调资源按租户划分,服务器、数据库等资源按需部署,强隔离;2.隔离方式包括VPC隔离、子网隔离、安全组隔离、企业项目隔离等;

3.如需访问外部第三方系统,多租户间可通过共享NAT网关;

4.每一个SaaS租户的资源可以关联企业项目,便于后期的成本分析和租户细粒度的权限管理;

5.SaaS厂商运维人员建议通过VPN接入到云端进行维护;对云主机进行运维操作建议通过堡垒机;

6.根据租户的要求做好核心数据的容灾和备份


SaaS资源独立部署模式整体方案设计—多租隔离设

隔离方式

优点

缺点

推荐做法

租户层租户隔离

·租户完全分开,安全性更高

·更好的定制化

·资源使用情况更好的监控

·成本高


·大量租户账号,分开管理难度高

·使用IAM进行授权操作

.VPC peering打开租户间通道

VPC层的租户隔离

·所有租户在一个账号中,管埋更方便

·提高了资源使用率,比如包周期实例的使用

·使用的时候需要关注VPC的限制

·所有VPC回到本地,VPN管理复杂度高


·使用企业项目为租户标记

子网中的租户隔离

·无需为租户资源中的网络担忧

·与本地连接或者多云环境比较方便

子网隔离,三元组和五元组维护成本高

更改VPC会影响到所有租户

安全组的数量和规则的数量有限制

设置公共服务的访问,比如OBS设置终端节点

·尽量减少安全组的使用

·不要用安全组交叉使用


SaaS资源独立部署模式整体方案设计—多租资源管理模式设计

设计要点:

1、基于华为云企业项目管理(EPS服务),按不同SaaS租户对资源进行分项目管理;

2、各云服务按租户维度实现企业项目的系统标签和资源细粒度权限控制的功能;

3、提供企业项目维度的财务管理、消费统计和成本分析等,可详细地统计出单个SaaS租户消费。


SaaS资源池化部署模式整体方案设计—典型架构

典型架构说明:

1;资源池化部署模式,多租户共用相同资源池,需要SaaS软件做好应用架构云原生改造以满足用户弹性和敏捷迭代的需求;

2.租户间的隔离需要通过严格的代码逻辑和权限管理进行隔离;

3.建议对业务模块进行微服务拆分,便于各模块独立演进,从而快速满足租户大量的需求

4.建议采用DevOps的方式进行管理,建立DevOps组织和文化,采用敏捷的流程机制,配套DevOps的工具平台,从而有效落地DevOps

Saas资源池化部署模式整体方案设计—多租隔离设计

隔离方式

优点

缺点

推荐做法

容器层的租户隔离

·提高资源利用率

更易于大规模管理集群

·简化部署测试/开发环境

·容器网络管理比较繁杂

·容器级别无法打标签

提前做好网络规划,容器集群规模尽量不要超出网络限制

·基于容器自动扩展等功能实现自动化管理

·通过namespace做租户间容器实例隔离

应用层的租户隔离

·成本优化

更易于管理

·网络连接简化

·应用层多租户感知,应用可能面临重构

·不同租户对安全的要求不一样,可能无法适配

·对租户的需求进行分类管理

·租户侧个性化改动多的业务模块(例如Web 前端展示模块)可以采用单租户单实例

·核心平台避免在租户级别进行区分

·尽量限制租户的权限,不影响其他租户

·细粒度的访问控制权限


SaaS资源池化部署模式整体方案设计— DevOps流程构建建议

规划设计 迭代开发 持续测试 持续交付


SaaS资源池化部署模式整体方案设计—敏捷迭代方案

敏捷迭代方案说明:

1.应用开发与持续交付可以放在SaaS厂商或客户侧,应用托管和生命周期管理在华为云上

2.客户将应用开发的代码放到代码仓库,然后建立流水线进行业务软件编译构建和发布,将构建好的软件包或镜像放到云上的软件仓库SWR

3.客户从软件仓库中获取软件包或镜像进行应用创建,承载实例为容器(推荐)、虚拟机或裸金属服务器,并在云上进行监控运维等管理操作

4、SaaS应用如果经过微服务改造,可直接在云上的托管环境进行微服务治理,包括微服务注册、发现、配置管理、熔断、限流、负责均衡、灰度发布等,便于Saas 化业务快速迭代

SaaS化高可用及性能方案设计

高可用方案说明:

1.集群部署的业务,资源分别部署到2个AZ内,并通过ELB实现双AZ的负载均衡;

2.单点的ECS,可通过存储容灾服务SDRS实现RPO=0的虚拟机级容灾保护;

3.数据库等服务的主备节点分别双AZ部署,可以使用DRS实现数据跨Region(两Region相隔10OOKM)准实时备份;

4.关键数据可以先备份到OBS桶,再通过OBS跨Region复制能力。实现关键数据跨地域备份。

性能方案说明:

1.Web层和应用层通过设置好弹性伸缩策略,计算资源随业务规模提升而自动水平扩展;

2.可通过提升中间件实例的规格(垂直扩容)来提高中间性能处理能力,DMS可通过扩展节点数量(水平扩容)来提升性能;

3.单数据库实例可通过提升数据库实例的规格(垂直扩容)以及配套DDM数据库中间件实现数据库实例的水平扩展来提升数据的性能和容量。


SaaS安全方案设计—参照等保三级的要求,以租户的数据安全为中心,构建云上安全

安全方案说明:

1. 边界安全:租户通过 https的方式访问业务系统,可先通过 DDoS高防进行DDoS流量清洗,再经过WAF进行Web流量清洗,阻止Web层攻击

2.云上网络安全:安全组和ACL进行网络区域隔离,匹配安全通信网络。为业务模块设置细粒度的安全组。为每一个业务逻辑模块设置安全组访问规则,定义好可以访问该业务逻辑模块的源P,业务逻辑模块不必要的协议和端口完全屏蔽,例如运维端口(例如22和3389)只针对堡垒机的IP地址开放;ACL用于子网粒度的安全防护,为不同的子网进行安全防护

3.主机和客器安全:通过企业主机安全HSS 实现精细化的业务云主机防护,重点防护对外提供服务的云主机。防护范围包括漏洞、基线检查、被挖矿、勒索病毒等;容器安全扫描容器镜像中的漏洞,提供容器安全策略设置和防逃逸功能,实现容器入侵防范与恶意代码防范等

4.数据安全:数据库安全提供数据防火墙,防止 SQL注入等攻击。同时提供敏感数据发现、脱敏。数据库审计等能为,满足安全计算环境的需求;DEW数据加密可以为云硬盘、镜像、SFS. OBS等提供数据加密,满足安全计算环境的需求

5.安全管理:SA态势感知可以对攻击事件、威胁告警和攻击源头进行分类统计和综合分析,为用户呈现出全局安全攻击态势,满足安全区域边界的需求

6.安全运维:CBH堡垒机提供安全运维环境。通过堡垒机做好分权分域的管理,建议开启堡垒机双因子认证,所有高危操怍〔例如rm操作)加审批权限控制;LTS配套云服务实例提供云上日志收集和统一管理;CTS云审计管理提供云上操作审计


SaaS运维方案设计—基于云运维的整体规划

华为云协助SaaS伙伴构筑基于云的运维体系,结合华为云的立体运维能力,演进到AlIOps


SaaS运维方案设计—构建基于云的运维体系

华为云协助伙伴,构筑规范基于华为云的运维体系,保障SaaS服务高效运作


Saas业务变更线

自动部署、自动测试、自动回滚、灰度发布


SaaS服务修复线

监控管理、自动监控、持续监控、故障恢复、故障回溯


主动运维线

主动巡检、应急演练、服务维护自动化、高可用管理


标准的三大运维核心线,支撑SaaS化平台完整运维


统一的运维数据资源和共享支持服务,支撑三大运维主线流程的执行

SaaS运维方案设计—建立基于华为云的AIOps平台

AIOps实现目标:化被动排障为主动清障,从运维数据获取业务价值,从智能运维到智能运营

智能应用层依托系统层提供的数据,进行算法处理,提供主动的事件分析、根因定位、异常检测、容量预测、成本优化等应用

系统层汇集SaaS应用层的监控数据和云平台基础监控数据,进行数据的融合和数据处理。为智能应用层提供可分析和应用的数据基础

华为云提供基础的运维监控能力。所有华为云的运维数据调用提供北向接口。供第三方平台调用


华为云平台支撑SaaS伙伴构建技术生态,保障SaaS化平台为各行各业提供更好的服务

场景SaaS aPaaS PasS IaaS


华为云携手SaaS伙伴共建产业云生态


华为云提供技术中台、数据中台,帮助SaaS伙伴高效构建业务中台,并打通周边集成对


案例

xxx SAAS业务背景及关键需求

XXX是该集团新一代数字化企业共生平台,XXXSaaS以人、生态、体验为设计理念,提供完整的企业级SaaS服务和aPaaS服务


关键需求1∶开源开放平台,满足林*厂商可构筑在多云的需求

关键需求2∶商用级平台,满足集团大客户高性能、高安全可靠的需求

关键需求3∶全自动化运维,满足该SAAS厂商高效运维的诉求


xxX SAAS平台华为云部署架构性能强、易扩展、高安全、便运维

架构特点及价值:

性能强:应用基于华为云基于开源增强的k8s平台和基于开源中间件增强的服务构建端到端的系统,支持业务用户高并发、低延的接入

易扩展:应用采用容器部署,配合ELB支持服务实恢例秒级横向扩容,实现系统快速响应;云主机、云磁盘及数据库中间件支持纵向扩容,减少初始化投资;k8s集群支持

高安全:WAF构筑面向用户接入的安全防护;HSS主机安全、安全组构筑面向云内的安全防护;数据库中间件跨可用区部署及应用数据跨可用区备份,保障数据的安全

便运维:通过CloudEye云基础设施监控和AOM应用运维监控,实现应用端到端的监控告警,从而提升运维效率

一个良好的SaaS化架构是复杂的,多维度的,对于不同的业务、不同场景的需求可以选择相适应的不同架构,所以SaaS化架构并不是一成不变的,在进行架构设计时需要根据实际情况进行判断。

1.更加关注数据安全的SaaS化部署模式选哪种?单选()

A.独立部署

B.池化部署


2.一个良好的SaaS化部署应该关注哪些?多选()

A.高可用 B.安全性C.敏捷迭代D.易运维E.生态及创新

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。