智囊团贾琨分享:IT云化演进路径及经验

配图-中国持续交付大会3

作者介绍:贾琨,现任天云软件研发总监,负责天云云管理平台产品SkyForm的研发工作。 毕业后一直从事分布式系统的研发工作,主要集中在跟IT资源管理相关的领域,涉及虚拟化、网格、HPC、云计算和大数据等。到今年工作10年,供职过腾讯,Platform(已被IBM收购),来天云软件之前在华为云计算做FusionSphere相关的设计和架构工作。

 

今天主要讲两点:

  • 企业IT云化演进路径探讨
  • 天云软件的产品和项目经验分享

先说一个我们的观点,云是新一代企业IT资源供给平台技术,不同的企业因为业务目标不同、IT技术能力不足和历史的包袱不同,所以尽管大家最终都会转到云平台,但不同的公司的路径和阶段性目标是不同的。

先说互联网公司,基本不是自己运营云或者构建私有云,就是初始业务就构建在云上。他们基本已经过了IaaS的阶段,进入如何构建基于云的原生应用的阶段,是最先进的一类公司了。

另一类企业属于IT管理实践比较先进的一类行业,比如电信行业、金融行业的一些企业。典型的特征是有过ITIL或ITSM实践,同时大量的使用了虚拟化技术,如VMware。他们上云的负担就比较大了,由于承载的业务比较关键,现在我们能看到的思路是在新业务或者非核心业务中构建IaaS平台,比如研发、测试云。但是也试着在核心系统上试验云的思路和理念。一个重点是业务x86化(其实也是分布式化),另一个是IT资源管理服务化,池化并搞资源弹性调度。比如对存量VMware虚拟化提供自服务管理,基于OpenStack等构建新的资源池。同时为简化管理,得搞一个平台统一管理这些资源池。这类企业有的已经发展的很先进了,比如10年前我们就参与帮助海外一些银行构建类似mesos、yarn的平台的工作,管理的资源有物理机、虚拟机,甚至包括小型机。国内有的企业,现在也在考虑mesos、docker这样的新技术。

再有一类是小企业或者大企业小IT的企业,有很多传统制造业企业属于这样。经常看到有人说碰到这类企业做云平台项目, 一番交流下来,发现这类公司中IT技术老套,很多新的技术名词他们都很少听过。我们碰到的企业,有的现状基本就是物理机或者小型机,有的有一部分虚拟化。往往内部没有像样的IT管理实践,日常甚至在使用Excel在做一些资源管理,人称“Excel定义数据中心”。这类企业建议搞P2V,再搞搞IT流程就已经上了个台阶。不一定强求一定要搞OpenStack,应用资源弹性之类高大上的技术,实践一下小型机服务他们很感兴趣的。

小微企业我们碰的不多,他们没有历史包袱所以上云相对简单,可能CloudStack、OpenStack就可以满足了。

综合来看,我们认为云应该是个演进的过程,需要认真对待遗产的虚拟化、物理设备,先做资源管理自服务,同步建设私有云,混最后考虑混合云。有个观点认为未来是公有云,大家会走上混合云这条路上,而且会走到不同阶段。这也是一种延续,演进的思路。

天云软件成立3年多,通过做项目孵化了一个产品叫SkyForm,当前能够管理VMware,CloudStack,OpenStack和部分公有云的资源,如阿里云。平台提供抽象的VM、卷、VPC等基础服务,具有统一的管理视图、细粒度的用户权限管理、服务目录、监控和一些合规性的功能,如安全审计日志等。因为我们主打演进思路,一般我们不建议对现有资源池升级,所以平台支撑多个不同类型,不同版本的资源池统一管理,比如可以同时管理OpenStack G-J版本资源池。在此之上,构建了cloudformation、cloudwatch和autoscaling等应用管理服务。

专门说说VMware的支持,虽然大家都想减少使用,但现在还不行。CloudStack和OpenStack虽然都能支撑,但是实际用的过程中用户都说不够,希望能够使用DRS这样的高级功能,能自动接管原有的存量VM,还能够支撑VMware上层服务如View、VDP、vFabric等服务。另外VMware的生产环境中,实际部署VM硬件配置和网络配置各种各样,不太适合采用OpenStack这样固定配置的管理思路。用户还会说上云平台,就不想再用vCenter,要不没什么差别。鉴于这几个原因,我们基于VC的API开发了专门的管理服务,提供监控和自服务管理、全生命周期管理、服务融合管理等几种模式。

另一方面,依据IT系统通常都会经历建设、应用/运维、优化和再投资这样的规律,现在我们主要是在搞建云和一部分运维的技术。下一阶段的重点是面向应用支撑的技术,会涉及docker和服务管理等技术。同步会做的就是资源统一管理、调度和容量管理,算是在优化和再投资决策方面做一些事。在云平台项目,客户的不同角色的人需要不同功能集合。很明显,建设和运维是IT部门的需求,应用支持则是业务部门的需求,资源优化和再投资方面则是CIO一类角色的需求。按照各种划分,我们安排产品研发计划、做售前技术方案是就会有针对性考虑。

总结一下,云是新一代IT,实践云是个IT架构的演进过程,我们应该提供满足不同阶段业务目标的解决方案。最后说句我们的宣传语——科技是第一生产力,SkyForm让云成为生产力。

问答环节:

Q1:不太适合采用OpenStack这样固定配置的管理思路。“固定”如何理解?

A1:VM配置在实际环境中光disk就有好几种配置,另外网卡个数,是否支持一些特殊的硬件如光驱、USB都有可能。OpenStack基本不会全覆盖,但在遗产系统中往往会有。我们也不能随便改它。这是虚拟化时代的特征,我们能做的就是先接管,做自助式管理。

Q2:你们基于vCenter做VMware管理,有什么特性缺失吗?

A2:缺的其实也不少,不过可以根据用户场景添加。事实上大家常用的基本都类似,补一补就差不多了。

Q3:对用户已有的vm你们怎么接管?因为这些虚机的配置你们数据库里面没有,如何建库?

A3:这样的类似需求在国外大概5年前就有,我们通过API动态发现vm然后插入数据库,配置固定包含基本的CPU、内存、Disk、模板及其他常规几种,也可以用key value pair保存特殊的内容。这个我们是从CloudStack时代就开始做了,现在在往OpenStack上迁移。有的OpenStack厂商有类似实践,大家的需求和思路基本都类似。

Q4:VMware的存量纳管是通过OpenStack还是SkyForm来实现?

A4:分两种模式,一种可以不要OpenStack,一种是在OpenStack上装上我们的扩展包。扩展包不会修改OpenStack,在旁边做一些辅助的工作比如存一些扩展信息,目的是尽量保持原生的OpenStack。这样,任何一家OpenStack我们都可以做到较好的支持。当然这个也比较理想,得做点东西而且实际上还是有些限制的。

Q5:你们是完全自己开发,还是把一些产品集成?

A5:除了OpenStack、CloudStack之类,基本都是自己开发。当然也集成了zabbix作为监控采集组件,不过不是必选。另外也集成一些大数据的技术平台,比如YARN、HBase之类,来做一些调度工作。

Q6:如果配置特殊不符合你们的模型呢?比如多个三层网络手动配置了路由之类的。

A6:在模型不能完全支持时,就考虑功能退化,提供管理自服务和监控。用户一定要就在定制一些东西,但实际这种情况不是很多。

Q7:你们在SkyForm有没有做基础设施抽象?还是基础设施都保留底层平台的特性,而SkyForm只负责provisioning?

A7:做了功能抽象,但保留扩展接口提供特性。我们在API、UI和资源池能力管理上做了设计,申请了几个专利。核心思路就是将文档上的功能矩阵build进了程序。

Q8:小机的自动化你们是自己做还是和厂商合作?

A8:曾经自己试着做过并部署但有很多问题,后来决定要聚焦就放弃用其他厂商的了。早期做了不少东西和尝试,比如给CloudStack搞类EMR的服务,还有HPC集群服务等等。现在将精力集中在云管理平台上。HPC、大数据相关的由其他相对独立团队负责,比如我们海外的团队现在就在AWS上提供HPC、R-cluster等集群服务。

Q9:很赞同你们的思路,统一的资源管控和IT云服务目录其实现在国内很多企业是上云主要驱动力。

A9:我们也是在项目中慢慢总结出来的,同时也参考一下国外的发展经历。