原文链接: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吗?的更多相关文章

  1. [转]用了docker是否还有必要使用openstack?

    从一项颠覆性的技术成果转化并衍生出一整套社区体系,Docker在发展速度上打破了一个又一个历史纪录.然而,Docker项目在采纳与普及方面表现出惊人态势的同时,也给我们带来了一系列疑问与困惑. 在今天 ...

  2. 完整部署CentOS7.2+OpenStack+kvm 云平台环境(3)--为虚拟机指定固定ip

    之前在测试环境(centos7.2)上部署了openstack云平台(完整部署CentOS7.2+OpenStack+kvm 云平台环境(1)--基础环境搭建),openstack在neutron组网 ...

  3. 完整部署CentOS7.2+OpenStack+kvm 云平台环境(1)--基础环境搭建

    公司在IDC机房有两台很高配置的服务器,计划在上面部署openstack云平台虚拟化环境,用于承载后期开发测试和其他的一些对内业务.以下对openstack的部署过程及其使用做一详细介绍,仅仅依据本人 ...

  4. 《4》CentOS7.0+OpenStack+kvm云平台部署—配置Nova

    感谢朋友支持本博客,欢迎共同探讨交流,因为能力和时间有限,错误之处在所难免,欢迎指正! 假设转载.请保留作者信息. 博客地址:http://blog.csdn.net/qq_21398167 原博文地 ...

  5. 完整部署CentOS7.2+OpenStack+kvm 云平台环境(2)--云硬盘等后续配置

    继上一篇博客介绍了完整部署CentOS7.2+OpenStack+kvm 云平台环境(1)--基础环境搭建,本篇继续讲述后续部分的内容 1 虚拟机相关1.1 虚拟机位置介绍 openstack上创建的 ...

  6. 转 kvm、qemu-kvm、ibvirt及openstack,之间的关系

    KVM是最底层的hypervisor,它是用来模拟CPU的运行,它缺少了对network和周边I/O的支持,所以我们是没法直接用它的. QEMU-KVM就是一个完整的模拟器,它是构建基于KVM上面的, ...

  7. OpenStack, kvm, qemu-kvm以及libvirt之关系

    OpenStack, kvm, qemu-kvm以及libvirt之关系: KVM是最底层的hypervisor,它是用来模拟CPU的运行,它缺少了对network和周边I/O的支持,所以我们是没法直 ...

  8. OpenStack+kvm虚拟机xml格式解析

    配置说明 首先介绍一下配置结构: xml配置遵循<keyword> xxxxxx </keyword>的格式,即一个配置段以<keyword>开头,以</ke ...

  9. Migration workstation vms to openstack kvm

    Migration workstation vms to openstack kvm 分别分成(磁盘是否拆分,vms 是否 有多个磁盘驱动器) 1, linux迁移 vmware workstatio ...

随机推荐

  1. STM32F103 rtthread工程构建

    目录 STM32F103 工程构建 1.基本情况 2.硬件连接 3.rtthread配置 4.点灯 5. 码云上git操作 STM32F103 工程构建 1.基本情况 RAM 20K ROM 64K ...

  2. C#第四节课

    分值语句(1) using System;using System.Collections.Generic;using System.Linq;using System.Text;using Syst ...

  3. Jquery向页面append新元素之后,如何解决事件的绑定问题?

    今天有get到一个新知识点,就是当我们向页面添加新的元素之后,加载之前的函数方法就对新元素失效了,下面我来说说如何解决这个问题的? 我先看jq api文档没有找到方法,无果只好到网上找些资料,果然找到 ...

  4. sql积累

    mysql 修改一列自增长 set @rownum=0; update a SET id = ( select @rownum := @rownum +1 as nid) WHERE id < ...

  5. android debug签名文件

    现象 可以运行程序,但不能启动安装成功的软件 并且run application的时候也不弹出界面. 路径: C:\Users\sunfb\.android 下替换debug.keystore 就OK

  6. 0926mysql join的原理

    转自 http://www.cnblogs.com/shengdimaya/p/7123069.html MySQL JOIN原理   先看一下实验的两张表: 表comments,总行数28856 表 ...

  7. [bzoj3680]吊打XXX_模拟退火

    吊打XXX bzoj-3680 题目大意:在平面上给定n个点,每个点有一个权值.请在平面上找出一个点(不一定在这n个点内找)使得这个点到n个点的距离*权值最小,即求这n个点的重心. 注释:$1\le ...

  8. hdoj 1257最少拦截系统

     /*最少拦截系统 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Tota ...

  9. AIX下sort命令简介及使用

    AIX下sort命令简介及使用 sort -rn +3 , r倒排序,n按照数字排序:  +3按照第四列排序: 第一列是+0: 学习:http://blog.csdn.net/chen_linbo/a ...

  10. MVVM设计模式基础知识--ICommand接口

    命令是 Windows Presentation Foundation (WPF) 中的输入机制,它提供的输入处理比设备输入具有更高的语义级别. 命令有若干用途: 第一个用途是将语义以及调用命令的对象 ...