George V.Neville-Neil
FreeBSD是一个由基金会支持的技术公司,产品种类繁多,今天跟大家分享一下我们在虚拟化方面取得的成果。
今天很多演讲嘉宾谈到了云,比如腾讯云、阿里云、Azure等。谈到云架构,FreeBSD能够创建很多平台,能够对软件进行虚拟化,进而通过软件去管理云。
过去20年,虚拟化技术取得了很大的发展,虚拟化的系统也有了自己的框架,不管是IBM还是其他机构都是如此。现在云可以获得各种各样的技术支持,比如Parallels、虚拟机等设备,它们都使用了虚拟化的软件,使运行更加流畅、管理更加容易。虚拟化能有效降低企业的IT运营成本,同时提高其效率、敏捷性和可扩展性,加快应用和资源的调配速度。但是也要使用不同的方式充分利用硬件。从软件的视角来看,我们感兴趣的有两点,一是是否要把所有东西放在云上运行,二是我们能否像腾讯或其他机构一样运行很多软件。
接下来,我们来谈一谈FreeBSD软件在云上的運行。亚马逊在2006年推出了EC2(弹性计算云),而Liunux是当时唯一的“客人”。很多消费者希望使用其他操作系统,比如开发者的软件,可以基于FreeBSD来打补丁。在2010年,我们进行了EC2的FreeBSD实验,到2018年,我们提供的FreeBSD软件获得了亚马逊的官方支持。在多年的开发历程中,我们的团队依托自身的技术优势,实现了高质量的项目进展,不断解决项目实际操作中的疑难问题。同时,FreeBSD拥有众多的志愿者,大家为了共同的目标而不懈努力,从FreeBSD的角度来看,我们希望迎来一个开源的、开放的世界。
2006-2008年,亚马逊开了一个应用商店,使得我们的架构在亚马逊云上运行起来。一开始这是受到微软支持的,微软的工程师直接与我们的开发者合作,使FreeBSD能够很好地与云进行衔接,在12-18个月内达到了功能和性能均等的效果。
在这个过程当中,我们掌握了很多宝贵的经验。第一点,如果想在开源方面获得进展的话,就必须有领导力,FreeBSD和亚马逊都是有领导力的企业。一个好的想法只是项目的开端,还要舍得投入时间和精力去实施过程。第二点,建立合作是推动项目的基础,必须与对方公司内部工作人员建立良好的衔接,双方合作协同,去运行开源系统。第三点,要具备解决技术问题的核心能力,因为云系统、云平台以及一些软件,都是比较难调试的。对于以后的运营来讲,调试含有较多虚拟成分的云会更容易。
但更加有意义的是以下要分析的。有些虚拟化技术是开源的,而有些不是开源的。大概10年前,当时还没有虚拟化的技术,开源软件都是自由许可的,有通用的GPL许可证。作为开源技术的先驱,FreeBSD可以根据许可证的指导原则进行修改和重新设计,以满足用户的需求。FreeBSD提供了BSD许可证,BSD许可证与GPL许可证的区别在于,GPL代码只能在GPL项目中使用,要求GPL代码开放的继承性,即确保所有GPL代码的派生工作的开放性,而BSD许可证则相对宽泛的多,允许自由使用BSD代码,使用者有权对代码所做的修改进行保密,不要求BSD代码派生工作的开放性。当时的技术已经可以做到将很多存储服务器整合起来,提高整个系统的效率,虚拟化架构在内部商店里也得到了更高效的利用。
BSD许可软件是非常重要的,提到软件,我们就会想到服务器上所有的内容,如果有一个非常好的管理系统的话,就可以将各类软件进行整合。利用BSD许可软件强大的存储能力,可以将服务器中的所有内容进行复制,并将BSD许可软件与其他软件进行内置。我们希望可以把软件的任何部分拿出来让大家共用,并不是FreeBSD一家独用,希望大家可以共享所有的开源系统。因此软件系统使用了内嵌式的软件,用户可以根据自己的喜好选择任何感兴趣的部分,系统还设计了管理程序,可以利用新的软件复制服务器中的内容。这个例子告诉我们,系统的管理程序是非常重要的。我们现在的主要任务是使用虚拟化库里的技术进一步开发新技术。
我们再来看一下可重用的虚拟化库,可移植性在很多系统当中具有广泛的使用,虚拟化是一个过程,要对整个机器进行虚拟化。如果要运行各种各样的通用信息,就需要很多的Windows副本,也就需要所有技术的虚拟化。我们对元器件进行虚拟化的时候,可以自己来做选择,比如工厂自动化,有大量的工厂软件可以用在平台上,可能没有用户想要的软件,此时如果有一个非常好的库,就可以决定用户的需要,比如用户可以决定是运行一个旧软件,还是需要开发一个新软件。
最后,我们该如何看待云?如何看待虚拟化技术?我们非常愿意在云上运行,因为它能够提供非常强大的功能。未来要实现云技术和虚拟化无处不在的运行,我们希望不只是在一个数据中心或服务器上运行,而是在手机上也能够运行,我们的目标就是在任何地方都能够实现运行。当然,这一切得益于开源,库的虚拟化能够给我们带来很大的帮助。
(根据演讲内容整理,未经本人审核)