第9章 公有云服务管理
【学习目标】
1.知识目标
了解公有云的意义和发展现状。
了解云安全威胁的种类以及解决方案。
掌握公有云的概念。
掌握上云迁移的概念以及工作流程。
掌握云解耦的概念、方式和手段。
掌握云服务立体化监控的概念、方式和手段。
2.技能目标
能够进行上云迁移的部署。
能够进行云解耦的部署。
能够进行云服务立体化监控的部署。
【认证考点】
公有云的概念、发展现状。
上云迁移的概念以及工作流程。
云解耦的概念、工作方式和手段。
云服务立体化监控的概念、工作方式和手段。
云安全威胁的种类、云安全威胁的解决方案。
能够进行上云迁移的部署。
能够进行云解耦的部署。
能够进行云服务立体化监控的部署。
项目引导:云监控与业务上云
【项目描述】
某公司是消费电子产品行业中的知名厂商,主要提供各种物联网、可穿戴设备、智能手机和平板电脑的智能辅助设备。公司产品得到了大量用户的认同,在国内市场具有很高的占有率。近期公司计划推出一款全新研发的首创产品,公司希望将其部署到公司本地的私有云平台上,然后将其迁移到腾讯云平台中,这时公司的IT部门经过评估,需要在腾讯云平台中部署云服务立体化监控、云业务的解耦以及上云迁移等功能,并且针对腾讯云平台上部署的产品和业务提供安全的解决方案,保证迁移到腾讯云平台上的产品和业务能够高效可靠的工作。
知识储备
9.1 公有云
9.1.1 公有云简介
公有云是部署云计算平台最常见的方式。公有云资源(如服务器和存储空间)由第三方云服务提供商拥有和运营,这些资源通过Internet提供。在公有云中,所有硬件、软件和其他支持性基础结构均为云服务提供商所拥有和管理。在公有云中,企业用户与其他组织或云“租户”共享相同的硬件、存储和网络设备。企业用户可以使用Web浏览器访问服务和管理账户。公有云部署通常用于提供基于Web的电子邮件、网上办公应用、存储以及测试和开发环境。公有云的核心属性是共享资源。这种云有许多实例,可在当今整个开放的公有网络中提供服务。
公有云优势:
(1)成本更低,无需购买硬件或软件,仅对使用的服务付费。
(2)无需维护,维护由服务提供商提供。
(3)近乎无限制的缩放性,提供按需资源,可满足业务需求。
(4)高可靠性,具备众多服务器,确保免受故障影响。
公有云的计算模型分为公有云接入、公有云平台和公有云管理三个部分。
(1)公有云接入:个人或企业通过普通的互联网来获取云计算服务,公有云中的“服务接入点”负责对接入的个人或企业进行认证,判断权限和服务条件等,通过“审查”的个人和企业,就可以进入公有云平台并获取相应的服务了。
(2)公有云平台:公有云平台是负责组织协调计算资源,并根据用户的需要提供各种计算服务。
(3)公有云管理:公有云管理对“公有云接入”和“公有云平台”进行管理监控,它面向的是端到端的配置、管理和监控,为用户可以获得更优质的服务提供了保障。
9.1.2 公有云的意义和发展现状
1.公有云的意义
能够以低廉的价格,提供有吸引力的服务给最终用户,创造新的业务价值,公有云作为一个支撑平台,还能够整合上游的服务(如增值业务、广告)提供者和下游最终用户,打造新的价值链和生态系统。
2.公有云的发展现状
公有云被认为是云计算的主要形态。在国内发展如火如荼,根据市场参与者类型分类,可以分为五类:
(1)传统电信基础设施运营商,包括中国移动、中国联通和中国电信;
(2)政府主导下的地方云计算平台,如各地如火如荼的各种“XX云”项目;
(3)互联网巨头打造的公有云平台,如腾讯云;
(4)部分原互联网数据中心(IDC)运营商,如世纪互联;
(5)为具有国外技术背景或引进国外云计算技术的国内企业,如风起亚洲云。
项目实施
某公司是消费电子产品行业中的知名厂商,为了将近期公司计划推出的一款全新研发的首创产品迁移到腾讯云平台上进行测试,需要进行上云迁移、云解耦以及云服务立体化监控的部署,配置的一般流程为① 进行上云迁移的配置,在本地部署一台虚拟机,在虚拟机部署Discuz论坛平台,模拟本地主机的应用使用虚拟机到虚拟机的迁移(V2V,Virtual to Virtual))的方式,将本地主机迁移到腾讯云上。② 进行云解耦的配置,通过图形化界面事先创建TKE集群、Ckafka消息队列,以及无服务器函数SCF,并设置SCF的触发执行条件为Ckafka消息,触发执行的动作为向指定的邮箱里发送邮件。③ 进行云服务立体化监控的配置,主要提供云产品总体监控概况、告警概况,让用户可以实时了解云产品的健康状态,保证云产品的正常运行。
需要完成的任务:
- 理解上云迁移的概念以及工作流程。
- 理解云解耦的概念、方式和手段。
- 理解云服务立体化监控的概念、方式和手段。
- 熟练配置上云迁移。
- 熟练配置云解耦。
- 熟练配置云服务立体化监控。
9.2 任务1:上云迁移
9.2.1 上云迁移简介
与传统的应用平台相比,云计算平台的优点在于强大的计算能力、存储能力、多样化的服务以及高性价比。所以目前很多公司都将应用平台从本地迁移到远程的云计算平台当中。实施云迁移项目之前,需要对实施云迁移的正确性以及合理性进行一次评估,确定迁移至云计算平台对公司的业务是有意义的。假设公司已经拥有一个私有云计算,那么为什么公司还会希望要增加公共云的容量呢?可能是因为希望通过从不同的地域位置运行工作负载来拓展公司的灾难恢复选择,或者是因为希望增加工作负载,但是又受到公司所拥有的数据中心中有限容量的限制,又或者选择实施混合云计算模式的原因就是出于经济方面的考虑。公共云在所用即所付方面能够把资本开支转化为运行资本,并把用户从不愉快的租赁和繁琐升级中解脱出来。
对于公司的各级IT组织来说,了解这次上云迁移的根本目的和原因是非常重要的,这样IT组织才能做出正确的决定。同样,把所有的IT团队包括应用、系统、网络以及存储等管理员都囊括在这些计划中也是非常重要的。这些人员的专业知识是实施混合云计算中完成坚实准备工作的关键。
综上所述,上云迁移是企业将其应用程序和服务器转移到基于云平台的托管提供商的过程。对于企业来说,首先不必担心在扩展服务器资源时浪费时间。其次,基于云计算的解决方案更加节省成本。与共享主机不同,同一物理服务器上的其他用户不会直接影响服务器和应用程序性能。
当用户将业务迁移到云平台时,Web应用程序倾向于充分利用云托管功能和资源。因此,简而言之,企业有着充分理由迁移到云平台。云迁移简化了设置应用程序的过程,使用户可以直接与浏览器进行交互,而无需将其下载到设备上。
目前云迁移主要有物理机到虚拟机的迁移(P2V)和虚拟机到虚拟机的迁移(V2V)两种迁移方式,在当前虚拟化的大潮中,当构建新的数据中心时,客户大多会采用服务器虚拟化技术来整合现有资源,此时需要考虑将原有物理服务器上的业务系统搬迁到新的虚拟服务器上,这就是常见的P2V,另外如果之前业务系统已经运行在虚拟机上,需要整合后迁移到新的虚拟化平台上,则被称之为V2V。
上云迁移的模式根据迁移源和目标的不同,分成不同模式,具体划分方式如图9-2-1所示。
通常所说的上云迁移是指从本地数据中心、私有云或公有云迁移到公有云,而本章所提及的方法论、流程、方案等均是针对此模式。除此之外,还有其他上云迁移的模式,包括从本地数据中心迁移到私有云、从私有云迁移到私有云,从公有云迁移到私有云等。
上云迁移之前必须进行评估,而评估过程一般包括三部分。首先,需要分析业务是否可迁移,如果业务具有可迁移性,那么就可以选择直接上云或改造上云。然后,针对可迁移的业务,需要评估一些列的系统、应用、资源等信息。最后,需要对该业务进行上云后的运维管理的评估分析。具体评估过程如图9-2-2所示。
评估业务是否适合上云的类型分为适合上云、改造上云以及不适上云三种,下面分别介绍。
1.适合上云
(1)如果系统不是长期使用,近期也不会停用,而且可以快速移植,那么该系统可以无需改造即可迁移上云;
(2)如果系统长期使用,不存在故障,使用率在60%到80%范围内,系统同时在线人数大于50%,并且系统会随压力增长而扩展,那么此系统适合迁移上云。
2.改造上云
(1)如果系统不是长期使用,近期也不会停用,无法快速移植,但有业务驱动改造,则可以选择改造上云;
(2)如果系统长期使用,不存在故障,使用率不在60%到80%范围内,但支持进行改造优化并且有业务驱动改造,则可以选择改造上云;
(3)如果系统长期使用,不存在故障,使用率在60%到80%范围内,但系统同时在线人数小于等于50%,并且支持进行改造优化和有业务驱动改造,则可以选择改造上云;
(4)如果系统长期使用,不存在故障,使用率在60%到80%范围内,系统同时在线人数大于50%,但系统不会随压力增长而扩展,并且支持进行改造优化和有业务驱动改造,则可以选择改造上云。
3.不迁移上云
(1)如果系统不是长期使用,但近期就会停用,那么此系统不合适迁移上云;
(2)如果系统长期使用,但存在故障,并且系统不能移植,那么此系统不适合迁移上云;
(3)如果系统长期使用,不存在故障,使用率不在60%到80%范围内,并且不支持进行改造优化,那么此系统不适合迁移上云;
(4)如果系统长期使用,不存在故障,使用率不在60%到80%范围内,支持进行改造优化,但没有业务驱动改造,那么此系统不适合迁移上云。
9.2.2 上云迁移流程
上云迁移的整体流程图如图9-2-3所示。
从图9-2-3中可以看出,上云迁移的流程为①项目立项以及项目开始,②系统调研,③方案设计和基础环境搭建,④系统割接、测试,⑤系统交付项目结束。下面分别加以介绍。
(1)系统调研主要分为业务调研、系统架构调研、数据库调研、应用调研4部分。系统调研的主要内容如图9-2-4~9-2-6所示。
(2)方案设计包括网络架构设计、云上运维管理架构设计、应用架构设计、应用改造设计以及容量规划5部分。方案设计的主要内容如图9-2-7~9-2-8所示。
基础架构环境搭建包括以下4个主要内容:
① 系统架构:选择与源系统相对应的云服务器(操作系统、硬盘介质等);
② 网络架构:云上网络产品按照原网络架构进行重新规划;
③ 数据库:选择与源系统相对应的数据库云产品;
④ 应用程序:参考官网API规范进行改造,比如将原来存储图片的位置更改为COS。
(3)系统割接内容及风险包括系统环境搭建、应用程序部署、文件/数据库同步、业务割接、回滚机制、技术风险以及业务风险7部分。系统割接的主要内容如图9-2-9所示。
性能测试包括响应时间、错误率、CPU利用率、内存利用率、磁盘吞吐量以及网络吞吐量6个部分。性能测试的主要内容如图9-2-10所示。
9.2.3 上云迁移实例
在本地部署一台虚拟机,在虚拟机部署Discuz论坛平台用来模拟本地主机的应用。使用虚拟机迁移到虚拟机(V2V)的方式,将本地主机迁移到腾讯云上。
1.本地虚拟机的配置
打开已经提前在本地计算机上安装好的硬件虚拟化软件VMware Workstation 15 Player,点击“打开虚拟机”,如图9-2-11所示。
找到已经提前下载到本地计算机带有Discuz论坛平台的虚拟机文件,将其安装到虚拟机中,点击“播放虚拟机”,如图9-2-12所示。
使用账号“root”,密码“123456”,登录该虚拟机,并输入命令ifconfig查看此虚拟机的IP地址,如图9-2-13所示。
在本地计算机上打开浏览器,输入上述IP地址进行访问,确认能够访问到论坛平台。但实际上这个论坛平台是没有任何数据的,只是把应用搭建好而已。后续需要把这台主机迁移到云上,然后连接云数据库,如图9-2-14所示。
输入如下命令检查分区表格式,目前腾讯云主机服务迁移不支持GPT分区,如图9-2-15所示。
sudo parted -l /dev/sda | grep 'Partition Table'
msdos表示MBR分区;gpt表示GPT分区。
下面进行virtio的检查和准备。云服务器系统内核需要支持virtio驱动(包括块设备驱动virtio_blk和网卡驱动virtio_net)才能在腾讯云上正常运行,对于未编译进内核的virtio_blk驱动,还需要包含在initramfs(或者initrd)文件中,云服务器才能正常工作。使用如下命令,确认当前内核是否支持virtio驱动,如图9-2-16所示。
grep -i virtio /boot/config-$(uname -r)
如图9-2-16所示,当前内核包含了virtio_blk和virtio_net驱动,并且是以模块形式编译的(CONFIG_VIRTIO_BLK=m,表示编译成为内核模块,等于y表示编译进内核),如果这一步没有找到virtio_net或virtio_blk的驱动信息,那么该镜像不支持导入腾讯云。
如果内核支持virtio驱动(virtio_blk和virtio_net都支持),且virtio_blk驱动编译进入了内核(即CONFIG_VIRTIO_BLK=y),则该内核支持导入,不需要后续确认,如果virtio_blk驱动是编译成内核模块的(即CONFIG_VIRTIO_BLK=m),则还需要继续后续确认步骤,确认virtio_blk驱动正确包含进了initramfs(或initrd)文件中。
输入如下命令,确认initramfs是否包含virtio_blk驱动,如图9-2-17所示。
lsinitrd /boot/initramfs-$(uname -r).img | grep virtio
如果initramfs中包含了virtio_blk驱动就是支持的,如果输出和图9-2-17一样,没有任何结果,就是不支持的,需要进一步完成如下的步骤;输入如下命令,制作initramfs。
cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
mkinitrd -f --with=virtio_blk --with=virtio_pci /boot/initramfs-$(uname -r).img $(uname -r)
执行成功后,再次重复执行下面命令,发现成功包含了所需驱动,如图9-2-18所示。
lsinitrd /boot/initramfs-$(uname -r).img | grep virtio
Cloud-init的检查和准备。Cloud-init主要提供实例首次初始化时自定义配置的能力。如果导入的镜像没有安装Cloud-init服务,基于该镜像启动的实例将无法被正常初始化,导致该镜像导入失败。使用如下命令,进行Cloud-init的安装,如图9-2-19所示。
yum install cloud-init -y
使用如下命令,安装wget工具,如图9-2-20所示。
yum -y install wget
使用如下命令,修改Cloud-init配置文件,如图9-2-21所示。
wget -O /etc/cloud/cloud.cfg http://cloudinit-1251740579.cosgz.myqcloud.com/centos-cloud.cfg
执行如下命令,初始化Cloud-init。请注意,如果执行了此步骤,切记不要重启服务器,如果重启,请再次执行一次,执行完这个步骤后,在服务器上执行systemctl poweroff命令关机,如图9-2-22所示。
cloud-init init --local
rm -rf /var/lib/cloud
至此,本地主机上云前配置已经完成。
2.腾讯云平台的配置
登录腾讯云管理控制台,来到对象存储管理控制台,导航到“存储桶列表”,点击“创建存储桶”,如图9-2-23所示。
在创建存储桶页面的名称处输入“lab3-bucket02”,所属地域处选择“成都(西南)”,访问权限处勾选“公有读写”,然后点击“确定”,如图9-2-24所示。
在存储桶中,点击“上传文件”如图9-2-25所示。
找到本地计算机上,虚拟机安装目录下的虚拟磁盘文件(.vmdk),选择该文件然后点击“打开”,如图9-2-26所示。
确认虚拟磁盘文件已经选中,然后点击“上传”,如图9-2-27所示。
等待虚拟磁盘文件上传完成,如图9-2-28所示。
上传完成之后,点击“详情”,如图9-2-29所示。
在文件列表中复制该Bucket的“对象地址”,如图9-2-30所示。
回到云服务器管理控制台,导航到“镜像”页面,点击“成都”→“导入镜像”,如图9-2-31所示。
在导入镜像页面,选择操作系统“Linux”,下拉滚动条,到最下面,勾选“我已做好以上准备”,点击“下一步”,如图9-2-32~9.2.33所示。
在镜像文件URL处,粘贴图9-2-30记录的镜像文件的网址,镜像名称输入“lab3-mirror01”,地域选择“成都”,系统架构选择“64位”,系统平台选择“CentOS”,系统版本选择“7”,导入方式默认“正常”,点击“开始导入”,如图9-2-34所示。
导入将会持续一段时间,稍后可以收到邮件和站内信的通知,等待导入完成,如图9-2-35所示。
状态显示正常后,镜像导入成功,如图9-2-36所示。
导入成功后,点击镜像右侧的“创建实例”,如图9-2-37所示。
点击“按量计费”,选择“成都”,选择“成都一区”,选择默认的VPC和子网,实例处选择“标准型SA1,1核1G”,然后点击“下一步”,如图9-2-38所示。
在镜像处选择“自定义镜像”,镜像版本选择上面制作好的“lab3-mirror01”,然后点击“下一步”,如图9-2-39所示。
系统盘选择“高性能云硬盘”,默认50GB,数据盘不选择,网络计费模式选择“按使用流量”,带宽上线默认1Mbps,勾选“免费分配公网IP”,公网网关无需选择,直接点击“下一步”,如图9-2-40所示。
来到设置安全组和主机页面,所属项目默认,安全组选择“已有安全组”,安全组选择放通全部端口(若没有此安全组,可新建安全组),安全组规则默认即可,实例名称输入“Lab3-CVM02”,登录方式选择“设置密码”,密码中输入“Welcome2Tencent!”,其他配置项保持默认,直接点击“下一步”,如图9-2-41~9.2.42所示。
确认配置信息无误,点击“开通”,如图9-2-43所示。
开通CVM成功后,来到实例列表,点击“成都”地域,找到该CVM,在主IP地址栏找到CVM的公网IP,并复制,如图9-2-44所示。
打开本地计算机的浏览器,输入上述公网IP进行访问,确认能够访问到Discuz应用平台,如图9-2-45所示。
至此,已经完成本地主机迁移到腾讯云上。
9.3 任务2:云解耦部署
9.3.1 云解耦简介
耦合是指两个或两个以上的体系或两种运动形式间通过相互作用而彼此影响以至联合起来的现象。解耦就是用数学方法将两种运动分离开来处理问题,常用解耦方法就是忽略或简化对所研究问题影响较小的一种运动,只分析主要的运动。
数学中解耦是指使含有多个变量的数学方程变成能够用单个变量表示的方程组,即变量不再同时共同直接影响一个方程的结果,从而简化分析计算。通过适当的控制量的选取,坐标变换等手段将一个多变量系统化为多个独立的单变量系统的数学模型,即解除各个变量之间的耦合。最常见的有发电机控制,锅炉调节等系统。软件开发中的耦合偏向于两者或多者的彼此影响,解耦就是要解除这种影响,增强各自的独立存在能力,可以无限降低存在的耦合度,但不能根除,否则就失去了彼此的关联,失去了存在意义。
云解耦就是解耦在云计算当中的应用,云解耦是在云平台当中隔离变化和降低复杂度的重要手段,这里以解耦隔离变化,其思想就是以分工协作代替全面控制,在云平台中各个接口以及模块之间功能相对对立,彼此之间的影响较小。
9.3.2 云解耦的方式
常用的解耦方式有完全解耦控制、静态解耦控制以及软件解耦三种,在云计算当中我们一般使用软件解耦方式来进行云解耦,所以这里需要读者重点理解软件解耦这种方式。
(1)完全解耦控制:对于输出和输入变量个数相同的系统,如果引入适当的控制规律,使控制系统的传递函数矩阵为非奇异对角矩阵,就称系统实现了完全解耦。
(2)静态解耦控制:一个多变量系统在单位阶跃函数(见过渡过程)输入作用下能通过引入控制装置实现稳态解耦时,就称实现了静态解耦控制。
(3)说起软件的解耦必然需要谈论耦合度,降低耦合度即可以理解为解耦,模块间有依赖关系必然存在耦合,理论上的绝对零耦合是做不到的,但可以通过一些现有的方法将耦合度降至最低。
云解耦方法有但不限有如下几种:
① 采用现有设计模式实现解耦,如事件驱动模式、观察者模式、责任链模式等都可以达到解耦的目的;
② 采用面向接口的方式编程,而不是用直接的类型引用,除非在最小内聚单元内部,但使用该方法解耦需要注意不要滥用接口;
③ 高内聚,往往会带来一定程度的低耦合度。高内聚决定了内部自行依赖,对外只提供必须的接口或消息对象,那么由此即可达成较低的耦合度。
9.3.3 云解耦实例
本实例通过图形化调用的方式,掌握腾讯云容器服务(TKE)、消息队列(Ckafka)以及无服务器函数(SCF)三种产品的操作方法以及协作逻辑。具体的协作方法如下。
通过图形化界面事先创建TKE集群、Ckafka消息队列以及无服务器函数SCF,并设置SCF的触发执行条件为Ckafka消息,以及触发执行的动作为向指定的邮箱里发送邮件。触发流程是编写Java脚本,以调用TKE服务的API接口,下发一个基于TKE集群的操作(查看节点),并将该操作的消息发送至消息队列Ckafka中,通过该消息触发无服务器函数SCF执行发送邮件的动作,最终在指定的邮箱中看到指定的邮件。
1.创建TKE集群和服务
登录腾讯云账号,展开“云产品”,选择“计算”下的“容器服务”,选择“集群”,然后“新建”集群。
在弹出的创建集群向导中,输入“集群名称”为cluster-test,“新增资源项目”选择“默认项目”,“Kubernetes版本”选择“1.12.4”,“运行时组件”选择“docker”,“所在地域”选择“广州”,“集群网络”选择“VPC01-运维P-TKE”或“新建私有网络”,“容器网络”保持默认或者选择合适网段,“操作系统”选择“CentOS 7.2 64bit”,“集群描述”输入“测试集群”,然后点击“下一步”,如图9-3-1所示。
弹出的对话框为集群管理的第二步。选择机型,“Master”选择“托管”,“Node”选择“新增”,“计费模式”选择“包年包月”,“可用区”选择“广州三区”,“节点网络”保持默认,“机型”选择“标准型S2,1核2GB”,“系统盘”选择“高性能云硬盘50GB”,“数据盘”选择“高性能云硬盘50GB”,“公网带宽”选择“按带宽计费1Mbps”,“数量”选择“1”,然后点击“下一步”,如图9-3-2所示。
在弹出的“云主机配置”中,“安全组”选择“开放全部端口”或“开放22,80,443,3389和ICMP”,“登录方式”选择“设置密码”,“密码”使用“1qaz@WSX”,其余保持默认,然后点击“下一步”,如图9-3-3所示。
在弹出的“信息确认”页面,确认无误后点击“完成”即可,如图9-3-4所示。
购买完成后,在“云主机”界面可以看到创建的集群,主机所属的可用区,云主机的IP地址等信息,如图9-3-5所示。
点击创建的集群“cls-lyjbov6k(cluster-test)”进入集群的配置界面,然后依次点击“工作负载”→“Deployment”→“新建”,如图9-3-6所示。
在弹出的“新建Workload”界面中,“工作负载名”输入“nginx”,“标签”将自动识别为“nginx”,“命名空间”保持默认“default”,“类型”保持默认,“数据卷”不需要添加,“实例内容器”中的“名称”设为“c-nginx”,“镜像”选择TencentHub的“nginx”镜像,其余保持默认;“访问设置”中的服务访问方式设置为“仅在集群内访问”,“容器端口”和“服务端口”设置为“80”,然后点击“创建Workload”,如图9-3-7~9-3-9所示。
然后返回到“集群”中登录服务所运行的容器,如图9-3-10~9.3.11所示。
至此,TKE集群和服务的配置完毕。
2.图形化方式使用SCF发送邮件
通过腾讯云控制台登录,创建消息队列Ckafka,创建无服务器函数SCF,并在线编辑基于SCF发送邮件到指定邮箱的脚本,设置动作的触发条件为Ckafka,通过测试脚本执行动作的触发,最终在指定的邮箱中收到邮件。
① 创建消息队列
创建Ckafka Topic主题订阅模式队列,在“腾讯云控制台”中,鼠标依次点击“产品”→“中间件”→“消息队列Ckafka”,进行消息队列Ckafka的购买。
“计费模式”选择“包年包月”,“地域”选择“广州”,“可用区”选择“广州三区”,“产品规格”选择“入门型”,“磁盘容量”选择“300GB”,“私有网络”选择“vpc-2owawwsv | VPC-运维P-TKE”和“subnet-7biq6lpw | 10.0.0.0”(网络的选择按照实际选择),“消息保留”选择“24小时”,“实例名称”使用“test-ckafka”,“购买数量”选择“1”,“购买时长”选择“1个月”,然后点击“立即购买”,如图9-3-12~9-3-13所示。
购买完成后,在“消息队列CKafka”界面的“实例列表”中能看到创建的消息队列Ckafka及相关的信息,如图9-3-14所示。
点击Ckafka实例进入其配置界面,点击“topic管理”,然后点击“新建”,执行新建topic的操作。在新建topic界面中,“名称”输入“test-ckafka”,其余保持默认,然后点击“提交”,如图9-3-15~9-3-16所示。
新建完成后就可以再登录到“topic管理”中查看相应的topic信息,如图9-3-17所示。
② 创建无服务器函数
在“腾讯云控制台”中,鼠标依次点击“产品”→“Serverless”→“云函数”,在左侧导航栏点击“函数服务”,右侧地域选择“广州”,单击“新建”按钮,进入如图9-3-18~9-3-20所示的界面。
“函数名称”填写“smtp”;
“运行环境”选择“Python 2.7”;
“创建方式”选择“空白函数”;
点击“下一步”继续。
“运行角色”选择“SCF默认运行角色”;
“执行方法”填写“index.main_handler”;
“提交方法”选择“在线编辑”;
打开本地事先准备好的代码,复制代码粘贴到页面代码框中,代码如下所示,该代码的作用为创建了一个无服务的SCF函数。
# -*- coding: utf8 -*-
import json
import smtplib
from email.mime.text import MIMEText
from email.header import Header
mail_host="smtp.qq.com" #SMTP服务器,请确定自己的QQ邮箱已开启smtp服务
mail_user="1127920662@qq.com" #用户名,修改为自己的QQ邮箱
mail_pass="dvrbtidahuucfjda" #口令,修改为自己的QQ邮箱的授权码
mail_port=465 #SMTP 服务端口
def sendEmail(fromAddr,toAddr,subject,content):
sender = fromAddr
receivers = [toAddr]
message = MIMEText(content, 'plain', 'utf-8')
message['From'] = Header(fromAddr, 'utf-8')
message['To'] = Header(toAddr, 'utf-8')
message['Subject'] = Header(subject, 'utf-8')
try:
smtpObj = smtplib.SMTP_SSL(mail_host, mail_port)
smtpObj.login(mail_user,mail_pass)
smtpObj.sendmail(sender, receivers, message.as_string())
print("send success")
except smtplib.SMTPException as e:
print(e)
print("Error: send fail")
def main_handler(event, context):
ckafkaMsg = None
if event is not None and "Records" in event.keys():
if len(event["Records"]) >= 1 and "Ckafka" in event["Records"][0].keys():
ckafkaMsgStr = event["Records"][0]["Ckafka"]["msgBody"]
ckafkaMsg = json.loads(ckafkaMsgStr)
print ckafkaMsg
sendEmail(ckafkaMsg['fromAddr'], ckafkaMsg['toAddr'], ckafkaMsg['title'],
ckafkaMsg['body'])
return "send email success"
点击“下一步”继续。
当前不添加任何触发方式,直接点击“完成”。
点击“函数代码”,在“测试事件模版”选择“新建模板”,模板命名为test,然后将事先准备好的代码粘贴到当前页面,该代码的作用为基于SCF发送邮件到指定邮箱的脚本,设置动作的触发条件为Ckafka,通过测试脚本执行动作的触发,最终在指定的邮箱中收到邮件,其中加粗部分改为发送方和接收方的QQ号码,然后点击“提交”,配置如图9-3-21所示。
{
"Records": [
{
"Ckafka": {
"type": "topic",
"topicOwner": 1253970226,
"topicName": "sendEmailQueue",
"subscriptionName": "sendEmailFunction",
"publishTime": "2017-09-25T06:34:00.000Z",
"msgId": "123345346",
"requestId": "123345346",
"msgBody": "{\"fromAddr\":\"1127920662@qq.com\",\"toAddr\":\"1127920662@qq.com\",\"title\":\"hello from scf & ckafka\",\"body\":\"email content to send\"}",
"msgTag": []
}
}
]
}
点击“函数代码”,使用“test”作为测试模板,然后点击“测试”,测试代码的效果,如图9-3-22所示。
这时我们发现测试结果显示为“成功”,说明配置正确。
③ 通过用户邮箱验证结果
使用自己的QQ账号和密码登录自己的QQ邮箱,在主页面点击“设置”,如图9-3-23所示。
在“邮箱设置”中点击“账户”选项卡,拖动鼠标往下拉,找到“POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务”,开启POP3/SMTP服务,然后点击下面的“生成授权码”,在弹出的对话框中,按照步骤用手机发送短信,生成授权码,配置如图9-3-24~9-3-26所示。
将生成的改授权码输入至图9-3-19代码中的mail_pass=" eizuuapmmwvkiajj" #修改为自己的QQ邮箱生成的授权码。
重新回到“测试函数”,单击“测试运行”,最终将能够在自己的邮箱中收到一封来自自己邮箱的邮件,如图9-3-27所示。
至此,云解耦的实例配置完成。
9.4 任务3:云服务立体化监控
9.4.1 云服务立体化监控简介
云监控为用户提供了统一监控云服务器、云数据库等所有云产品的平台。用户可以通过使用云监控全面了解云产品资源使用率、应用程序性能和云产品的运行状况,云监控还支持多指标监控、自定义告警、跨地域和跨项目实例分组、自定义监控可视化等功能。帮助用户及时掌控及处理云产品出现的突发情况,从而增加用户系统的稳定性,提升运维效率,减少运维成本。
云监控服务主要用于采集并获取云产品各种途径的监控指标数据,通过可视化图表展示,帮助用户了解云产品运行状况和性能。并可根据用户设置的告警规则,通过消息推送的方式帮助用户第一时间了解业务异常。让用户无需额外开发,即可全面掌控云产品资源使用、运行情况。
云监控的痛点主要有:
(1)监控对象复杂:监控对象多,结构复杂,容易有盲点;
(2)监控难以添加:应用结构不同,添加监控困难;
(3)系统多变:监控对象不固定,数量、结构随时变化;
(4)告警太多:一处故障引发多个层级故障,故障难定位;
(5)监控系统情况未知:缺乏对监控系统的监控。
针对云监控的痛点,得出云监控的需求为:
(1)自动接入各种产品;
(2)多维度,多层次,立体监控;
(3)多重手段监控,不局限于收集数据;
(4)图表和数据,多重方式呈现监控结果;
(5)自定义恰当的告警策略,防止告警过多。
综上所述,为保证IT系统稳定可靠运行,需要实现监控的立体化,在每一个层级、每一个对象上进行合适的监控。
云服务立体化监控主要包括监控对象的立体化、监控手段的立体化以及监控结果的立体化,下面分别介绍它们。
1.监控对象的立体化
监控对象一般是对设备、应用的监控,对象立体化监控的主要内容如图9-4-1所示。
(1)在云架构中,基础架构由云计算厂商提供和运维,其具体细节对云用户不完全透明,通常具备较好的条件和服务质量。用户基本不需要关注机房及硬件环境。
(2)在监控设备时一般使用图表方式来显示,例如哪台服务器CPU使用率最高、哪台服务器CPU使用率最低、相差多少,对比查看下,即可发现异常。
(3)查看历史某天异常的服务器,选择时间,以关键指标排序找出异常服务器。一天的指标数据取当天所有监控周期的最大值。
(4)监控各种服务是否在正常运行,如apache httpd服务等。可通过对服务状态模块等的查看进行监控。
(5)在业务量较大,业务范围较广的情况下,IT系统和用户可能分布在多个不同的地域、城市和机房。仅仅保证服务器和应用本身运行正常是不够的,还需要对不同机房、地域之间的网络状态进行监控,以便于尽快发现异常网络状况。
(6)指标监控、安全审计等通常需要日志的支持。需要对日志进行采集、日志存储到日志内容搜索、统计分析。
(7)IT基础架构为业务服务,当业务需要重要的指标统计支持时,也需要依赖监控系统提供数据。
(8)业务与每个公司或企业的实际情况相关,因此存在个性化差异,所以为了区分这些差异,一般业务监控需要借助报表等手段来显示。
(9)很多应用都会调用额外的API接口。API接口故障或性能不佳,都会直接影响到用户体验。因此需要对API进行监控。
2.监控手段的立体化
监控手段分为被动监控、主动监控以及旁路监控。
(1)被动监控:无需埋点,一般采用拨测系统模拟客户端从外网发起请求的形式对业务进行测试,测试数据集中上报表到监控系统,对其进行集中监控。顾名思义,是一个被动的行为,如日志统计,nginx的日志可以通过外部脚本或者分析工具抓取一些返回码信息,执行时长等数据,供运维做监控。还有外部探测也属于被动,如常见的ping、端口可用性探测等。
被动监控有个特征就是门槛相对较低,需要研发配合度小,但是这么做不利于标准化的建立。随着时代的发展,企业规模越来越大,业务种类越来越多,如果没有明确的要求和标准去规范开发团队,那么可想而知,开发出来的程序输出的log也将是千奇百怪,对运维分析log的能力要求就变得更高。
(2)主动监控:业务上线前,按照运维制定的标准,预先埋点。具体的实现方式又有多种,可以通过日志、向本地Agent上报、提供REST API等。一般采用从组件框架埋点,或从业务代码埋点,上报业务数据到监控系统,监控系统对其进行集中监控,如主机状态监控、业务模块间调用等。主动上报其实就是要推动开发团队将关键的信息点上报,给运维监控系统进行数据分析和告警。
(3)旁路监控:无需埋点,在不接触业务本身的情况下对业务进行监控,比较典型的是舆情监控,对外网的舆情进行搜集,进行统一监控。
3.监控结果的立体化
(1)多维度图表展示监控结果
提供丰富的图表表现形式,承载大量数据信息,将关联性数据信息整合展示,有助用户进行分析;支持单个指标多实例以列表形式查看数据,方便用户快速找出最大值、最小值;支持单个实例多指标查看数据,帮用户找出实例异常指标;支持单实例对比查看两个区间多天数据,方便用户逐步排查问题,分析原因,图形化展示数据有助用户挖掘业务信息。
(2)个性化的告警服务
基于已有监控指标数据,通过默认绑定,个性化配置的方式对云资源以及自定义指标进行告警设置;支持多种产品告警策略配置,用户可自定义指标告警触发阈值、告警监控对象、告警通知接收人以及发送渠道;针对云服务器,腾讯云监控提供了默认告警策略,设置默认策略后,新购买云服务器将自动关联至默认告警策略,无需用户手动绑定,极大地简化了用户的操作步骤,实时帮助用户监控所有云产品状况。
(3)自定义监控
自定义监控为用户提供简易自助上报监控数据入口,简易配置指标内容,丰富的案例帮助用户上报指标数据。上报后的数据,自定义监控提供强大的后端数据统计处理能力,免费帮用户保存一段时间数据。使用丰富的图表展现形式,既支持单实例查看图表、多天对比趋势,还支持聚合维度查看图表。同时还支持异常告警通知,指标异常第一时间自动发现、告警通知,帮用户时刻监控业务。
9.4.2 云服务立体化监控实例
1.监控概况
首先登录“云监控”控制台,然后点击左侧导航栏的“监控概述”,进入如图9-4-2所示的界面。
云产品概览为用户提供了所有云产品近24小时监控健康状态概览。方便用户快速了解所有云资源的状态。若图表中出现异常状态时,可把鼠标移动到异常符号中查看异常原因。
2.创建仪表盘
仪表盘(Dashboard)提供了自定义监控面板的服务,用户可以在监控面板中跨产品、跨实例查看监控数据,将同一个业务或集群下的资源集中展示。用户可以使用Dashboard功能,把用户关心的监控指标集中展示在同一张监控面板中,帮助用户实现不同云产品或不同实例间的监控数据对比和查看。
(1)创建监控面板
登录“云监控”控制台,在左侧菜单栏中单击“Dashboard”,进入Dashboard管理页面,在页面左上角,单击“添加监控面板”,输入自定义监控面板名称,如图9-4-3所示。
单击“确定”即可创建面板。
(2)创建监控图表
在“Dashboard”页面,单击“添加监控图表”,在弹窗中进行图表配置操作,如图9-4-4所示。
产品类型选择“云服务器-基础监控”。
数据视图选择“明细视图”。
在页面右侧,选择需要监控的实例。
在页面左侧,输入图标名称和选择监控指标。
完成后单击“确定”,即可完成图表的创建。
(3)查看监控图表
完成监控图表的创建后,在“Dashboard”管理页面中可以查看图表的详细信息,如图9-4-5所示。
说明:每个账号仅有1个默认监控面板。若已设置默认监控面板,则每次进入Dashboard页面时,默认展示用户所设置的默认监控面板。
3.实例分组
用户能够对同一云产品中跨地域、跨项目组中的实例进行分组,便于统一管理。当用户创建大量实例时,用户可以按需求建立实例分组,通过管理实例分组从而更便捷的管理实例、设置告警策略,提升网络运维的效率。每个实例分组最多可以包含2000个实例,单次往实例分组中添加实例上限为200个。
(1)登录“云监控”控制台,在左侧导航栏中,单击“实例分组”,进入实例分组页面,单击“新建”,配置如图9-4-6所示的选项。
单击“保存”,即可创建实例分组。
(2)新建实例,单击“新增”,在弹出的配置框中,勾选需要添加至该实例分组的实例。单击“确定”,即可为该实例分组添加实例。
(3)删除实例,勾选想要移出的实例分组,单击“移出”,在弹出的确认对话框中,单击“确定移出”,即可将该实例移出实例分组。
(4)删除实例分组,登录“云监控”控制台,在左侧导航栏中,单击“实例分组”,进入实例分组页面,找到用户需要删除的实例分组,在其右侧操作栏中,单击“删除”,如图9-4-7所示。
在弹出的确认对话框中,单击“确定删除”,即可删除该实例分组。
说明:当实例分组已经绑定告警策略时,删除实例分组会导致该实例分组绑定的告警策略失效。
(5)复制实例分组,登录“云监控”控制台,在左侧导航栏中,单击“实例分组”,进入实例分组页面。找到用户需要复制的实例分组,在其右侧操作栏中,单击“复制”,如图9-4-8所示。
在弹出的对话框中,单击“确定复制”,即可成功复制该实例分组。
说明:复制实例分组仅复制其内部所包含的实例,若复制的实例分组绑定了告警策略,则不会复制其绑定关系。
(6)实例分组绑定告警策略,登录“云监控”控制台,在左侧导航栏中,单击“告警配置”→“告警策略”,进入告警策略管理页面。单击“新增”,进入新建策略配置页面。找到“告警对象”配置选项,启用“选择实例组”,在下拉列表选择之前创建的实例分组,如图9-4-9所示。
在新建策略界面完成其他对应项的填写,即可完成告警策略的创建。
4.告警服务
告警功能提供对监控指标的告警功能。在某些监控指标时,可以创建告警来及时通知用户采取措施。告警在一定周期内监控某些特定指标,并根据给定的阈值,每隔若干个时间段通过多种方式(微信、短信等)发送告警通知。
(1)创建告警
① 创建告警联系人,登录“访问管理”控制台。选择“用户列表”→“新建用户”,进入新建子用户页面。选择“自定义创建”→“仅用于接收消息”。填写用户信息后,单击“保存”即可。
② 创建告警联系组,登录“访问管理”控制台。选择“用户组”→“新建用户组”,进入新建用户组页面。输入用户组名,单击“下一步”。关联策略可不选择,选择“下一步”→“完成”,即可创建用户组。在用户组列表中,找到上述步骤创建的用户组,在其右侧操作栏中,单击“添加用户”,勾选对应的用户。完成后,单击“确定”即可。
③ 创建告警策略,登录“云监控”控制台。选择“告警配置”→“告警策略”,进入告警策略配置页面。单击“新增”,配置告警策略。
配置基础选项:策略名称、备注、策略类型、所属项目。
选择告警对象。
设置触发条件范围。
设置告警渠道。
完成以上设置后,单击“完成”即可。
(2)查看告警
登录“云监控”控制台。在左侧导航栏中,单击“监控概览”,进入监控概览页即可查看告警。
5.云产品监控
云产品监控是所有云产品各项性能指标情况集中展示的平台。用户可在云产品监控查看账号下的云资源列表、以及对应的监控指标与告警详情。
相比业务控制台展示的监控数据,云产品监控结合了实例的健康状态与告警数据,为用户提供了快速定位异常实例的功能,用户可结合具体数据分析云资源使用情况,并根据异常信息排查问题。
登录“云监控”控制台。在左侧导航栏中,选择“云产品监控”→“云服务器”,进入云服务器监控列表页面。找到用户需要查看监控的云服务器,单击其主机名称,进入监控页面,如图9-4-10所示。
6.流量监控
为了防止访问流量变大对用户的业务造成影响,需实时监控云服务器外网出带宽情况。下面介绍流量监控功能和操作步骤。
登录“云监控”控制台,在左边菜单栏单击“流量监控”,进入流量监控管理页,如图9-4-11所示。
默认展示实时流量监控数据,支持查看实时、近24小时、近7天和自定义时间跨度的外网出宽带监控数据。用户还可以把鼠标移动到监控图表中查看某一时刻的监控数据。
至此,云服务立体化监控的配置完毕。
9.5 任务4:云安全
9.5.1 云安全简介
1.云安全威胁的种类
云安全威胁的种类如图9-5-1所示,包括服务端口、高危漏洞、密码破解以及安全软件缺失等。
(1)服务端口,数据库类服务端口风险高。
① 入侵者往往使用扫描器对目标机器进行端口扫描,然后实施攻击和入侵。
② 企业在公网上开放了MySQL、Redis、Eelasticsearch等数据服务端口,同时由于存在弱密码或者没有密码,黑客可以直接访问,导致被黑客入侵勒索。
(2)高危漏洞,高危漏洞的出现,容易造成木马病毒感染高峰:企业面临的整体安全环境并不乐观,漏洞仍然是造成入侵的主要途径;黑客也在逐步升级自己的技术,一些低成本高收益的攻击逐渐自动化,例如密码破解攻击呈现常态化趋势;随着比特币这类匿名电子货币的兴起,使得黑客变现的主要方式从劫持肉鸡流量进行DDoS变现,变成了加密勒索。
(3)密码破解,密码破解攻击呈现常态化,相对于Web应用漏洞,暴力破解的利用方式比较简单,成功后可以直接获得目标服务器权限,从而进一步进行植入木马、后门等操作,整个过程通过自动化程序实现,是一种成本极低的攻击方式。
(4)安全软件缺失,服务器上安全软件使用率偏低,目前,云上只有约7%的服务器使用了安全软件,整体使用比例偏低,其中有很大一部分的用户使用了PC安全防护软件来解决服务器安全防护需求,而单纯依靠PC安全防护是无法实现主机安全的。
2.构建云安全体系
根据上述云中存在的威胁,需要构建云安全体系,具体内容如图9-5-2所示。
传统安全体系所面临的问题如下:
(1)缺失业务层安全解决方案,更多只是在传统的架构体系中进行安全防御;
(2)大量依赖各个厂商的硬件盒子,交付成本高,周期长,并且部署之后扩展难度非常高;
(3)各个厂商之间缺乏合作与联动,造成单点防御的严重缺陷,容易给黑客可乘之机;
(4)复杂的架构众多的产品,对于IT部门的运维和管理是很大的挑战;
(5)互联网安全人才位于安全从业者金字塔的顶端,大多数企业难以招募和培养
上云后,企业在获得便利性提升的同时,整体安全防护水平也会提升。因为在基础设施层面,云平台厂商会提供统一的安全运维保障,而在服务和应用层,云平台厂商同样会提供丰富的安全解决方案供企业选择,所以,相对于云下,企业在云上可以低成本、更灵活地构建起安全防护体系。
9.5.2 云安全的解决方案
假设国家需要建立小众银行为互联网银行,以普惠金融为目标,致力于服务工薪阶层、自由职业者、进城务工人员等普通大众,以及符合国家政策导向的小微企业和创业企业。其银行服务部署于腾讯云,采用分布式架构提高扩容能力。通过人脸识别,互联网征信等产品的应用,大大降低每户头成本,专注于金融业务的互联网创新。
针对小众银行的具体应用场景,制定了相对应的云安全解决方案,如图9-5-3所示。
(1)面对国内复杂网络情况多手准备,使用大禹BPG、数据安全保证网络接入质量;
(2)银行作为交易中心,势必要和各类金融同业、官方机构以及第三方支付公司进行数据交互,通过使用腾讯云的专线服务,可以直接就近接入到腾讯云分布全国5大城市的就近节点中,实现一次接入,多地通信,不仅节约了成本,也提高了专线接入的速度。通过VPN和专线互通构建专属VPN混合云架构,将私有网络与公有云资源连通,灵活管理多样、稳定的网络连接;
(3)使用BGP链路实现多线路互联,腾讯云的BGP网络覆盖国内17家主流ISP,支持1亿连接,600万并发请求,实现真正高速的单IP访问各大运营商的用户;
(4)使用云镜、网站管家、天御进行多重安全保障,拒绝数据泄露及黑客攻击;
(5)提供专线、VPN接入。同时打造专属安全通道,多重防护保障数据安全,秒级抵御网络攻击。值得指出,腾讯云金融专区提供DDoS高防,具有20Gbps清洗能力。小众银行的客户得以享有高速稳定安全的接入服务,并通过腾讯云私有网络服务,获得极高的安全性保障。
(6)专家服务提供方案咨询、1V1专家以及攻防演练服务,根据每一个用户的实际需求贴身定制安全防护方案。
本章小结
本章主要介绍了公有云的概念、意义以及发展现状,云安全威胁的种类,上云迁移的概念以及工作流程,云解耦的概念、工作方式以及手段,云服务立体化监控的概念、工作方式以及手段;上云迁移的部署,云解耦的部署以及云服务立体化监控的部署。全章以实践操作为主,辅助一些重要的理论解释。读者通过理论知识学习和案例实践练习,能将知识融会贯通,提升实际动手能力。
本章习题
一、单项选择题
1.下面关于公有云的优点,哪些是不正确的( )。
A 成本低
B.不需要企业维护
C.可靠性高
D.不能实现按需分配资源
2.下列方式适合直接上云的有( )。
A.系统不是长期使用,近期也不会停用,无法快速移植,但有业务驱动改造
B.系统长期使用,但存在故障,并且系统不能移植
C.系统长期使用,不存在故障,使用率在60%到80%范围内,系统同时在线人数大于50%,并且系统会随压力增长而扩展
D.系统长期使用,不存在故障,使用率在60%到80%范围内,但系统同时在线人数小于等于50%,并且支持进行改造优化和有业务驱动改造
3.下列方式不适合上云的有( )。
A.系统不是长期使用,近期也不会停用,而且可以快速移植
B.系统长期使用,但存在故障,并且系统不能移植
C.系统长期使用,不存在故障,使用率在60%到80%范围内,系统同时在线人数大于50%,但系统不会随压力增长而扩展,并且支持进行改造优化和有业务驱动改造
D.系统长期使用,不存在故障,使用率在60%到80%范围内,系统同时在线人数大于50%,并且系统会随压力增长而扩展
4.在云计算中我们常用( )方式来进行解耦。
A.完全解耦方式
B.静态解耦方式
C.部分解耦方式
D.软件解耦方式
5.下列属于监控手段立体化的有( )。
A.监控各种服务是否在正常运行
B.查看历史某天异常的服务器,选择时间,以关键指标排序找出异常服务器。一天的指标数据取当天所有监控周期的最大值。
C.主动监控
D.个性化的告警服务
6.下列属于监控结果立体化的有( )。
A.在监控设备时一般使用图表方式来显示,例如哪台服务器CPU使用率最高、哪台服务器CPU使用率最低、相差多少,对比查看下,即可发现异常。
B.业务与每个公司或企业的实际情况相关,因此存在个性化差异,所以为了区分这些差异,一般业务监控需要借助报表等手段来显示。
C.自定义监控
D.旁路监控
二、多项选择题
1.公有云的计算模型有下列哪些( )。
A.公有云安全
B.公有云接入
C.公有云平台
D.公有云管理
2.云迁移有哪些方式( )。
A.P2P
B.P2V
C.V2P
D.V2V
3.上云迁移中的系统调研包括( )。
A.业务调研
B.系统架构调研
C.数据库调研
D.应用调研
4.解耦方式有( )。
A.完全解耦方式
B.静态解耦方式
C.部分解耦方式
D.软件解耦方式
5.云服务立体化监控包含( )。
A.监控对象的立体化
B.监控手段的立体化
C.监控结果的立体化
D.监控过程的立体化
6.云安全威胁的种类有哪些( )。
A.服务端口
B.高危端口
C.密码破解
D.安全软件缺失
三、问答题
1.公有云的意义?
2.上云迁移的流程?
3.上云迁移评估的过程?
4.云解耦的定义?
5.云监控的痛点?
学员评价