云上架构解决方案涵盖六大方面。 合理部署、业务持续、弹性扩展、性能效率、安全合规、持续运营。
一、合理部署
1、公有云
云主机:通过在公有云上快速创建云主机,部署网站应用、数据库应用等等,在各大云厂商的云平台上的创建过程,可以通过按需计费方式快速创建主机,同时也可以通过包年包月方式进行购买,提前预知费用。 托管应用:无需管理底层IaaS资源(计算、存储、网络),直接使用云平台提供的PaaS、SaaS产品应用,用户只需开箱即用,快速连接即可部署业务进行测试上线。 托管服务器:用户将物理机器托管在IDC机房,无需用户再维护机器,无需再占用公司机房和开销消防费用,通过IDC托管机房提供的外网访问连接。
2、私有云
私有化部署:将公有云能力进行私有云部署,以便满足合规、监管、特殊需求等场景,交付时可能包括数据中心、服务器集群、云计算操作系统、物理机柜机架等等。
3、混合架构
混合架构连通:连通公有云和本地环境的网络,对本地资源进行利旧、实现合规要求,也能扩展本地环境的计算、存储、安全防护能力。 云管理平台:为了实现将多个云环境(公有云、私有云、托管云)进行统一资源管理、统一运维管理、统一门户管理、统一运营管理,以及屏蔽底层硬件同构、异构。进一步实现架构的全方位架空告警。
4、多云部署
多云部署:采用多个云平台部署业务存储数据,以便在多个云平台中各取所长,提升业务连续性,同时也避免厂商锁定。 网络连通:通过云平台提供的网络连接方式,比如物理专线、VPN、SD-WAN等等方式将多个云环境进行统一连接,打通网络,实现数据流动。
5、全球部署
全球部署:实现业务全球化,提供给全球多个地域用户服务,主要为了降低网络延迟、提高用户体验。
二、业务持续
1、高可用
同地域业务高可用:在同一个地域采用2或2个以上的可用区进行部署业务,同时划分在同一个VPC网络下,实现数据互通、提高业务可用性。 跨地域业务高可用:在云平台上采用2或2个以上的地域进行部署业务,不同地域之间的VPC网络通过平台自带的云连接网/企业云网,将两边的VPC网络进行打通,数据之间相互
2、高可靠
非结构化数据可靠数据:如果在业务中有大量的静态图片,静态页面,提供给用户下载的软件安装包等等,可以通过对象存储实现存储海量静态文件或者非结构化数据。 结构化数据高可靠产品:通过云平台提供的云数据库,减少底层运维,面向服务上云。可选单机、主备、以及金融级三节点云数据库集群。
存储类型:结构化数据、非结构化数据。 结构化数据:以关系型数据库库表形式管理的数据。如mysql数据库数据。 非结构化数据:图片、音视频、文档、备份数据、前端页面文件。
3、备份
云端备份:实现单个可用区、多个可用区、甚至多个地域的业务数据进行备份,以保证在可用区内的业务持续性和数据可靠性。 数据库备份回档机制:在自建数据库或者云数据库使用中,都支持手动备份和自动备份,但自建数据库需要用户自行维护集群,而云数据库则只需要在控制台选择自动备份、异步备份即可。
4、容灾
业务容灾:通过多可用区、多地域部署方式,同时在应用层、数据层分别进行本地备份、异地备份,避免出现灾难。
三、弹性扩展
1、解耦
数据存储访问动静分离:将静态页面的读取和写入请求剥离,采用分布式对象存储进行代替提供服务支撑。 通过消息队列解耦组件:将业务上单条逻辑链转换成多个功能的单一任务,不同任务之间可以进行相互调用并互相隔离,实现系统组件上的解耦。
2、扩展
计算自动伸缩:通过弹性伸缩服务实现资源横向扩展,从而保证业务持续性,承载更高的业务流量压力。 数据库层扩展:通过集群的纵上升级、读写分离、多个从库节点线性扩展,同时数据库进行分库分表。 通过混合架构扩展本地能力:通过全局负载均衡或者全局流量管理,将业务流量分流到本地环境和公有云环境,如本地环境出现问题,利用公有云能力快速扩展,承压本地环境原有的流量压力。
3、迁移
业务及数据迁移:在业务迁移过程中,需要将原有在本地环境的业务迁移到公有云,需要将应用数据、业务数据、存储数据一并迁移到公有云,以实现1:1还原及快速进行业务测试。通过DTS进行数据库数据迁移、通过Rsync同步数据到云端,通过整机打包镜像将旧环境直接上云,网络环境保持一致。
在数据库备份过程中,主要是用逻辑备份、物理备份。 逻辑备份:针对数据库中的库表、数据结构进行备份,常用数据库备份工具mysqldump. 物理备份:针对数据库文件级进行数据备份,常用数据库备份工具Xtrabackup.
需要关注两个点:RTO(恢复时间目标)、RPO(恢复点目标)。 RTO:指可容忍灾难最大时间。 RPO:指可容忍最大的数据丢失量。
4、均衡
流量转发及全局负载均衡:通过全局DNS或者选取一个云平台的地域作为核心业务区,进行流量转发。
四、性能效率
1、计算
提升计算性能:根据业务类型选取不同的主机类型,比如云平台提供高主频主机、网络增强型主机、计算密集型主机、内存增强型主机等等,如游戏业务,则倾向网络增强型主机,以及最靠近用户所在地域的节点。
2、缓存
数据库类型:Mysql、SQL Server、Redis、MongoDB。
缓存数据库: Redis:单机、主备(master- replica)、分布式(分片+proxy)
CDN缓存加速:针对业务系统的静态资源进行加速,面向全球用户访问时,用户可以在最近的CDN节点拿取数据,提高用户体验,加快用户访问速度。
3、网络
网络优化:通过全球加速、高速通道降低访问延迟、数据丢包率、以及提高多地域用户数据交互。 最优部署地域:通过面向的用户群体,在公有云平台选择最靠近用户的节点,同时结合CDN加速提高用户访问速度。
4、APM性能测试
APM应用性能管理工具:ARMS、PTS、Jmeter 利用探针agent的方式来梳理应用拓扑结构、追踪链路调用关系、根据业务压力追踪链路,就可以快速定位问题点/瓶颈点。
如 电商零售场景,则重点压测登录、下单、支付接口,测试最大承载压力。 优化角度:网络优化、架构优化(引入消息队列、缓存数据库(必要时上 分布式))
五、安全合规
1、账号及权限
IAM:在云平台上提供的身份识别与访问管理,主要管理主账号、子账号、权限、授权等等。 RAM:子账号根据使用的用户角色不同,赋予不同访问的权限,比如财务部,只需提供费用中心的查看权限即可。 密码、密钥、PEM认证文件:在用户登录云主机、云数据库或者登录云平台
2、数据安全
数据加密:在数据备份、数据传输过程有可能被盗取拦截信息、为了保障数据安全,进行数据加密,如创建云主机提供系统盘、数据盘加密。备份系统加密,传输过程可以通过内网传输,以及VPN通道进行传输。 KMS:密钥管理服务,将云平台上创建云实例使用KMS管理的密钥,或者在服务之间相互认证,KMS可以作为凭证提供认证,全程密钥保护可以使用多种算法。
3、应用安全
WAF(Web应用防火墙):因为本地环境的安全能力有限,通过公有云WAF将所有流量引入并进行过滤,将过滤后的流量转发到本地环境,扩展本地的安全防护能力。
4、网络安全
高防IP:将大型流量攻击,全部引入到高防IP进行清洗拦截,将攻击流量全部放在黑洞流量设备,放行少量的正常请求到后端,保证业务正常,不被冲垮掉。 DDoS流量清洗:所有来自公网的正常流量和攻击流量都先经过流量检测,而一旦检测到攻击流量就会自动防护,公有云平台给每个用户都提供一定额度的免费清洗流量,如果超出免费额度仍然不处理,平台将会把受攻击IP拉近黑名单。 云防火墙:在混合架构、多云环境、以及多可用区之间的流量进行防护,防护东西向主机实例之间流量流动,业务侧防护南北向访问流量,并且拦截恶意访问流量以及主机失陷。
5、终端安全
主机安全:主要防护主机基础系统安全,定期修复系统漏洞补丁、防护木马病毒入侵、同时需要进行应用服务基线检查,修复弱配置项。
6、审计
堡垒机:通过堡垒机记录运维人员访问云资源操作记录,比如云主机、云数据库等等,记录相关行为及命令行。同时配置拦截命令危险项。 数据库审计:通过数据库审计,记录DBA或者项目调用的操作记录,同时防护数据库被黑客攻击,从而盗取数据库。 日志审计:通过日志审计,将系统操作记录、云平台操作记录全部进行日志记录,但云平台保存记录有一定时间,需要保留操作日志需要开通对象存储,投递到对象存储。
7、合规
等保2.0:二级/三级,根据国家等保要求,对信息收集以及对国家影响程度,进行定级测评。 域名备案:在中国大陆所使用的域名,需要各大云平台进行域名接入备案,并由云平台审核提交到工信部。否则无法正常使用域名访问服务。
六、持续运营
1、SLA服务水平协议
服务水平协议:根据用户在公有云上使用的云资源,如果在使用过程出现服务不可用,同时是由于云平台原因,根据服务不可用时间进行相应倍数赔付。 可用性:云服务器服务可用性为99.97%。即每个用户每月业务可用时间应至少为30天24小时60分钟99.97%= 43187.04分钟,每月最多存在30天24小时*60分钟- 43187.04分钟=12.96分钟的不可用时间。 持久性:云服务器服务存储数据持久性不低于99.9999%。即每月用户1000000个存储的文件,每月只有1个文件有丢失的可能性。
2、监控告警
资源监控:主要监控CPU占用、内存占用、存储IO、网络流量等等情况,也可以通过自定义监控实例内应用进程。 网络监控:通过网络监控,将平台上的所有资源网络使用情况进行统一监控告警。 事件监控:在云平台发生的危险操作事件、资源问题或则到期、费用不足等等事件都会通知到账号联系人。 告警通知:通过资源监控、网络监控、事件监控等等监控事项,自定义告警通知人员,不同项目资源分配给不同角色接受告警通知信息。
3、成本优化
单位资源支撑的业务收益=业务收益/资源费用
4、冷热数据分层存储
实时数据》对象存储 》低频数据 》归档数据 热数据 》 温数据 》冷数据
5、数据开放及隐私计算
数据安全屋:通过实现数据所有权和数据使用权分离,以确保数据流通过程安全可控的产品技术方案。安全屋的产品构成包括:数据流通平台、计算平台、安全机制。
6、持续运营
定时巡检:通过系统定期巡检,判断业务使用状态,并且快速响应业务所需。如及时配置弹性伸缩,CDN加速、WAF等等基础业务配置。 系统评估:根据系统运行状态,进行多方面检测评估系统稳定性,高可用性,以及承载能力,以保障业务稳步推进。 系统演练:定期进行启动测试环境进行系统演练,在未来业务高峰期承载做预估,同时定位在演练过程系统出现的问题,以防止特殊情况出现。 统一培训:统一运维方式进行内部人员培训,合规运维操作,规避人为操作不当风险出现。