微信号:infoqchina

介绍:有内容的技术社区媒体

【访谈】专家模式在云计算中的应用实践

2014-08-06 17:40 InfoQ

各位InfoQ的读者们大家好,我现在在QCon北京2014大会的现场,今天很高兴邀请到IBM资深云计算架构师易立先生接受我们的采访。

InfoQ:那么首先请易立简单的介绍一下您在IBM做云计算这块的历史,包括您所负责的PureApplication System等产品,跟其他云计算相关产品线的关系,各自的定位如何?

易立:各位InfoQ的朋友大家好,很高兴在这跟大家做一些分享。我是来自于IBM中国软件开发实验室的易立,在01年北京大学毕业之后就一直在IBM进行软件开发;然后我是从09年开始做Platform as a Service产品的一些开发,我们的产品最初的是IBM Workload Deployer,后边就成为了IBM PureSystem专家集成系统里头的一个重要的成员,就是Pure Application System。它的一个理念就是开箱即用的云平台,也就是企业只要买回来一个机架,这个机架上包含了存储、计算,以及网络等Infrastructure,包含了上面的虚拟化软件,以及中间件能力,用户可以在几个小时之内就开始部署应用,而且应用也能够满足各种各样云应用的一些特征,能弹性伸缩,自动恢复等等。

这里头一个很重要的能力就是预制的专家模式,而这些专家模式是预定义的一些软件的架构,包括我们说弹性伸缩的这样大规模的Web应用模式,还有像业务流程、消息中间件等等,这些东西都能大大的加快应用的开发部署上线,它是IBM在企业面向私有云一个非常重要的产品。

当然除了Pure Application之外,在Pure System Family里头,还有Pure Data System能够帮助大家做各种各样的数据服务,包括online transactiondata analysisbig data等等,IBM的云产品线除了私有云这边,在私有云这个领域还有另外一个产品叫IBM Smartcloud Cloud Orchestration,它能够帮助大家通过利用OpenStack技术,利用现有的硬件搭建私有云,并且也能用刚才我们提到的这种专家模式这种概念,用模式的方法,在OpenStack的平台上来部署和管理运维应用。在今年2月份,我们刚announce一个新的一个产品,是在Softlayer上,就是IBM在公有云上的一个Pure Application Service on Softlayer,它也是利用我们刚才说到的专家模式这个理念,能够非常方便在公有云上来部署管理应用,甚至就说我们可以构建一个混合云应用,我们可以在企业里头,把企业私有云和公有云结合在一起,然后让它都统一的用专家模式这种技术来部署、运维应用,比如说我可以在公有云上开发,在私有云上部署,然后我可以把公有云和私有云构建一个完整的云环境,工作负载可以在私有云和有云之间进行弹性的伸缩进行扩展,这是IBM在开放云服务上几个重要产品的一个介绍。

当然我们可能今天参加大会的同事也都看到了,有一个很重要的announcementsIBM Bluemix,它是一个下一代的公有云平台,它把开发、运维和整个生命周期中的各种各样能力都提供出来,包括像开发的服务,包括各种各样面向新一代移动互联等等这样的开发能力都结合在一起,这样用户就可以在公有云上来进行完整的应用的开发和部署,这个是一个简单的介绍。

InfoQ:您提到的专家模式,我理解它好像是一个服务器或者是应用部署的模板?

易立:远比这件事情要广泛。我们所谓专家模式,实际上就是把我们在很多实践中的最佳的应用部署和运维的经验都capture下来,变成一些可以复用的资产,这些资产包含了一些常见的模板,预制了一些软件架构,同时它能够自动化很多复杂的运维流程,比如说弹性伸缩,比如说应用的升级、更新,自动的故障恢复。它里头除了刚才说的部署这一个阶段以外,也可以在整个软件生命周期中都扮演非常重要的角色,同时专家模式也对DevOps、持续交付有非常重要的一些帮助,因为通过一个预定义的专家模式,我可以确保我的开发测试和部署上线的环境是严格一致的,模式可以根据我的不同需求,通过不同的参数设置,能够生成相应的环境,比如说我的开发环境相对来说计算量要小,需要连接测试数据库,但是如果要上线、生产的时候,我要连接更大的一个数据库,要分配真实的、足够多的资源,同时连接真实的数据。

在传统的方法里,任何一个在开发测试过程中的配置失误都会导致一些不可预知的问题,所以说大家以前非常辛苦的进行应用上线测试,这些都非常非常痛苦,但是通过这种专家模式,他能把infrastructure变成Code,他能把这些Pattern进行管理,然后呢,同时这个Pattern可以在这个软件过程中可以重复部署,可以用于测试,然后可以上线,能大大改善整个开发流程的质量,降低成本。

InfoQ:假设说我们现在已经有一套开发流程,有一套部署的方式,我们已经有一套东西在那里跑,如果现在想要应用这种专家模式的最佳实践,我可以一点一点来吗?

易立:当然是可以的。首先IBM是一直很强调开放和扩展的公司,所以我们在设计我们的云平台的时候,首先第一个点考虑就是我们希望它是一个Open的一个系统,然后可以很容易的把企业已有的一些资产搬到云上来,让他们能感受到云的一些好处。比如说如果现在您已经用到了一些我们已经开发好预制的一些中间件,比如说J2EE的应用服务器,流程引擎、数据分析,等等,这些已经预制好的这些能力,就很简单,只需要把您的现在现有的应用迁移到专家模式上就可以了,然后直接就可以在云上部署,它就可以部署在您的您的private cloud还是public cloud,都可以采用一致化的方法来部署和管理,而且他也能够立刻能获得像之前说的弹性伸缩自动,故障恢复,等等集成和监控能力,等等。

但是如果现有的一些模式不能满足需求,这在企业里太正常,因为我们见到所有的企业客户,每个企业客户都有自己特殊的一些应用,特殊的一些中间件,我们也提供了一些工具能够让他们把现有的应用和能力变成专家模式,因为每个企业他都有自己的process,都有自己的automation和运维方式,我们希望他们也能把这些东西,变成他自己专家模式的一部分,而这些东西也能够持续的不断的重复的部署,能够在公有云、在私有云,各种不同的云环境上能够有个统一的管理,能够改善它的流程。所以通过这种方式,我们可以帮助把企业客户里的很多的传统企业应用都迁移到云上,让它真正从云计算中受益

InfoQ:所以他还是一个需要迁移的过程?

易立:这里头是有一定的迁移过程,但是如果说,比如说,如果现在就已经是IBM的中间件,IBM已经提供了很多这样的迁移工具,基本上,我们可以捕获现在的Web应用,WebSphere Application Server这样的应用集群里头各种各样配置,然后把它capture下来,优化好,最后发到云上,就能完成一个和您,在您的物理机上一模一样的一个执行环境。这样的话,就是说它的迁移成本是非常低的。

InfoQ:那还是很有意思的。那么介绍一下您现在你们内部研发过程中,对PaaS的应用情况,就是你们现在已经整体都在使用了吗?

易立:我们本身是做PaaS云的,做PaaS云的和用PaaS云的是两个稍微不太相同的概念。不过我可以回答一下,就是在我们的开发过程中,实际上我们也是利用了我们自己的软件来帮助我们进行一些开发,比如说我们从代码check-in之后,也会通过自动化的集成,Build,集成系统,编译,编译之后,他是通过我们自己的产品创建出一个小的云环境,在此之上呢,开始进行单元测试,自动化的功能测试,当功能测试这些都完成之后,我们认为它是一个好的Build,这个好的Build,我们可以自动把这个Build去更新我们的专家集成系统。

更多精彩内容,请点击阅读原文。



 
InfoQ 更多文章 Facebook如何实现PB级别数据库自动化备份 学术派Google软件工程师Matt Welsh谈移动开发趋势 Spotify为什么要使用一些“无聊”的技术? 妹纸们放假了,汉纸们做啥? 大多数重构可以避免
猜您喜欢 他以最快速度解决了人生两件大事,靠的是什么? Mysql max_allowed_packet 被修改设置为1GB或者1024B原因 绘图技术的闪烁原因探究1:大神学习方法 在发布站点前,Web开发者需要关注哪些技术细节? JavaScript运算符:== VS. ===