中小企业应用系统云化迁移的探究
2022-11-26杨一
杨一
厦门大学嘉庚学院信息科学与技术学院,福建,漳州,363105
0 引言
在云改数转的大趋势下,云计算服务以其通用性、高可伸缩性、高可靠性、极其廉价等优势吸引着越来越多的中小企业上云。中国信通院的研究报告显示,2021-2023年,中国云计算年均增速在30%以上。到2023年,中国云计算市场规模预计将接近4000亿元[1]。2019年12月以来,新冠疫情的暴发和迅速蔓延,使企业广泛实施远程工作的需求越来越旺盛,进一步催化了企业上云的速度。以云计算作为IT基础架构,已经成为企业转型发展不可逆转的趋势。
云迁移是指帮助企业的应用、数据从本地迁移到云端或者从一个云平台迁移到另一个云平台的业务。在云计算市场规模不断扩张的大背景下,云迁移的需求将越来越大且不断发生变化。目前,我国中小企业占全部规模以上企业总数的比例超过90%,是国民经济和社会发展的生力军[2],对其云化迁移的探究具有很强的现实意义。
1 云化过程面临的风险和挑战
1.1 环境复杂多样
中小企业的信息化系统建设往往经历了多次升级、改造、扩容的过程,迁移前的网络环境较为复杂,相互通信的众多节点包含自建或租用机房的物理服务器、虚拟机,还有物理的交换机、虚拟的交换机,以及部分承载新上线业务的云主机、云环境。在由物理环境、虚拟化环境、云环境构造的异构混合环境中,又运行着不同的操作系统、数据库、中间件以及应用程序,IT架构有竖井式与分布式,系统关联关系有紧耦合与松耦合两种方式,诸如此类的因素造成迁移环境复杂多样,增加了迁移的难度。
1.2 网络安全风险
为节约成本,中小企业上云的模式绝大多数选择价格低廉、扩展性好的公有云。原有的网络环境通常是基于边界构筑企业的网络安全防线,云计算的引入,尤其是多用户共享资源的公有云部署,打破了传统的基于区域的安全模型,带来了身份验证、访问控制、数据隐私等一系列新的安全挑战[5]。企业需要通过不安全的公网访问存储在云平台的多个数据集,因此网络攻击者的攻击范围正在逐步扩大,进一步增加了网络安全方面的风险。
1.3 业务延续性风险
企业的核心业务或正在提供线上服务的数据要求在整个迁移过程中不停机,服务不受影响。而在实际迁移过程中,有可能因为网络链路带宽资源不够、迁移平台或工具出现异常等各种不可控因素造成业务中断或数据丢失。即使是允许在停机状态下进行离线迁移的业务,也有明确的迁移时间窗口限制,如果超时必然会影响企业的正常运营,影响业务的延续性。
1.4 业务可用性风险
云服务的系统架构,本质上是云服务提供商将部署在数据中心的硬件上分散孤立的物理服务器、物理存储设备、网络带宽等资源,在逻辑上整合构建为一个大规模的统一资源池,以Web Portal或者API的方式向用户提供按需分配与释放的基础设施资源。在通常的云服务中,这些资源是由多个用户共享的,能满足大多数的应用场景需求,但是对于一些核心数据库、大数据、高性能计算等高性能、高稳定性的特定应用场景,显然会在性能方面有所折扣。
结合生产实际,以下应用场景上云将会影响系统的可用性。(1)对性能和网络要求高的应用,如平均使用率高于70%的双处理器系统或平均使用率高于45%的四处理器系统,以及平均网络带宽高于600Mbps、平均IO高于50M/s、内存占有8GB以上的应用;(2)一些特殊应用系统,如运行CAD、CAM等工程设计应用程序的系统,Oracle、DB2数据库集群等大型数据库系统;(3)需要特殊硬件支持的应用,迁移后将无法正常启动。
1.5 规范制度不健全
云计算技术从诞生之日起就伴随着法律上的争议,法律的滞后和技术的前瞻之间的矛盾普遍存在[6]。云计算中存在三种不同的服务模式,虽然通过互联网整合成了一个整体,但其内部仍然是按照分层模式管理。因不同的层次均有自己的技术规则,其对应的法律规则也存在差异。存储在云上的数据,时刻都在各个服务器间转移,一旦发生纠纷,涉及的数据位置难以确定,因此产生管辖困难。云服务的参与角色较多且责任界限不明晰,云服务提供商通常会将某些云服务分包给第三方,第三方与数据主体并无直接合同关系,在用户未知晓的情况下按照分包合同的要求将数据主体的数据存储于多地,用户或云服务提供商对数据存放地法律的特殊要求并不知晓,带来了潜在风险。云环境的复杂多变,无形中加大了制定规范体系的难度,而与云计算相关的国家标准、制度、法规等尚未得到成熟建设。
2 云化迁移方案
云化迁移的范围很广,包括将传统业务迁移到自建或租用私有云上、将公有云上的业务系统迁移到自建私有云上、将业务系统进行改造成原生云应用等。但是对于大多数中小企业而言,最常见的是将应用系统迁移到阿里云、腾讯云、天翼云等云服务提供商为用户提供的免费或低成本的公有云上。
云化迁移的类型,根据迁移的内容与层次不同,可分为应用级、文件级、系统级和存储级;根据不同的场景又可划分为自助迁移、标准迁移和定制迁移。自助迁移适用于用户可自主完成的较为简单的单业务系统,如门户网站、简单Web应用、流量较小的网站、邮件系统、文件服务器等。标准迁移为在线数据迁移,需要将正在提供线上服务的数据进行迁移,整个过程要求服务不受影响,访问用户零感知。定制迁移适用于双机高可用、应用集群等较为复杂的业务架构场景,前期需要经过详细的调研及反复论证,根据具体情况,设计定制化迁移解决方案。标准迁移和定制迁移通常需要专业的技术力量提供迁移方案和迁移服务。
云化迁移总体方案要从基础设施、技术、IT流程、人员组织四个维度进行综合考虑,分为项目评估、方案涉及、迁移实施、验证及回退四个阶段。
2.1 项目评估
在项目评估阶段,项目的甲乙双方应当充分沟通,明确上云的实际需求、项目预算、时间窗口等,进行项目可行性分析,判断应用系统是否具备迁移的基本条件,目标是要决策是否迁移以及迁移多少业务量。
(1)使用工具对拟实施对象展开全面的信息收集,准确记录正常负载状态下CPU、内存、网络带宽、存储IO等指标以及应用系统的组件数据,以免发生遗漏;(2)开展业务调研,设计业务系统IT现状分析和迁移风险及业务关联的调研表,梳理应用列表以及业务需求和IT需求;(3)基于前期数据采集和业务调研,分析系统工作负载虚拟化的可行性;(4)进行应用系统关联关系分析,给出后续整合与迁移的建议,力求实施后对业务的影响降至最低。其中,最关键的工作就是现状梳理与应用系统关联关系分析。
梳理的过程需要对将要迁移的相关涉及模块进行全面梳理和评估。首先,应以业务应用为主线,梳理当前生产环境组成模块,明确定出目标云环境的组成模块。其次,基于迁移所涉及的相关模块,确定关键服务或服务组。在完成模块与服务梳理的基础上,再对组件进行梳理,梳理各种IT组件通过一定的连接方式来支持一个或多个IT服务,确定所有内部配置和外联接口。
基于对当前现状的梳理,制定IT系统逻辑拓扑图,理清现有应用系统、子系统之间的输入输出关系和耦合关系,并明确硬件、软件、系统之间的关联关系。
2.2 规划设计
规划设计应当“稳中求优”,首先要保证系统云化迁移后的整体可用性,在此基础上基于云计算架构,充分发挥云计算快速弹性等优势,规划目标云架构,进行优化设计。
保证系统的可用性,要从容量、迁移、策略、性能、预案等方面进行细致的规划。容量方面,要对VM规格,即CPU、内存、存储分配进行规划,并根据当前应用的负载数据结合业务发展情况预测模型,估算出未来容量变化的趋势。迁移方面,根据应用部署策略对迁移前后的系统配置和网络环境进行规划。策略方面,根据实际场景选择逻辑迁移或物理迁移,迁移技术采用离线迁移与在线迁移相结合,灵活选择以下迁移策略[7]。
(1)重新托管。
最快速直接的迁移策略,即不实施任何云优化,在对应用程序运行环境不做改变的情况下将系统和数据进行迁移,适合于快速上云。
(2)重建平台。
在不改变应用核心架构的前提下,对应用程序进行简单优化、修复后再进行迁移,如用云平台的数据库服务、消息队列服务、负载均衡服务、云安全服务等云产品来替代原系统中的传统数据库、中间件、安全产品,从而降低部分管理成本,提高效率。
(3)重新购买。
放弃使用原有产品,采购同类型的SaaS产品来进行替换。启用云计算SaaS服务模式软件,极大地降低了中小企业信息化的门槛,节省了大量技术及运维成本开支。随着SaaS的B端产品不断丰富和成熟,该策略的使用将越来越广泛。
(4)重新构建。
重新构建应用的架构和开发模式,通常使用云原生的应用服务实现,如从单体式架构向微服务架构、Serverless架构进行转变,增加业务的灵活性,降本增效,提升业务的价值。
(5)停用。
对各业务进行梳理评估后,通常会发现部分应用程序使用率极低或产品已进入衰退期不再创造价值,应该对数据进行必要的备份归档后采取停用止损的策略。
(6)保留。
若部分应用暂时不具备上云准备,或经分析评估后确认更适合在本地部署,应当根据业务发展的实际需求,保留现状。
选取适当的迁移策略能达到改进优化的效果,提升迁移后的应用性能。云化迁移的过程存在风险,应当对各业务系统制定详细的应急预案和回退计划,保障业务的延续性。此外,从项目管理的角度,还需要制定迁移验证方案、迁移计划、迁移流程及职责分工。
2.3 迁移实施
迁移实施的第一环节为迁移演练,一方面让项目团队熟悉操作流程,准确预估各迁移任务的时间,检验分工协调机制;另一方面对应急预案、业务验证方案等进行测试和完善。第二环节为运用迁移平台和工具,按系统的重要性从小到大进行分批次迁移,对主机状态、迁移进度、应用监控状态进行持续监控,尽量降低风险。实施过程中,要注意限速迁移,避免数据传输占用过高的业务带宽,影响业务正常运行。其次,为保证数据的完整性和安全性,对重要系统需提前进行容灾备份,同时可根据隐私保护要求选取AES256等加密算法对其数据进行加密传输[8]。
2.4 验证及回退
若迁移过程出现异常,对业务产生较大影响,应中止迁移操作并执行回退。
迁移完成后,先按照迁移验证方案进行验证,验证无误再进行业务割接,并对业务开展试运行。在试运行期间,持续跟踪,及时发现并解决试运行中出现的问题,确保整个切换过程平稳过渡。
3 结语
云计算为企业的数字化转型、降本增效提供了有力的支持,越来越多的中小企业将其应用系统进行云化迁移以推动业务增长,云迁移服务的重要性日益突显。本文结合中小企业IT系统的实际情况,分析了云化迁移过程中可能出现的风险和挑战,详细探讨了云化迁移的方法和过程,希望对中小企业云化迁移项目起到促进作用。