LinuxKit NanoServer和DevOps是个啥关系?

栏目: 服务器 · 发布时间: 8年前

内容简介:LinuxKit NanoServer和DevOps是个啥关系?

又是一年DockerCon,从14年开始关注Docker,每年的DockerCon都能带来不少惊(hao)喜(wan)的东西,今年的新玩具应该就算是LinuxKit和Moby了。

今天快快的把玩了一下,从yml文件直接打包出一个全新的 linux 服务器镜像的过程非常简单让人不禁想起了乐高积木,这次在DockerCon上乐高玩具也被多次推到前台,甚至演讲的背景音乐都好像进了街机厅一样。像搭积木一样搭建软件系统,这是多少 程序员 的梦想,也好像我们从开始写代码的那一刻就觉得这才应该是软件最终的形态…… 而且这事儿看上去也好像没有那么复杂,但当你写了几年代码后才发现,这不过是个美好的故事。今年,我们似乎向这个目标又迈进了一步。

云时代的OS到底会长成什么样子,这个问题其实是多家云厂商都在找寻的方向。大多数的云厂商的做法是将大家常用的操作系统一股脑的放到自己的模版库中。但这里有一个不容忽视的问题:主机时代的操作系统是多用途的,而虚拟化/云计算时代的操作系统则是单一用途的。以前,我们会将多种应用尽量部署在同一台主机上以便节省资源(因为搭建服务器是一个辛苦活),这要求我们的操作系统足够通用化,包含的组件也是向着越来越丰富的方向发展;而虚拟化和云计算兴起以后,我们会尽量在一台主机上只部署单一应用(因为搭建服务变的无比简单),以提升应用部署速度,响应速度和敏捷程度。而原先那种通用化(臃肿)的操作系统就变的不那么合适了,更重要的是,由于那些与应用无关组件的存在,我们必须花费很多不必要的精力来维护这些组件,仅仅是为了能够让我们大楼的地基足够稳固 … … 有没有一种盖好了大楼再拆掉不需要的地基的做法?这其实就是LinuxKit/NanoServer想要解决的问题。

最近几年DevOps风生水起,IT界非常擅长创造各种新概念,而让很多人迷失了我们真正需要些什么。无论是敏捷,精益,DevOps还是持续交付其实我们都在解决同一个问题,那就是效率。

如何才能提高效率,其实基本的思路只有两个:1. 减小粒度,将复杂问题简单化,降低复杂度,减少为了那些过程复杂度所付出的管理成本。2. 解耦,给我们的系统,团队足够自由去按照自己的步调解决问题,减少他们之间的摩擦,让我们投入的资源尽量多的转换成生产力。

大家可能感觉这2个话题和LinuxKit/NanoServer没啥关系,而实际上关系很大。这次 Docker 的做法是一种降维打击的策略。简单来说,docker就是一种对技术栈进行编排的技术,当前对于对应用层的优化已经到达一定程度了,那么如何迈出下一步就是个大问题,而对操作系统开刀就是个自然的选择。LinuxKit通过一个yml文件对操作系统组件进行描述,允许用户根据自己的需求动态创建OS镜像,这种方式给予了用户从根本上控制应用系统技术栈的能力。底层的依赖减少了,问题自然少了,运行速度,出错几率和安全性都会得到优化。这其实将复杂问题简单化的一种方式。同时,因为依赖变少,和其他组件的耦合程度也降低。

我们再看一下NanoServer,这是微软在Server 2016中所提供的一个全新的操作系统发行版,它同样允许用户根据自己的需要选择所需要的组件,并动态生成一个专用的操作系统版本。下面这张图是Nano Server Image Builder中用来选择操作系统组件的配置界面:

LinuxKit NanoServer和DevOps是个啥关系?

下面这个是一个linuxkit.yml文件,同样是用来对操作系统进行组装:

LinuxKit NanoServer和DevOps是个啥关系?

是不是有种殊途同归的感觉,有了这样的工具,我们不仅仅可以为我们的应用定制操作系统,而且这个操作系统还会变的非常的小,启动也更加迅速,更加适合云时代的操作系统特点。像Win Server这样的系统都可以做到400M的体积和40秒的启动速度:

LinuxKit NanoServer和DevOps是个啥关系?

使用linuxkit更加可以制作出60M左右的操作系统镜像

LinuxKit NanoServer和DevOps是个啥关系?

这才是使用云时代的操作系统的正确姿势,这一次,微软和Docker又想到一起去了。其实我们永远要记住一点,我们要的不是操作系统,我们要的是上面的应用。盖好了大楼然后拆掉地基这种事情可能也只有在软件行业才能做到了。

【本文为51CTO专栏作者“徐磊”的原创稿件,转载请通过作者微信公众号devopshub获取授权】

戳这里,看该作者更多好文


以上所述就是小编给大家介绍的《LinuxKit NanoServer和DevOps是个啥关系?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Algorithm Design Manual

The Algorithm Design Manual

Steven S Skiena / Springer / 2011-11-14 / GBP 55.07

....The most comprehensive guide to designing practical and efficient algorithms.... Written by a well-known algorithms researcher who received the IEEE Computer Science and Engineering Teaching Aw......一起来看看 《The Algorithm Design Manual》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具