加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.0577zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 云计算 > 正文

IBM邵萍:数字化重构传统企业IT架构

发布时间:2019-02-20 14:55:56 所属栏目:云计算 来源:李代丽
导读:【IT168ITPUB专稿】本文根据邵萍老师在2018年10月17日第十届中国系统架构师大会(SACC2018)现场演讲内容整理而成。 讲师简介: 邵萍,2003年加入IBM中国软件研发中心,先后担任工程师,开发经理及产品经理等职务,专注领域包括应用服务器、Java EE技术及云

  上了容器化的一个新型的云服务器后,我们要考虑去用容器化的方式去部署应用。提到上云,我们首先想到的都是 IAAS层。但是,因为虚机技术有其特殊性:涉及Hypervisor,有Host os这一层,资源消耗非常高。容器更具轻量级的特点,不管是系统启动速度,系统资源消耗,还是性能、并发性等,都有更出色的表现,Liberty on Docker成为必然发展趋势。

  容器是用来管理微服务,需要对之前的应用做一个更细粒度的拆分。之前,一个应用拆成20个、30个微服务很正常。每个微服务还要牵扯它自己的弹性伸缩,有的可能达到几百个几千个。这样的微服务如何去管理?一定要有一个容器编排平台,比如:Mesos、Swarm。其实,我们之前有很多技术选择,但是今年态势非常明朗,基本上就是Kubernetes,不管是从客户角度看,还是从友商角度看,Kubernetes都是一个主导性的技术方向。

  Kubernetes能帮企业做什么呢?

  首先,大量的容器怎么去管理?比如:我要发布一个应用,这个应用应该如何在上千个容器的资源中去放置?放在哪里?哪个是最合适的资源?放了之后如何去做负载均衡?一旦一个容器坏掉,不接受请求了,如何能够快速替换?以及我有一些应用发布,应该怎样进行回滚?还有,其他的服务治理的一些功能,应该如何处理?Kubernetes的技术发展得非常快,IBM推出了自己的基于容器的一个技术,基本上各大厂商都在推出自己相关的PaaS的容器云平台。

  有了Kubernetes,如何去支持企业的生产环境?其实这是一个值得探讨的问题。因为毕竟Kubernetes是一个开源的架构,在生产环境里有很多企业级的运维需求。IBM容器云平台会去支撑这种异构硬件系统。但是我们发现,不是所有的客户都已经到了容器就绪的状态,它可能有一些传统的应用,会在虚机上运行很多时间,或者说不会只选择一家云厂商,可能还会有很多云厂商,以及其他的云平台。我们需要把它集成管理起来,所以我们还有一个多云管理组件,能把其他云代管进来。我们还做了很多企业级的增强,去帮助客户去在企业的环境里面去运行容器云。我们说的Pass级云平台,不仅仅只是中间件这层,还包括相关的服务。IBM把之前的传统配件去做容器化,放在云平台上,作为开箱即用的中间件服务,提供给客户。

  在云端如何实现DevOps?

  另外,IBM在支持新型的云应用的时候,希望能够用DevOps的方式来做微服务应用的构建、发布、测试、上线、回滚等等这一系列流程,IBM会提供与DevOps相关的工具。

  总体来说,其实企业级的生产环境需要很多额外的技术支撑能力。比如:日志能力。每一个容器都会产生自己的日志,当体量达到上千个节点的时候,这些日志如何去管理?如何快速检索、排查,生成意义的信息?这些都是关键点。还有监控,企业需要实时地看到所有容器当前的运行状况,是不是处于一个健康的状态,有没有出现什么问题?针对这些问题,IBM做了很多工作,铺设了更强大的企业级监控、运维工具。

  再比如:计费计量问题。传统软件产品的买卖方式就是卖许可,买了就是永久性的。但是云平台计价模式不一样。我们可以按小时的方式去进行计费,通过计量功能区评估客户用了多少资源。

  还有,容器云平台上会有大量的Image产生。有容器产生的,还有客户自己的、第三方的、有官方的等等。这些Image可能会有一些安全漏洞,所以IBM会提供一个Image扫描的工具,来保证你的Image在云端的安全性。

  另外,很多传统客户用传统应用上云的时候,有很多挑战。首先,这个应用适不适合上云,上云的难度有多大,能不能根据现有应用给出一些建议?所以在IBM云平台上,能通过应用工具去扫描客户的应用。比如:传统的Web应用,我可以看到你现在所有的Code里面用到了哪些架构,我会告诉你,上云的技术匹配度是什么样,这里面有多少源代码能继续使用,哪些代码需要做一些更改。IBM云平台集成了大量的专家经验,帮客户去做代码的匹配,能给用户提供一些辅助的更改经验。并且生成一个评估报告,告诉你云迁移的难度是高、中、还是低,可能遇到的风险有哪些。

  最重要的是,IBM有非常丰富的云端的Paas服务。安装了IBM的云平台之后,就会有几百个这样的一个云端服务,包括:Web应用服务器、数据库、消息中间件等等,都可以去在上面去进行安装,就是容器化模式。在云端,需要有更简单的模式帮助用户去安装部署自动化,尤其是自动化的安装部署,甚至回滚它的应用。IBM可以把几十个微服务组成一个应用,以微服务的方式来进行管理。

  IBM还提供了多余管理功能,因为客户上云之旅不是一蹴而就的工程,需要一个中间段的过度,容器和虚拟化技术可以帮助客户走过共存阶段。IBM还提供了完整的DevOps开发运维一体化流水线工作的支持。

  如何看待开源技术?

  其实,IBM云平台底层很多技术都是开源的技术,不管是Docker,还是Kubernetes,甚至是多云管理,他要用一个开放的接口去集成第三方语言,都是一些开源的平台。所以很多技术实力很强的客户会问,为什么不能用开源的架构去打造自己的云平台?IBM的答案是:可以。但是开源架构有很多坑。

  我们看到有几个大的客户,尤其是一些大的银行客户,他是用这种买服务的方式,请第三方的厂商来帮他去建立的Paas云。之后,由他自己去维护Paas云的生命周期。第一个坑是,这些客户不会长期关注开源社区,如果你要选一个第三方帮你去做的话,那一定需要第三方对这种开源社区有影响力,有一定的技术路线的掌控能力,保证你不会偏离这样一个技术路线。开源现在发展得非常快,几年前很火的框架,可能很快就不存在了。第二,如何才能有一个端到端的实施。因为上云,不像传统的卖软件,简单安装一下,把应用部署完,就可以了。在没有想清楚为啥要上云,如何上云这个问题之前,用户是不会付诸行动的。所以,上云是个复杂的过程。第三,开源的另外一大挑战是,集成开源中间件也有难度。因为,搭一个Paas云平台,不是一两种开源软件就能搭起来,有时候需要7、8个开源软件,甚至20多种开源技术。这些开源技术都有自己的社区,都以不同的步调在往前演进,如何在保证这些技术在演进之后还能跟得上?并且和其他的开源组件不冲突?需要不断去做测试。很多客户在两、三年之前自己去建Paas云,但是现在已经很难支撑了,因为更新换代是很麻烦的事情。

(编辑:温州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读