智囊团分享:英特尔是如何做OpenStack的
云头条“智囊团”分享人:王庆
简介:王庆(Shane Wang)目前是英特尔开源技术中心数据中心与云计算开发经理。于2004年加入英特尔公司,从2007年开始从事开源技术领域的工作,包括开发Xen和KVM的底层基于硬件虚拟化技术方案,开发与维护开源的可信启动解决方案tboot,以及管理团队开发嵌入式解决方案Yocto等。从2011年开始,王庆的团队专注于OpenStack开发,其工作覆盖Ironic、TripleO、Horizon、Keystone、Neutron、Ceilometer、智能编排、Nova在线升级、SR-IOV支持、NFV实现等。王庆还是Nova项目的活跃贡献者。王庆毕业于复旦大学,并且获得了计算机专业博士学位。
有人想听英特尔怎么做开源的,后来我说这个话题有点大,今天想介绍一下英特尔如何做OpenStack的。
英特尔有一个大部门叫软件与服务事业部,Software and Service Group (SSG)
由于英特尔本身是一家硬件芯片厂商,软件与服务事业部主要目标是与硬件部门配合,并为它们做支持,提供一整套软硬件平台,帮助建立一个良好的生态系统。
后来,英特尔看到开源越来越重要,SSG中就有一个专门的部门做各种开源项目,叫Open Source Technology Center (OTC)
所以回答上面的问题,老大们支持做开源,是因为想建立一系列生态系统,说白了,英特尔希望能从需求和硬件上赚钱,且在开源领域里强调领导力和影响力.
OTC自2003年成立,后面慢慢地涉及了众多开源项目 49 30400 49 14942 0 0 1843 0 0:00:16 0:00:08 0:00:08 2979OpenStack就是其中之一,该项目从2011年开始做。
最早我们组是做虚拟化出身,大约在2005年左右的样子,针对Xen这个项目做Enabling。那时候,英特尔出一个技术叫Virtualization Technology (VT),大家现在看自己机子的BIOS,就可以看得见有这么一项,可以Enable起来
英特尔是一个技术导向的公司,当时其实也是有虚拟化软件,但都是基于软件的虚拟化解决方案,而此时英特尔开发出了硬件技术,VT,就要想着怎么让软件用起来,提高hypervisor的性能。所以,那时候我们开始做Xen,加VT的支持。
这也是一个很明显的例子,一个是用硬件技术,优化和完善软件。另一个就是建立生态系统,让大家把VT用起来。后来,KVM发展起来了,我们就投一部分人力做KVM,把VT加到KVM里。
这页很好的说明了为什么英特尔要搞开源
大家不知道,现在在Linux Kernel社区里,英特尔代码贡献量已经是第一了,超过了Red Hat。而且,在OpenStack领域,英特尔也力争第一,虽然现在还有距离仅在前10位。
到了2011年,虚拟化技术已经比较成熟了,而此时云计算得到突飞猛进的发展。
公司将虚拟化团队一部分人力投向了OpenStack,目的也是希望快速建立云计算的生态系统。
现在我们组就是英特尔做OpenStack的主力,主要从事以前3个方面的内容。
1)Platform Enabling
看看有什么英特尔硬件技术能应用到OpenStack里的并Enable起来,优化OpenStack软件。
举个例子,现在大家去看Nova代码,TrustedFilter就是我司加的。它的产生,就是为了一个叫可信计算的东西。英特尔在2008年云计算兴起之初,建立了一个项目叫OpenAttestation(OAT),当时还没有OpenStack,该项目就是用了TXT技术。OAT去回答一个问题:我跑的VM是不是在可信的hypervisor之上的,也就是说hypervisor有没有被人篡改过。而TrustedFilter是在OpenStack起来之后,被英特尔加进去,有了它,OpenStack可以调OAT去验证hypervisor,供Nova scheduler使用,过滤。
2)Win The Enterprise
大家知道英特尔在OpenStack Foundation是白金会员,我们在亚特兰大summit后提了一个计划,并得到基金会成员的积极响应,成立一个专门的工作组在上面工作。当时提这个计划也是从需求的角度出发的,我们发现,OpenStack最初是希望公有云用的,在私有云支持方面不是很好,但是越来越多的趋势看到很多企业想用OpenStack部署私有云。
这图来自opennebula.org
是比较当时4个开源云项目的情况,当时,OpenStack复杂度高而且功能偏向AWS,即公有云模型。
所以我们组里重点就转向:如何能让OpenStack为私有云,为Data Center使用。
最近英特尔与Rackspace在美国德州成立了一个创新中心,其主要的目的,也是做Win The Enterprise功能完善企业私有云功能。举个例子,最最简单的,改bug,我们每天不仅在改bug,而且即将与华为主办并参加在西安的黑客松,也是为了改bug。这当中,有很多bug与英特尔无关,我们也要去做。我知道国内OpenStack的用户很多,如果没有精力改bug,也希望大家遇到的bug,提交到launchpad,某种程度上也是对社区的贡献。
英特尔之所以要这么做,是因为OpenStack好用了,生态系统就建立了,需要云化的公司也越来越多,需求也被激发了,大家采购硬件的量就会上去,对英特尔也是好事一件。
3)Win The Telco
大家肯定听过SDN/NFV之类的词,OpenStack好象在去年也专门成立了NFV开发team,当时主要是一堆Nova的人。做NUMA support,cpu pinning之类的功能
我们有一个专门的硬件部门叫Network Platform Group(NPG),SSG与NPG合作,很乐意帮OpenStack加NFV的支持,我们就曾经在OpenStack里加PCI SR-IOV的支持。因为NFV普及了,基本上就是用服务器比如X86服务器跑VM,可以代替网络功能,代替硬件盒子。
这是我们参加的关于SDN/NFV,OpenStack, OPNFV, OpenDayLight 等众多项目的一个大致情况。主要目的就是希望推动SDN和NFV的成熟和普及。
比如OpenStack,我再给个图,说明一下我们在OpenStack里做什么
这张图基本上涵盖了我们在OpenStack主要的项目
随便拿一个功能出来说,Erasure Code:我们知道Swift需要3份copy,但是有客户抱怨存储太贵,我们就与社区一起做Erasure Code,目的就是希望通过CPU的计算,减少copy数量,节约存储成本。当然这么一做,CPU计算量可能就大了,有利有弊,给用户多一个选择
我们目前做OpenStack里的任何事情,都是围绕着刚刚介绍的那3点展开的。
我们开发团队只专注上游社区(upstream),一般情况下不接触客户做技术支持,但是客户需要,也可以经前台工程师(我们叫Application Engineer)介绍,与我们技术交流。另外,客户需求很重要,它会影响到产品的方向,OpenStack的方向,比如在企业应用,只要各位有什么痛点,而且这个痛点是普遍的不是针对某一家客户的,我们就会与社区打交道,与那些core打交道,与Rackspace和各公司一起去完善功能。
现在社区就是想翻版Linux的成功,说OpenStack是下一个Linux,是云操作系统,而我们做的,相当于kernel.org上的kernel,kernel一旦成熟,厂商可以拿kernel做发行版,比如Red Hat,比如Mirantis那就相当于各RHEL, SUSE, Ubuntu,但他们都用一个稳定的kernel。
英特尔不做发行版,而厂商们也喜欢社区去做一个稳定的OpenStack kernel,所以英特尔做的事,受到象Mirantis, Red Hat等OSV厂商欢迎,也会受到AWCloud, unitedstack等公司欢迎……
关于“智囊团”云计算领域讨论群,周一至周五晚8点按照入群顺序,分享行业干货,进行讨论。入群需实名制。有兴趣可以加微信:aclood