OpenStack、KVM、Docker——Docker之后还需要OpenStack吗?
原文链接:http://news.csdn.net/article_preview.html?preview=1&reload=1&arcid=2823129
Docker从一个新兴的技术到一个商品化模式,这一过程的发展速度很惊人,它炙手可热的同时也给带来一些困惑。这也带来了一些同学的质疑和评论:假如用了Docker再去用OpenStack是否合适?
Docker从一个新兴的技术到一个商品化模式,这一过程的发展速度很惊人,它炙手可热的同时也给带来一些困惑。这也带来了一些同学的质疑和评论:假如用了Docker再去用OpenStack是否合适?本文来自Helion惠普云计算,深入浅出的对OpenStack和Docker进行类比。
以下是原文:
Solomon Hykes创立了Docker,没有想到过Docker会人气爆棚,成为仅次于OpenStack的最受欢迎的云开源项目。然而听说过Docker的朋友很少知道其真正的意义,很多人会被各种概念混淆,甚至把OpenStack和Docker进行类比。
Docker的相关背景
简单来说,Docker提供了一种程序运行的容器,同时保证这些容器相互隔离。虚拟机也有类似的功能,但是它通过Hypervisor创建了一个完整的操作系统栈。
不同于虚拟机的方式,Docker依赖于Linux自带的LXC(Linux Containers)技术。LXC利用了Linux可以对进程做内存、CPU、网络隔离的特性。Docker镜像不需要新启动一个操作系统,因此提供了一种轻量级的打包和运行程序的方式。而且Docker能够直接访问硬件,从而使它的I/O操作比虚拟机要快得多。
Docker可以直接跑在物理服务器上,这引起大家的疑问:假如已经用了Docker,还有必要使用OpenStack吗?
还有必要使用OpenStack吗?观点如下:
这个问题和OpenStack没有直接的联系,也可以套在其他云平台上。大家为什么会拿Docker和OpenStack做比较的原因是:OpenStack是私有云环境中最流行的云平台,在私有云环境中,大家认为可以把Docker作为另一种选择。
有关于Hypervisor的误区:很多KVM和Docker的性能测试的对比跟OpenStack一点关系都没有,因为OpenStack只是一种框架。事实上这种性能测试(不管是KVM还是Docker)是跑在OpenStack下,这表明了KVM和Docker可以共存。当使用OpenStack去管理Docker情况下,Docker和OpenStack的争论是没有意义的。
云平台提供一个完整管理数据中心的解决方案,至于用哪种hypervisor或container只是云平台中的一个小部分。像OpenStack这样的云平台包含了多租户的安全、隔离、管理、监控、存储、网络等其他部分。云数据中心的管理需要很多服务支撑,但这和用Docker还是KVM其实没多大关系。
Docker不是一个全功能的VM, 它有很多严重的缺陷,比如安全、Windows支持,因此不能完全替代KVM。现在Docker社区一直在弥补这些缺陷,当然这会带来一定的性能损耗。
原生hypervisor的性能、容器化的性能、应用的性能是不一样的东西,相互对比没有意义。
把Docker容器打包进KVM镜像中对Docker运行几乎没有影响。这种架构通常是用hypervisor来管理计算资源,而像Heat、Cloudify、Kubernetes这样的的orchestration layer都用于管理在hypervisor中的docker容器。
总结
正确看待OpenStack、KVM、Docker的方式应该是: OpenStack用于管理整个数据中心,KVM和Docker作为相应的补充,KVM用于多租户的计算资源管理,Docker Container用于应用程序的打包部署。
OpenStack、KVM、Docker——Docker之后还需要OpenStack吗?的更多相关文章
- [转]用了docker是否还有必要使用openstack?
从一项颠覆性的技术成果转化并衍生出一整套社区体系,Docker在发展速度上打破了一个又一个历史纪录.然而,Docker项目在采纳与普及方面表现出惊人态势的同时,也给我们带来了一系列疑问与困惑. 在今天 ...
- 完整部署CentOS7.2+OpenStack+kvm 云平台环境(3)--为虚拟机指定固定ip
之前在测试环境(centos7.2)上部署了openstack云平台(完整部署CentOS7.2+OpenStack+kvm 云平台环境(1)--基础环境搭建),openstack在neutron组网 ...
- 完整部署CentOS7.2+OpenStack+kvm 云平台环境(1)--基础环境搭建
公司在IDC机房有两台很高配置的服务器,计划在上面部署openstack云平台虚拟化环境,用于承载后期开发测试和其他的一些对内业务.以下对openstack的部署过程及其使用做一详细介绍,仅仅依据本人 ...
- 《4》CentOS7.0+OpenStack+kvm云平台部署—配置Nova
感谢朋友支持本博客,欢迎共同探讨交流,因为能力和时间有限,错误之处在所难免,欢迎指正! 假设转载.请保留作者信息. 博客地址:http://blog.csdn.net/qq_21398167 原博文地 ...
- 完整部署CentOS7.2+OpenStack+kvm 云平台环境(2)--云硬盘等后续配置
继上一篇博客介绍了完整部署CentOS7.2+OpenStack+kvm 云平台环境(1)--基础环境搭建,本篇继续讲述后续部分的内容 1 虚拟机相关1.1 虚拟机位置介绍 openstack上创建的 ...
- 转 kvm、qemu-kvm、ibvirt及openstack,之间的关系
KVM是最底层的hypervisor,它是用来模拟CPU的运行,它缺少了对network和周边I/O的支持,所以我们是没法直接用它的. QEMU-KVM就是一个完整的模拟器,它是构建基于KVM上面的, ...
- OpenStack, kvm, qemu-kvm以及libvirt之关系
OpenStack, kvm, qemu-kvm以及libvirt之关系: KVM是最底层的hypervisor,它是用来模拟CPU的运行,它缺少了对network和周边I/O的支持,所以我们是没法直 ...
- OpenStack+kvm虚拟机xml格式解析
配置说明 首先介绍一下配置结构: xml配置遵循<keyword> xxxxxx </keyword>的格式,即一个配置段以<keyword>开头,以</ke ...
- Migration workstation vms to openstack kvm
Migration workstation vms to openstack kvm 分别分成(磁盘是否拆分,vms 是否 有多个磁盘驱动器) 1, linux迁移 vmware workstatio ...
随机推荐
- QBXT春季培训酱油记
Day-1: 下午回家收拾东西,明天去JN,先通知一下在JN的lll dalao明天去见他,然而手办到了,心情大好啊有没有,有没有! 晚上单曲循环<初音未来的消失>,睡觉的时候哭得稀里哗啦 ...
- vue中的slot理解和使用
最近被vue 搞得一塌糊涂,理解的比较慢,工作进度进度要求太快,需求理解不明,造成了很大的压力. 在理解Vue中的Slot的时候看了网上的相关内容,看了半天没看到明白说的是什么,然后自己就安装了vue ...
- mybatis使用-helloword(一)
前言 首先感谢https://my.oschina.net/zudajun/blog/665956(jd上也出书了貌似) 这位作者.让自己能系统的看完和理解第一个框架的源码(其实我反复看了4遍以上, ...
- MySQL日志格式 binlog_format
MySQL 5.5 中对于二进制日志 (binlog) 有 3 种不同的格式可选:Mixed,Statement,Row,默认格式是 Statement.总结一下这三种格式日志的优缺点. MySQL ...
- 关于Hanoi算法
java经典算法——河内算法(Hanoi) 有三根相邻的柱子,标号为A,B,C,A柱子上从下到上按金字塔状叠放着n个不同大小的圆盘,要把所有盘子一个一个移动到柱子B上,并且每次移动同一根柱子上都不能出 ...
- Javascript中的原型继承具体解释
js中的继承,是面向对象的知识,由于js没有类的概念.所以继承是通过对象实现的.谈到继承.就必须说到prototype,就不得不先说下new的过程. 一个小小的列子: <script type= ...
- 在java中,怎样跳出当前的多重循环?
</pre>直接用break ;详细举比例如以下:<p></p><p></p><p></p><pre name ...
- hdu1716(库函数next_permutation)
题目意思: 现有四张卡片,用这四张卡片能排列出非常多不同的4位数,要求按从小到大的顺序输出这些4位数. 注意首位没有前导0 pid=1716">http://acm.hdu.edu.c ...
- Empower Developers
 Empower Developers Timothy High THingS ARE uSuAlly EASiER SAid THAn donE, and software architects ...
- 局部变量,全局变量,extend,static
main.c #include <stdio.h> #include "zs.h" /* 局部变量是定义在函数.代码块.函数形参列表.存储在栈中,从定义的那一行开始作用 ...