设为首页 收藏本站
查看: 961|回复: 0

[经验分享] Unikernel无核化五年后能否取代Docker

[复制链接]

尚未签到

发表于 2018-5-30 06:15:16 | 显示全部楼层 |阅读模式
容器技术在过去一年中取得了令人瞩目的关注度,无论是个大技术论坛还是个大公司都对Docker投入了巨大的热情。随后出现的CoreOS和Docker一样都是容器技术的重要组成部分,它们确实在操作系统功能特色方面做了很大的改变。
  容器技术是的封装和分发应用程序非常容易,特别是基于基础设施云模式的应用场景中。容器相比它的前辈:虚拟机技术而言,更加的快速和简便,能够提供更快地启动时间和保持合理的隔离特性,确保机遇共享的基础设施上的不同应用能够有效的隔离和提供安全防护。容器也被优化用于在单一操作系统实例上用安全和兼容的模式运行多个应用程序。
  那么问题有没有呢?有。
  传统的操作系统体积是比较大的,即使通过一些手段和技术瘦了下来,也相对来说比较重量级。如果你看看一个容器实例会发现只有几百兆大小,在托管应用方面,容器的优势是显而易见的。
  而一个操作系统的副本意味着所有操作系统的服务和子系统,无论这些服务和子系统是必要的还是不需要的。这巨大的体积的冲突与更广泛的云市场的“微服务”发展趋势是相悖的,现在的服务发展趋势即要求提高安全性的需要,有要求一切操作尽可能快的完成。
  因此,现在在传统的操作系统的容器技术可能会被新的技术取代,例如无核化UniKernels。Docker容器推荐一个容器一个服务single-service-per-container (microservices)的概念,而无核化UniKernel则会将这个想法带得更远。
  无核化UniKernel允许你将所有包括操作系统都考虑到你的应用程序的编译和打包中,比如,如果你应用不需要持久磁盘的访问,那么设备驱动程序和OS有关磁盘使用的工具就可以不包含在生产Imag中,因为UniKernels 是为运行Xen等虚拟管理程序而设计的,它们只需要网络和磁盘的一些标准资源的接口,用于显示的数千个设备驱动磁盘驱动等等都是不需要的。由此,生产系统变得最小化,只是需要应用代码运行环境和应用必须的OS工具等等必备的,VM image文件变得更小,部署变得更快,更加易于维护。
  从应用开发人员角度来说,UniKernels不需要一个操作系统的主机就能够部署应用程序,该UniKernel方法允许开发人员从一组服务库里面选择一种服务,该服务能够支撑应用的运行。这些服务链接库可以直接编译打包到应用程序中。
  其结果是UniKernel模型本身可以完全去除除操作系统,允许应用程序直接运行在一个虚拟机或服务器的硬件。这是一个没有底层软件堆栈的模型,只有应用程序。
  UniKernels无核化有一些非常重要的优势:
  1. 空间大小有优势
  不像虚拟机或容器,一个UniKernel只需要运行单一应用的底层支撑服务。我们知道容器小于VMS,但实际上他们仍然是相当大的,特别是如果一个应用不关心底层的操作系统映像时。一个800MB的应用程序去除底层各种内核和服务支撑,可能只有50MB大小。这意味着在网络上移动应用,其网络负载仍然非常大。在这样一个云数据中心的时代,数据在云中的流入和流出都需要花钱,而通过UniKernels无核化这不仅可以网络传输节省时间,而且可以节省真正的钱。
  2. UniKernels启动速度快。
  最近实现UniKernel实例启动可以控制在20毫秒左右,这意味着UniKernel实例可以启动在接受的网络请求后几乎可以立刻提供服务。Anil Madhavapeddy领导的一个MirageOS项目名字叫JitSU,就是利用UniKernels来实现云中服务的快速启停。
  3. 安全性更好
  UniKernel无核化降低了系统的体积和复杂度,因此相对于Docker等容器技术安全性也更有优势,保证了应用程序不需要的其他组件不存在被攻击的风险。此外,UniKernels往往是“不可改变的,“这意味着一旦建成,改变它的唯一途径是重建,没有补丁或不可预测的变化,从而降低了系统部署后补丁管理的复杂度。
  4. 兼容性优势
  虽然大多数UniKernel设计一直专注于新的应用程序或能够基于该模型编写代码的应用,一些新的技术例如Rump Kernels提供把现有的应用程序运行在UniKernel服务之上能力。Rump的内核组件化能够操作系统的各子系统组建以及所需要的驱动程序打包,并将它们编译成应用程序之中去。
  以上四种优势能够很好的支撑云化的发展趋势,例如:微服务、微内核、离散化,快速便携式应用实例迁移。像Docker和CoreOS技术把基础设施服务更好的微服务化,然而,这些服务仍然需要改变和进化,这也是像UniKernels灯技术发展的驱动力。
  UniKernels的强大能力和简单化将会在未来的五年中产生深远的影响,它至少会补充我们目前称之为容器的技术,并逐步占领市场甚至完全取代Docker。我希望容器技术的狂热者们已经准备好了。
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-482739-1-1.html 上篇帖子: docker 安装及简单配置 下篇帖子: Docker volume使用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表