范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

对企业IT系统全部迁移公有云的演进路线思考

  作者:人月神话,新浪博客同名
  简介:多年SOA规划建设,私有云PaaS平台架构涉及经验,长期从事一线项目实践
  今天重点是整理和思考下对企业IT系统全部上云的一些关键点思考,当然IT全部上云本身也是云原生解决方案要解决的一个重点内容。对于企业遗留系统迁移上云是一个相当复杂的主题,一篇文章肯定无法讲清楚,包括我自己也需要在整理过程中进行相关内容学习和细化。
  因此对于这个主题本身我也会逐步整理多篇文章来分享。云原生概述
  对于Cloud Native翻译为云原生,是Matt Stine提出的一个概念,它是一个思想的集合,包括DevOps、持续交付(Continuous Delivery)、微服务(MicroServices)、敏捷基础设施(Agile Infrastructure)、康威定律(Conways Law)等,以及根据商业能力对公司进行重组。
  Cloud Native既包含技术(微服务,敏捷基础设施),也包含管理(DevOps,持续交付,康威定律,重组等)。Cloud Native也可以说是一系列Cloud技术、企业管理方法的集合。
  在一般用法中,"云原生"是一种构建和运行应用程序的方法,它利用了云计算交付模型的优势。"云原生"是关于如何创建和部署应用程序,和位置无关。 这意味着应用程序位于云中,而不是传统数据中心。
  CNCF给出了云原生应用的三大特征:容器化封装:以容器为基础,提高整体开发水平,形成代码和组件重用,简化云原生应用程序的维护。在容器中运行应用程序,并作为应用程序部署的独立单元,实现高水平资源隔离。动态管理:通过集中式的编排调度系统来动态的管理和调度。面向微服务:明确服务间的依赖,互相解耦。
  实际上我们看到对于完整的DevOps是包括了持续交付方面的内容的。因此对于云原生的概念完全和我前面经常谈到的微服务,容器化PaaS和DevOps相吻合。
  即云原生 = 微服务+ DevOps + 容器化PaaS
  在传统的PaaS平台阶段,我们看到更多的是实现中间件资源池,应用托管和中间件资源的自动调度。但是对于业务系统来讲可能仍然是大的单体应用,同时每个业务系统本身还有比较重的底层技术平台,依托于一个技术开发框架。
  而在这种情况下业务系统要实现敏捷,高效的到云环境的交付并不现实。
  也正是这个原因,在云原生下更加强调两点内容:其一是原有的业务系统要进一步微服务化拆分,变成更加细粒度的组件化单元其二是业务系统中和业务无关的内容要 全部下沉到平台层构建
  当满足以上两点后我们构建业务系统更加容易实现面向公有云服务环境的持续集成和交付能力。其中核心底层技术是容器化PaaS,小而灵活,而且具备编排属性和能力,传统应用架构通过微服务化后变得足够小而自治,方便进行敏捷开发和迭代,快速的交付和响应,同时也方便部署和托管到容器中。
  软件因云而生,即云原生,需要的就是上面三者的密切配合来完成。
  综上所述,我们可以进一步将企业IT系统架构或者说平台+应用的分层架构演进体系分为三个阶段来理解。
  最初可能仅仅是实现虚拟化资源池,实现IaaS平台层统一。在这个时候业务系统构建仍然是烟囱式的构建模式,每个业务系统底层有比较重的中间件和平台,业务系统是一个大的单体应用,内部各个业务模块仍然没有完全解耦。
  第二阶段即我们常说的私有云PaaS平台建设阶段,在这个阶段进一步实现中间件资源池,也会做类似4A,流程引擎平台的整合和统一。业务系统逐步朝组件化开发过渡和解耦,但是业务系统内部仍然存在技术平台和技术支撑。
  第三阶段实际上有几个大的变化,首先就是PaaS云平台从传统比较重的类似Cloudfoundry,Cloudify已经过渡到更加轻量高效的容器云平台,同时大量技术服务能力共性化建设。其次是业务系统彻底实现微服务架构化和解耦。那么在上层微服务设计,开发,部署和交付过程如何与底层的容器云平台,技术服务平台进一步协同?这里面就是我们常说的DevOps过程支撑平台。
  而容器云+微服务+DevOps持续交付刚好就是当前主流云原生的核心。
  从资源到服务-关键思维的两次转变
  图片来源网络
  当我们谈到云计算或云原生的时候,一定要转变一个关键思想,就是从拥有资源到享受服务。那么如何理解资源和服务,简单来说如下:资源本身是一个能够看得见实体或虚拟实体单元服务则是一种能力价值体现
  对于消费者或用户来讲,一定要搞清楚你需要得服务还是资源,你拥有了资源当然你能够获得资源提供得服务,但是你本质可能仅仅是需要服务而已。比如我想吃鸡蛋,我并不需要一定要去养一只鸡。我需要部署我的IT系统,我并不需要一定要买一台服务器回家。
  即我们大部分时候都仅仅需要的是资源提供的服务能力,而不是真正需要拥有这个资源。对应到IT系统建设,很多人感觉就是我必须买一台服务器回家,这个资产是我的,心里才放心。但是却没有想到服务器购买回来后涉及到机房,运维,用电等一系列其它成本投入。
  第一阶段-购买云主机和存储
  对于大部分企业来说,上云的第一阶段都是购买大量的云主机和云存储,然后迁移和部署自己的数据库和应用程序。
  但是我们要意识到在这个阶段虚拟机仍然是资源,只是从物理资源变为了逻辑资源。
  当你仅仅购买资源的时候,你会看到:
  对于你在虚拟资源上部署的数据库或应用,后续的运维监控,后续的资源扩展,应用安全,冗余和可靠性等很多问题仍然需要你自己去解决。
  简单来说,就有点类似于装修房子一样,我本来可以提供交钥匙的全套服务能力,但是你却要自己买原材料自己去装修和组装。
  第二阶段-真正从IaaS层资源到PaaS层服务
  理解这点,是我们全面切换上云的一个关键内容。即在云原生状态下的上云,更多的要从对资源层的关注转变到对服务层的关注。
  我们可以举例说明如下:你原来是购买虚拟机装HA数据库,而新思路是直接购买数据库服务你原来是买虚拟机搭建集群,新思路是直接购买容器云集群服务能力进行托管部署
  也就是说转变到服务阶段后,云平台提供的一切能力都是服务,你不要再去关心底层的物理机,虚拟化资源,而是仅仅关注服务即可。
  云平台运营方来保障提供服务能力的可靠性,安全和弹性扩展能力。传统IT系统迁移上云方式和问题
  在这里,我们将通过购买云主机,云存储和网络带宽的方式,自己搭建数据库和应用环境,并将企业内部IT系统迁移上云环境统称为传统方式。在这种方式下基本仍然停留在虚拟资源使用和消费上,最多也就是会再购买些类似集群,CDN内容分发服务等。
  前提建议-去IOE
  对于传统IT系统的上云,建议前提首先去IOE,即自己IT系统的构建不再使用类似Oracle, Weblogic,SAN存储等商用的数据库和存储。而是基于去IOE的思路进行开源化的改造,比如我们常说的Mysql数据库,Tomcat容器等。
  如果用商用数据库,后续涉及到的License和费用问题都很难去解决。
  包括现在我们看阿里云提供的数据库服务,商用的数据库只保留有Sql Server数据库,其它全部都是开源数据库或阿里自研的数据库服务。
  云环境的高可靠和高扩展问题
  在这种场景下,整体云环境的IT基础架构和部署架构由你自己去设计,你需要去考虑整个架构的冗余和高可靠性。同时在这种场景下,整个基础架构不具备自动扩展能力,当你发现应用无法满足业务需求的时候,往往都是需要你手工申请新的计算和存储资源,然后进行扩展配置。
  比如你采用Mysql数据库
  你一开始就要规划是否采用读写分离集群,还是双主+读写分离集群。同时要确认可以在资源负荷大的时候,申请虚拟机资源实现读集群节点的自动化扩展。这些都需要你提前考虑清楚,否则最终切换上云环境后,你的整个DB将没有集群扩展能力。
  同时对于数据库数据的安全和备份你也需要考虑,对于关键数据你自己还需要进行额外备份,防止数据丢失,也确保关键数据能够及时的恢复。
  再比如你的中间件集群
  你也需要考虑清楚你的集群部署方式,是否需要配置独立的集群管理节点,还是说每台服务器都自己手工去部署,然后再配置到类似Nginix的集群服务上。这些内容也得提前规划好,在你只购买虚拟云主机的情况云服务商不会去帮你考虑这些问题,而是需要你自己去解决。
  自然,当集群性能无法支撑高并发时候,你也只能是手工再申请资源,配置集群节点来进行扩展,而很难做到资源自动化的弹性扩展。
  各类技术服务组件的提前规划和部署
  如果你自己的应用系统使用到类似消息中间件,流程引擎平台,各类开源技术组件,自己定制的技术组件服务等,这些都需要提前规划好并完成部署。在整个应用迁移前,你需要确保这些技术服务组件都已经独立部署好,并且能够单元测试通过。
  强烈建议所有的技术类组件在独立部署完成后都需要进行全测试场景的单元测试和验证,以确保技术组件部署的完整性,同时也有益于在技术组件部署完成后出现问题的排查。
  当然整个IT架构里面,技术组件你自己去部署和管理,那么对于单个技术组件本身的高可靠性,可扩展能力,通用需要你自己去规划和考虑清楚。从资源订购到服务订购
  即使你的IT系统还没有进行微服务架构和面向云原生的改造,我们仍然不建议你完全采用购买云主机的方式切换上云,即在这种模式下你后续要过渡到云原生阶段同样会相当大的工作量。
  从通用资源到个性化服务
  对于类似亚马逊,阿里云,华为云,腾讯云等各个大的云服务商可以看到。
  对于云主机和云存储层面,各家的产品和服务都大同小异,基本都是标准化的云主机产品。也正是这个原因你可以看到,如果你原来应用部署在阿里云,如果你阿里云服务不满意,你可以很容易快速的切换到华为云。由于底层都是标准的虚拟机,仅仅是应用和数据迁移的工作量,对于应用程序本身并不需要做修改。
  而当从资源层到服务层后
  你可以看到各家公有云服务商提供出来的中间件,技术服务能力就出现了大的差异,即使阿里和华为云都提供MySql的数据库服务能力,本身在服务能力的底层构建模式,扩展性,包括数据库服务的接口,DB连接的使用上都可能存在个性化的差异。
  特别是阿里云各类技术服务,经常会出现各种个性化的封装和定制。
  因此,如果你整体上云规划已经认定了某一个云服务商提供的服务能力,那么你不需要考虑后续云平台的替换问题。否则你在实施和订购服务的时候,必须考虑到云服务兼容性。
  思考点1:考虑数据库和存储的服务化
  在遗留IT系统迁移上云的时候,我们优先需要考虑数据库的服务化。
  如果你原来用的是Mysql数据库,你可以考虑采用阿里云的Mysql云数据库,这个数据库本身也是一种双Master+读写分离集群结构。后续很容易去做读节点的能力扩展和自动分配。
  如果你原来采用的Oracle数据库,那么在云化的过程中,我们实际是建议将数据库进行迁移,你可以迁移到Mysql数据库,也可以迁移到阿里云的PolarDB数据库。
  对于PolarDB数据库可以看到,对于Oracle引擎版本基本可以实现完全兼容Oracle数据库。
  对于Polar DB实现了计算存储分离,有点类似于Oracle RAC集群数据库,但是其写节点只有一个节点,其它都是读节点。由于实现共享存储,因此其存储的弹性扩展能力足够强。当然整个PolarDB的性能根据官方数据也相当强。
  因此如果采用Polar DB数据库服务,对于数据库集群的高可靠性,扩展,存储扩展等各类问题你都不需要考虑,都由云服务商帮你解决。对你来说你就是获取和实例化一个数据库连接,并去使用数据库即可。
  当然除了结构化数据库外,本身各个公有云还提供其它各类数据库和缓存服务能力。
  类似Redis库服务,时序数据库服务
  也还有各类存储服务能力,从原来购买单纯的存储空间,可以变化为直接采用分布式对象存储接口等。这些也完全可以根据实际的业务场景和需求进行服务订购和消费。
  比如Redis缓存库,你自己要去部署一个高冗余和高可靠的分布式集群仍然是很麻烦的事情,而现在你可以直接购买和订购数据库服务能力,其它都公有云平台帮你搞定。
  思考点2:考虑关键中间件技术能力的服务化
  其次我们可以考虑将我们用到的最常见的开源技术组件服务化,即优先采用公有云平台提供的服务能力,而部署自己再去部署这种技术中间件。
  对于这块我认为最重要的仍然是消息队列,缓存,日志,短信通知,文件等几个关键技术服务能力。这几个能力也是我们最常使用的能力。
  包括消息队列我们也可以看到,类似阿里云往往提供RocketMQ, Kafka, MQTT等各种消息中间件,你需要基于你实际应用场景去选择。中间件技术能力个人理解不需要完全去服务化,将关键的几个核心技术组件服务化即可。
  什么是关键技术组件?至少应该满足两点影响到整个业务系统核心业务流程执行和运转的组件对性能需求高,本身存在高可靠,弹性扩展需求的技术组件服务
  对于满足以上两个特点的技术组件服务我们就需要优先考虑服务化订购。从服务订购到完全适配云原生交付
  云原生开源生态
  这个实际上是最理想的方式。但是这个有一个前提,就是企业的IT架构完全微服务化,同时各个微服务能够实现容器化部署。比如你企业新开发的一个业务系统,已经采用微服务开发框架和架构,同时已经通过jekins在做持续集成和容器的自动部署。那么在这种场景下是最理想的云原生交付前期准备。
  在这种场景下,实际我们需要做出三个方面的工作。
  其一:开发框架和环境
  为了实现持续集成和持续交付,我们需要实现整个研发全生命周期的过程管控能力,其中就涉及到开发态的支撑能力,从开发态到运行态的交付能力。
  在这个过程中你需要考虑微服务开发框架和环境。
  当然你可以使用类似SpringCloud的微服务整体解决方案,但是这种解决方案里面就涉及到整个SpingCloud基础架构,网关,注册中心等的部署和管理,这些事情需要你自己去做。
  你也可以使用公有云服务商提供的开发框架,微服务治理框架,使用这个的好处就是你只需要关注微服务模块的开发即可,其它都不用太关心,公有云基础环境已经具备。
  简单来说就是:
  原来你需要关注整个SpringCLoud,现在你只需要关注SpringBoot开发微服务模块。
  其二:容器云集群服务
  注意,在新微服务架构下我们直接使用容器云集群服务能力,不再是单独去订购虚拟机去部署容器,而是直接实际容器集群服务。
  在使用容器集群服务的时候,你可以配置你自己的调度规则,资源动态扩展规则。
  对于容器云集群的使用,你可以将自己打包好的部署包通过管理界面进行自动化部署,也可以通过DevOps进行自动化集成和部署交付。
  其关键点都在于整个应用集群基础设施架构你不用再关心了,你仅仅是使用服务。
  其三:DevOps过程支撑能力
  当前的各大公有云平台,类似阿里云,华为云本身都提供了完整的DevOps过程支撑能力。也就是说你整个研发过程管理,需求,打包构建整个过程全部上云。通过使用DevOps过程服务,自然你的应用可以自动实现持续交付能力。
  那么你也可以看到通过DevOps虽然实现了自动化的持续交付,但是你跟公有云服务商提供的服务能力往往绑定的更加紧密,或者说你更难脱离你当初选定的公有云服务商。
  这也是当前为何各大公有云都大力推自己的敏捷研发管理平台和DevOps原因。
  如果做到以上三点,我们看基本就实现了一个完整的向公有云环境进行交付和迁移的能力。这种持续敏捷的向公有云交付才是真正云原生的核心。
  而对于我们前面谈到微服务,容器,DevOps都是为了达成这个目标服务。
  详细参考:阿里企业上云最佳实践
  https://www.aliyun.com/acts/best-practice/index
  为何要走到云原生持续交付这个层面?
  最后再谈下为何要演进到云原生持续交付这个层面。前面实际上我已经谈到,只有将资源转变到服务层,你才能够充分享受到云平台带来的类似安全,可靠性,扩展,备份容灾等各种增值服务能力,这些能力往往才是你自己私有云很难去解决的能力,特别是类似我们原来经常谈到的异地容灾部署能力。
  其次,真正实现了敏捷化的持续交付,实现了开发态到运行态的完整无缝集成。这个已经不仅仅是通过自动化节约成本的问题,而是真正满足业务用户敏捷需求的目标。
  最后,你使用的是云平台提供的各种服务,那么自然你能够进一步享受为服务本身提供的运维监控和治理能力,也就是说对于运维,监控这些后续事项云平台也会帮你解决掉,不需要你自己去构建。比如你自己去构建一个业务系统,你可能还通过ELK去做日志分析和监控,而当你转变为采用云平台服务化,这些功能也自然具备。
  结语:对于IT系统迁移上云是个大话题,我后面还会展开来详细谈。
  欢迎关注@人月聊IT 分享SOA,微服务,DevOps平台规划和建设。

陈情令温晁下场凄惨,魏无羡的复仇方式太残忍了近段时间网剧陈情令的口碑大爆,无数淑粉走上了真香之路,只因剧版太还原。陈情令不同于一般的小说改编剧,多处名场面都高度还原,也是很敢了。剧中的反派温晁与王灵娇演绎得十分到位,血洗莲花香港慈母李香琴辞世翁美玲周润发刘德华都是她的干儿干女新年伊始,突然传来香港老戏骨李香琴去世的消息。她享年88岁,也算是无疾而终。在国人眼里,这已是难得的福分。但听闻消息却仍心头怅然,毕竟包括我在内的无数观众都是看着她的剧长大的。你也流金岁月里二话不说给对方大笔花钱的闺蜜情,在现实中有吗?看流金岁月时,每当看到朱锁锁与蒋南孙亲密无间心心相印的情节,总是感到不接地气。而去年的热播爆款剧三十而已,无敌闺蜜三人团也给我同样感觉。这些闺蜜们都有一个共同特点,那就是情比金坚,印小天,终于明白为何你先被插刀后遭骗婚在第33届中国电影金鸡奖颁奖典礼上,凭借烈火英雄拿下最佳男配角奖的印小天神采飞扬手舞足蹈的表现当天成了刷屏热搜。那种心花怒放的喜悦几乎要溢出荧屏。虽略感夸张,但完全可以理解他这些年范冰冰柯震东翟天临再遭封杀打落在地的信与爱,如水,再也难拾11月28日,有粉丝在上海世博展览馆意外偶遇范冰冰。图片中,身穿格子大衣的范冰冰在人群中并未像往常一样光芒四射,因为她用口罩和帽子将自己包裹得密不透风,颇有些全副武装的意思。只露出2020年去世的演艺圈名人中,这七位最令我感慨伤怀2020年是一个多事之秋。新冠疫情凶猛来袭,至今未退。它给我们的生活情感思想带来的震荡与改变还将持续久远。仿佛一整年都是萧瑟的寒冬寒风瑟瑟中,有多位演艺界名人悄然远去,在他们之中,作为张粉,我很不认同张爱玲所做的一件事01hr张爱玲在写给朋友的书信中曾提及过这样一个耐人寻味的细节在巴士站等车,拿出弟弟的信来看。然后车来了急忙上车,待坐定后才发现将信丢弃在巴士站的座椅上。她先是有点不安,但马上就有泰王二儿子大办40岁庆生,前王妃也露面,母子俩放不下王室身份泰国国王前些时候身体抱恙,外界也因此对于悬而未决的储位问题担忧起来,而伴随着他病愈归来,王储之位到底应该花落谁家就看起来更为急迫,不能再拖延了,也就是说如今的泰国王室娱乐,不知不觉泰国小公主的高光时刻,父亲以王室大礼相待,长姐帕公主只能旁观泰国国王一生对待感情冷漠,哪怕结婚4次,可对待每位妻子他都说不上有多么深情,即便是公认的白月光西拉米,他也能说放弃就放弃,6年前狠心废黜直接送进寺庙修行。作为父亲的玛哈,在对待他的西拉米回归宫廷遇挫,泰王欲回德国度假,没打算带上她泰国国王玛哈许久不肯出面,连带苏提达和诗妮娜贵妃都隐身不出,7月份和8月份国王与太后的寿辰,也都是只听其声,不见其人。所幸要探知王室八卦,除去每天必看的社交平台晒图,还有我们的老朋除了儿子提帮功,西拉米还有两大底牌,都是泰王有心留下的西拉米的人生犹如坐过山车一样惊险刺激,她最风光无限的10年王储妃岁月,因为其生下了王位继承人,以及美貌绝伦而闻名,但随后一朝跌落,丈夫宣布和她离婚,母子哭泣分离,还被送去了修行,剃
双镜初恋抛弃,丈夫出轨闺蜜,雇杀手行凶自己,背后原因是什么你的初恋在你怀孕的情况下为了追逐梦想抛弃你而去,你的老公长期出轨你信任的闺蜜,你的老公甚至多次想要雇杀手杀死你,这种情况下你的内心还会坚定生活的美好吗?还是被仇恨侵蚀得体无完肤呢?在人机交互上寻求新突破,哈弗初恋智能解读继全国脱贫表彰大会后,一年一度的两会也在北京召开。聚焦车圈,可以发现智能化网联化是两会上的关键词。通过近几年智能化网联化的快速发展可以发现,汽车逐渐向人们生活的第三空间演变,座舱也谌龙的幸福情史,17岁与羽坛女神私定终身,为初恋守身10年修正果虽然东京奥运会已经落下了帷幕,但广大的运动员们可没闲着。这不,近日,乒坛名将徐昕和羽坛名将谌龙在一次连线的时候,爆发出很多金句,让吃瓜网友们乐得不行。谌龙之前在网上转发了老婆的一则张继科和刘诗雯相恋七年,是彼此的初恋,我不是最后一个知道的吧夺冠2021近日夏季奥运会已经火爆进行中,中国队员们的充分发挥或是比较好的,现阶段已经夺得了好几枚金牌,有一部分网友再度留意到张继科和刘诗雯,坚信大部分网友都不清楚两人谈恋爱过吧,八零九零蒋六毛坚持娶初恋人老了,钱重要还是伴重要?八零九零中的蒋六毛,自从重新遇到了自己的初恋张碧华,就跟换了一个人似的,完全变成了个恋爱脑。这不由得让我想起了都挺好里面的苏大强,一心把看中他房子的蔡根花当宝贝。如今,发生在老年人迟了11年的神仙售后?初恋这件小事小水阿亮再度同框拍后续4月8日,初恋这件小事的两位主演马里奥(阿亮学长扮演者)与平采娜(小水扮演者)再度合作,同框出镜出演了一则广告。而这一则广告并不是简单的商务广告,而是延续了初恋这件小事这部电影的故许魏洲首部古装剧携手娜扎精彩演绎,观众却被小琉璃给圈粉了由古力娜扎许魏洲领衔主演,施诗赵顺然李芯逸陈瑾如张晚意等主演的古装爱情励志剧风起霓裳终于播出了。在大家的期待中,首播的收视还是蛮不错的!该剧有不少观众们熟悉的演员,除了古力娜扎这一禁播影视剧之一窥探首播高能刺激,堪比恶之花由李昇基李熙俊朴柱炫等主演的悬疑剧窥探开播了,开篇第一集就是满满的电影质感!该剧首播两天已经收获了豆瓣9分,被列为禁播影视剧之一的它以精神变态为题材,通过审核播出也是不容易。窥探讲凭熟悉的演员阵容追的爱的理想生活,万人迷不是万人迷近几年来,出现在影视市场中聚焦当代都市女性的题材作品越来越多。3月1日,陆陆续续大家都已经开学!由殷桃宋轶魏大勋孙艺洲杨烁赵今麦夏若妍谭凯胡连馨王宥钧主演的都市情感剧爱的理想生活也做梦吧!晶晶一部女主和20位不同类型的男主谈恋爱的微短剧1月30日晚20点在抖音首播了做梦吧!晶晶这样一部剧。该剧是由胡国瀚执导,王瑶编剧,金靖主演的明星恋爱爆笑跨屏微短剧,围绕一位都市女生与20位男友的恋爱奇遇展开。金靖陈赫张云龙熊梓画江湖之不良人第4季热血回归,画质提升太大漫迷们期待已久的画江湖之不良人4终于在29号播出啦画江湖之不良人系列,前面已经完结了三季,第四季何时上映,漫迷们早就已迫不及待了。第三季完结后,留下了很多的悬念,许多的坑就让我们一