随着科技的快速发展,受到集装箱的灵感,人们提出了把开发好的数据打包放好到一个类似于集装箱的容器里,是它可以轻而易举的完成网络数据间的传输,而不受到损坏。时至今日,容器技术被不断地完善,应用的各式各样的场景中去,那么,关于容器技术,你了解的有多少呢?
现在的容器技术,最主流的指的的就是Docker。它需要比较的其实是现有的虚拟机技术,为什么叫容器而不叫虚拟机,就是因为它的轻量级。虚拟机:把资源垂直分开,一台机器变为三台,这么垂直划分代价比较大,三个虚拟机会完全独立变成三个机器,他们要自己管好自己自下而上的所有资源,完全无法复用任何东西。容器技术:只有上层差异垂直分开,复用linux系统内核,就有了linux内核上加盖一层一层修改,生成了你定制的镜像,然后把这个镜像初始化成你特色的容器。
容器化带来的挑战
在IT世界里,经常使用粒度这个概念,而且一般的出现形式都是以粗粒度、或者细粒度这两种形式出现的,由于容器的粒度非常细,所以在管理上就会有一定的困难,人工管理是非常难以实现的,因此容器层面的平台管理主要就是依靠自动化来实现的。
自发现:容器与容器之间的相互配置还能像虚拟机一样,记住 IP地址然后互相配置吗?这么多容器,一旦一台虚拟机挂了重启,IP改变,你怎么记得住应该改哪些配置,列表长度至少万行级别的啊,所以容器之间的配置通过名称来的,无论容器跑到哪台机器上,名称不变,就能访问到。
自修复:容器挂了,或是进程宕机了,能像虚拟机那样登陆上去查看一下进程状态,如果不正常可以重启一下么?那你要登陆万台 Docker了。所以容器的进程挂了,容器就自动挂掉了,然后自动重启。
容器是云原生的核心之一
如何理解持续交付?听着比容器、微服务、DevOps更抽象。简单来说,它是一种状态,一种能力,就像生产线能持续交付产品一样。
具体而言,持续交付是一种软件工程手法,它能让软件产品的产出过程在一个短周期内完成,保证软件可以稳定、持续的保持在随时可以发布的状况。它的目标在于让软件的构建、测试与发布变得更快以及更频繁。这种方式可以减少软件开发的成本与时间,减少风险。
为什么要有持续交付?这是和曾经的软件开发方式相比的,过去的软件开发周期以月、季度、年来计算,今天呢?一个应用晚上线一个小时造成的损失都可能是巨大的,所以要小步快跑、快速迭代,这就是持续交付的价值所在,不断的交付,不断的修正。
很显然,如果把云原生的四要素串联起来,持续交付才是最终目标。但要实现持续交付,容器、微服务、DevOps缺一不可。
总结一下,云时代必须以全新的理念来看待软件架构和基础设施,只有从这个角度理解云原生才能得到正确的答案。未来必然是属于云原生的,所以,企业变革的绝不仅仅是工具,而是从思想到方法,再到工具的一整套理念。只有这样,才能更好迎接云时代的到来。
更多产品了解
欢迎扫码加入云巴巴企业数字化交流服务群
产品交流、问题咨询、专业测评
都在这里!
2021-12-14 17:30:39
2020-04-27 18:46:31
2020-03-05 17:46:42
2019-09-17 14:39:02
甄选10000+数字化产品 为您免费使用
申请试用
评论列表