BLACKFLAG,某国有银行数据中心高级工程师、专家团队成员。从事过软件开发与项目管理、系统运维与管理、异地数据中心系统搬迁、私有云资源池架构设计与实施部署、公有云架构设计及实施部署等工作。参与过银行业信息科技十三五发展规划编制,银行信息科技自主可控方案编写等,有十分丰富的专业技术、团队管理经验以及开拓的金融科技视野。
本文主要介绍了企业(尤其是传统企业)上云的意义、难点,以及上公有云、私有云、行业云还是集团云等方向上选择和采取的策略,给出了云计算的架构以及资源池、云服务、云管理的关系及实现的要点。最后,简要讲述了在上云过程中需要考虑的内容,如组织架构、云化策略、推进计划、数据迁移,直到最后应用切换上线。
2018年8月,工业和信息化部近日印发《推动企业上云实施指南(2018-2020年)》,提出到2020年行业企业上云意识和积极性明显提高,上云比例和应用深度显著提升,云计算在企业生产、经营、管理中的应用广泛普及,全国新增上云企业100万家,形成典型标杆应用案例100个以上,形成一批有影响力、带动力的云平台和企业上云体验中心。鼓励各地加快推动开展云上创新创业,支持各类企业和创业者以云计算平台为基础,利用大数据、物联网、人工智能、区块链等新技术,积极培育新业态、新模式。
随着云计算的蓬勃发展,各个企业开始纷纷入云,但是在入云的道路上各自不同,根据企业的规模、技术特点、保密性的要求等,可选择的有公有云、私有云、行业云、混合云、集团云等等。
本文主要讲企业在上云的过程中的一些要点,从为什么要上云、怎么上云、都有哪些考虑点、云上有什么样的技术,最后提供了上云实践的必要过程。
企业的基础架构从传统的烟囱式部署专项云端部署,基于云计算平台的解决方案,已经成为企业管理者满足其业务战略的需求,快速实现其收益和效率的最聪明和最无缝的方式。
云计算服务为公司提供了巨大的优势和工作量转移:IT部门不再需要购买、部署和维护内部的计算硬件和软件,可以通过云服务快速、容易地建立起来,无需IT人员参与就能根据需要进行扩展,并且会自动更新到最新版本。简而言之,云计算极大地简化和降低了IT服务提供的复杂性和成本。数字经济已经成为发展趋势,各企业都在进行或准备进行数字化转型,而上云则是企业数字化转型的起点。
企业上云,主要有以下几点原因:
大中型企业的IT基础设施,一般都有比较重的历史包袱,如应用系统为部门级而非企业级、数据割裂且格式不统一、烟囱式部署架构、无法按需扩展性等等,因此企业上云,主要有以下几个难点:
企业上云,根据自身的特点,选择上云的方向,既要满足监管的要求、企业的需求,也要考虑自身能力,切不可能盲目跟风,选择与自身实力不匹配的方向,可以从以下几点考虑:
企业上云分为基础设施上云、业务系统上云和基础平台上云,在本文中主要以基础设施上云为主论述。
企业的IT基础设施主要包括机房、计算设备、存储设备、网络设备以及一些配套的安全(如DDOS、IDS等)、终端等,上云最主要解决的就是在这些领域都采用什么技术、怎么实现云化基础设施。
计算领域:可以采用vmware、kvm、xen、PowerVM等虚拟化技术以及docker等容器技术,提供IAAS、PAAS的服务。
存储领域:可以采用ceph等开源技术以及众多厂商提供的如vsan、FusionStorage等分布式存储技术,实现软件定义存储SDS、
网络领域:可以采用NFV、SDN等技术实现软件定义网络。
办公终端领域:可以采用ctrix等桌面虚拟化实现桌面的云化管理。
企业的业务系统在上云时不一定要齐步走一起上云,需要分批分步骤根据实际情况一步一步上云,分几种策略:
那么,在上云的过程中,需要考虑哪些应用系统能够上云,哪些系统不上云,简单来说:
重负载、IO高、响应时间要求高的系统不适合上云,笔者所在的企业在做系统搬迁时,ODS(操作型数据存储)系统的AP服务器在物理机上部署时,跑批时TPS可以达到1000左右,但是部署在虚拟化环境后TPS下降到300左右,跑批时间延长3倍左右,已经不能满足业务要求,经查是由于程序在写文件时,直接写盘和写经过vmware文件格式VMFS后磁盘时存在速度上的差异,导致TPS下降,采用物理机直接部署后问题不再重现,于是放弃了上云,还是采用物理机部署。
业务系统上云,不是为了上云而上云,最重要是要能够发挥出云的特点,达到Cloud Native(原生云)的效果,实现CI/CD,devops一体化敏捷管理。要实现系统的敏捷部署、弹性扩展、动态迁移、故障自愈、数据更加安全可靠等,就需要系统在上云前做相应的改造或者开发新的业务系统来代替原业务功能,该如何做呢?主要从以下方面考虑:
除了基础设施及业务系统,对于一些通用的基础平台,如大数据、区块链、物联网、人工智能都是上云的方向,并且是未来的主流方向之一,不必重复建设复杂而又庞大的平台,直接使用云上的大数据、区块链、物联网、人工智能等服务,更好的为业务服务,开发更多的业务场景,提升资源使用效率,获得更高的利润。
云计算最基础的是资源池,涵盖计算资源池、存储资源池、网络资源池等,计算资源池又分、X86虚拟化资源池、X86数据库资源池、POWER资源池、Mysql/Redis资源池、大数据资源池、GPU资源池等等,主要有以下几类:
1、 X86虚拟化资源池。以vmware esxi、kvm、xen等技术为主,私有云采用vmware较多,公有云及行业云等主要以kvm技术为主;
2、 小型机资源池。以PowerVM为主,主要采用Power虚拟化技术;
3、 裸金属资源池。为用户提供裸金属服务器,满足部署不适合做虚拟化部署的需求,主要以X86服务器上安装Oracle RAC、Mysql、以及应用软件等;
4、 大数据资源池。部署大数据类基础软件,存储、计算大量数据,挖掘数据价值。
资源池需要部署到实际的网络区域中,比如传统的金融企业一般会分为几个区域:
云计算最基础的是资源池,涵盖计算资源池、存储资源池、网络资源池等,计算资源池又分、X86虚拟化资源池、X86数据库资源池、POWER资源池、Mysql/Redis资源池、大数据资源池、GPU资源池等等,下面我们以使用最多企业内部使用的私有云X86虚拟化资源池和Power数据库资源池为例,大致说明资源池的架构。
X86虚拟化资源池
某企业采用的X86虚拟化资源池,以CDP(云部署单元)为单位,每个资源池可以包含N个CDP,每个CDP包含3个独立的集群,每个集群包含16台X86服务器和1台NAS(做root盘),保证各条通路的相对独立性,避免生产故障蔓延,应用的部署单元以3的倍数部署,保证高可用。这个架构的高可用性是很高的,基本从底层、网络、服务器、板卡、接线等硬件层面到上层的应用部署都考虑到了,运行六七年来未发生过生产事故,资源池物理部署图如下:
典型的应用场景示例:银行:除核心、前置等最重要一二十套系统以外的数据库、应用等;政府:除几套关键系统外,其他数据库、中间件服务器整合;企业:ERP、数据库服务器整合。
我们常说的云计算的云服务主要分为三种:IAAS、PAAS、SAAS(随着发展衍生出很多种XX即服务,最基础的还是这三类)基础云服务。
IaaS: Infrastructure-as-a-Service(基础设施即服务)。提供给消费者的服务是对所有计算基础设施的利用,包括处理CPU、内存、存储、网络和其它基本的计算资源,用户能够部署和运行任意软件,包括操作系统和应用程序。主要指为客户提供安装了最基础的OS的虚机/物理机,提供最基础的计算能力。
PaaS: Platform-as-a-Service(平台即服务)。提供给消费者的服务是把客户采用提供的开发语言和工具开发的或收购的应用程序部署到供应商的云计算基础设施上去。通俗说就是安装了weblogic、tomcat、mysql中间件或数据库产品的虚机/物理机,可以直接供客户进行软件部署或者开发/运行环境搭建等。
SaaS: Software-as-a-Service(软件即服务)。提供给客户的服务是运营商运行在云计算基础设施上的应用程序,用户可以在各种设备上通过客户端界面访问,如邮件系统、CRM客户管理等。消费者不需要管理或控制任何云计算基础设施,包括网络、服务器、操作系统、存储等等。
在企业内部IT基础设施云,我们一般的关注点在IAAS和PAAS,为企业业务系统提供快速、弹性、敏捷、高效的基础设施服务。如下表是常见的IAAS及PAAS服务:
除了传统的IAAS、PAAS、SAAS服务,还可以考虑发展更高级的云服务,如云数据库RDS、分布式缓存、函数调用、云应用市场、GPU、物联网、人工智能、机器学习等云服务,甚至可以使用serverless云服务。下面主要介绍一下RDS及物联网、人工智能的云服务。
云数据库RDS
云关系型数据库(RDS)是一种稳定可靠、可弹性伸缩的在线数据库服务,支持MySQL、SQL Server、PostgreSQL、MariaDB等引擎,并且提供了主从热备、容灾、备份、回档、恢复、监控、快速扩缩容、迁移等方面的全套解决方案,无需DBA过多干预就可以快速提供数据库服务。
如下图是一个典型的RDS云数据库的架构:
物联网
物联网(The Internet of things),是在“互联网概念”的基础上,将其用户端延伸和扩展到任何物品与物品之间,进行信息交换和通信的一种网络概念,是信息科学技术产业的第三次革命。下图是物联网的四层架构,主要分了感知层、传输层、平台层和应用层,其中,感知层是物联网的底层,是物联网应用和发展的基础。利用RFID技术、传感等技术,实现对物理世界的智能感知、识别及控制等。物联网的传输层分为有线传输和无线传输,无线传输可按距离分为短距离传输和长距离传输,主要讲述无线传输。物联网的平台层分为四大平台,分别为连接管理平台(CMP)、设备管理平台(DMP)、应用使能平台(AEP)和业务分析平台(BAP)。平台层用于数据的分析与处理,后应用于各个行业。
人工智能
人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。
人工智能的云服务可以分为很多种,如智能语音识别与交互、人脸识别、图像识别、自然语言处理、机器学习、数据可视化等。
人工智能的技术可以应用很多很广的场景及业务,不仅限于业务,人工智能技术也应用在了银行IT运维工作中,如数据中心的智能化运维AIOPS,使用海量运维数据,发展智能运维,自动发现问题、分析问题、处理问题,达到系统故障自愈,还可以利用态势感知,对故障进行预测等。
Serverless
未来的应用应该是不依赖于底层的虚拟机,而是建立在一些serverless的云服务之上,例如开发一个应用,直接使用云上的负载均衡,调用云上的身份认证,使用云上应用市场的服务,把数据存放在RDS中,然后用云监控进行故障分析,用服务治理进行相关的服务监控及调优,使用devops提升效率…这种云模型的高级使用,彻底抛弃了自行申请操作系统并安装中间件数据库的方式,也是应用上云的架构改变。
serverless架构主要包括BaaS(后端即服务:Backend as a Service)和Faas(函数即服务:Functions as a Service)这两种架构,他们没有一直运行的定制服务存在,不占用服务商的计算资源,同共享单车有些类似,是计算机分时租赁方式,按次按时计价。
Serverless主要的优势是低运营成本、简化设备运维、提高可维护性、更快的开发速度。缺点是目前还少有大型成功案例,无法适应所有的场景。
企业上云后,系统的安全性会集中暴露出来,不管是网络安全,还是数据安全的维度,还是监管安全、企业风险安全的维度,同时云的技术特点决定了云上的安全与传统安全的区别。
考虑云计算安全,首先要满足企业所在行业对信息技术安全的要求,如监管部门对金融业的要求,必须满足信息安全技术网络安全等级保护中第3级(即等保3级),部分核心系统甚至要满足等保4级的要求。
下面是云安全所需要考虑的简单的云计算安全框架,可以从几个方面来考虑云安全:
基础设施硬件安全主要包括:
机房安全:
顾名思义,机房安全主要考虑承载云计算的IDC机房的安全管理,涵盖region、az地点的选择、园区/机房的风火水电安全等,如机房供电要来自多个供电公司的独立变电所,防止数据中心全局性的单路供电全安全,为防止极端情况突然停电,还要有UPS短期不间断为设备供电,以及柴油发电机,应对长时间断电场景等。
网络安全:
网络安全主要考虑网络服务要来自多个运营商、多条线路,防止网络中断等;外部、内部所有的网络连接、网络接入都要有多线路冗余,能够在单链路中断服务网络服务不间断等。
设备安全:
关键功能的设备应采用高可用配置或采用其它技术手段使该功能不存在单点故障,设备应支持设备运行状态和资源的监控功能并支持在发生异常情况时发出告警;关键业务集群主机应跨机柜、跨机房或跨数据中心高可用部署等。
云计算软件安全主要包括虚拟化软件、云管理平台、IT服务管理等软件的安全,也包括各类资源池的安全,如计算资源池、存储资源池、网络资源池等。
基础软件安全
基础软件应从多个方面保证安全,如应确保接口之间进程调用通过认证;应具备内核补丁检测、加固及防止内核提权的能力;应保证用户接入云管理平台通信的保密性和完整性,应具备对基础软件漏洞及时发现并修复的能力等。
计算资源池安全
计算资源池安全主要包括虚拟化软件的安全(如版本的选择,补丁、漏洞的修补等),资源池的管理上要有身份鉴别、安全控制、安全审计、入侵防范、恶意代码防范、镜像和快照的保护等。
存储资源池安全
存储资源池同样包括存储软件的安全,以及管理上的安全等,如多层级访问级别控制和跨物理集群账号权限管理,要有数据的异地备份和备份数据一致性的能力,多租户间数据隔离的能力,多副本、加密、安全传输、故障自动恢复、数据快速恢复等能力。
网络资源池安全
网络资源池安全主要考虑网络架构安全以及访问控制、安全审计、恶意防范、恶意代码防范等安全内容,如虚拟网络全冗余设计,保证无单点、提供应用负载进行弹性扩容的能力,在流量波动情况下也不中断对外服务,VPC隔离能力、网络流量监控、隔离能力等
主要包括IAAS服务、PAAS服务、SAAS服务的安全,其中重点的包括一些所选用软件的安全管理、数据安全、应用安全等,这里主要讲讲数据安全及应用安全方面。
数据安全
数据是企业信息科技的核心资产,核心数据一旦丢失、泄露、被篡改、被删除将会对企业造成很大的损失,其安全性非常高。数据安全主要考虑数据在产生、传输、存储、访问、迁移、销毁、备份和恢复这些环节的安全性,如数据要分类标记、存储、保护,传输过程要加密、防范被破坏等,数据出生产区域要脱敏,控制数据访问权限,数据要定时备份、异地存储、验证恢复等。
应用安全
应用安全主要考虑管理软件及业务SAAS软件的安全性,要有代码后门审查的能力以及对代码打包和发布进行管控的能力,要能够防范篡改、代码注入、DoS/DDoS攻击等,要有完善的交易日志、错误日志等,具备、黑白名单访问、应用访问异常情况进行监控识别的能力等。
安全的管理是一个比较大的课题,从宏观方面主要包括安全策略和制度、机构和人员安全管理、安全系统、安全运维等。
在云计算中,安全也可以作为服务存在,安全即服务,将一些安全制度、安全策略通过建模、抽闲、归纳最终可以形成一些安全的应用系统和安全的组件,提供直接的安全场景服务或者供其他系统调用实现安全管理。
如某银行在私有云建设过程中,基础设施安全服务层实现了终端安全、系统安全、网络安全、云安全等多个安全服务,应用安全服务层实现了用户认证、客户认证、密码服务、数据安全、安全监控等多个安全服务,形成企业级一体化的策略管理,对整个框架进行管理,各层服务进行管控,落实安全策略、安全管控要求,最终实现企业级、统一的、涵盖多维度的安全管理。
企业上云工程比较复杂、繁琐,可能需要从企业的价值链分析、建模,到业务流程的重构,再到应用系统的适配云化开发,再到基础设施的云计算环境构建,一环扣一环,需要上层领导重视、中层主导、下层实施,建立一体化的推进组织,才能更好的完成云化建设。
根据不同的系统实际情况,实施不同的策略:
业务重构、系统新建。业务流程完全重构,开发新的业务系统,采用新的技术上云。
业务不变、应用改造。业务流程不变,应用部分做改造,适应云化基础设施后上云。
业务不变、包装上云。业务流程不变,应用基本不变,基础软件升级或替换后上云。
业务不变、系统不变。暂不上云,待系统被代替自然消亡。
项目管理办公室(PMO)制定整体计划,并负责推进执行,并协调各方资源、职能处室、厂商等共同根据计划推进。
基础设施根据云计算整体规划、资源池方案、实施工艺、系统资源需求清单等,构建云计算资源池、供给资源,提供应用系统上线基础环境。
根据老系统需求,做数据清洗、转换、迁移进入新系统环境,可以使用数据库迁移(如ADG、mysql主从同步等)方案、存储同步方案(NAS、SAN等)、工具迁移方案进行数据迁移工作。
最终,应用系统完成上线前的部署、技术测试、业务绿灯测试,将业务切换至新系统运行,可能涉及到多系统联合上线,并做好上线失败后的回退方案。
上线保障
上线过程中,需要提供人员、车辆、通讯、工位、办公场地、食宿等后勤保障工作
网络切换
包括网络访问关系开通、DNS切换等网络切换工作
平台切换
包括操作系统、数据库的启动、运行正常,保证搬迁环境的系统部署一切正常
应用切换
包括外部关联应用系统的切换(如指向原对外服务IP要改为指向新对外服务IP)、本应用的切换(停止原系统应用、启动新应用,新应用对外服务)等等
业务验证
做完应用切换后,需要技术人员及业务人员做好业务验证工作,保证业务切换成功
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞25
添加新评论7 条评论
2020-04-13 22:30
2019-08-18 16:10
2019-06-14 10:13
2019-06-09 16:12
2019-06-06 15:03
2019-06-03 15:30
2019-05-29 17:17