专栏首页亨利笔记VMware的云原生应用战略(上)

VMware的云原生应用战略(上)

在去年VMworld大会时VMware宣布了全面支持容器,并前瞻性的指出容器和虚机是”Better together”的。转眼间一年过去了,在今年刚结束的VMworld大会上,VMware发布了一系列和容器相关的技术和产品,我们逐渐清晰地看到VMware在云原生应用(Cloud Native Apps)领域的布局和蓝图,仿佛一幅宏大的画卷缓缓地展现在我们面前。

先前有不少抢“鲜”发表的文章,笔者感觉没有完全解读到点子上,甚至包含错误的信息,希望本文可以帮助大家端正视听。建议手机横屏阅读。

VMworld发布或展示的新产品和技术主要包括: VMware Integrated Container (VIC), Photon Platform, 以及支持Flocker的ESX容器存储驱动。另外,早些时候发布的AppCatalyst, Photon OS 和Code Stream这几个产品也更新了版本。从技术栈上看,涵盖了云原生应用的开发栈,生产栈和DevOps三部分,这里分别给大家介绍一下。

VMware Integrated Container

VMware Integrated Container (VIC) 扩展了ESX的能力, 使得用户在虚拟化基础设施上迅速地部署容器应用,并且可以与已有的虚拟机集群无差别地统一管理。VIC包含了三种核心技术:虚机化容器(Project Bonneville), ESX 6.0的即时克隆(Instant Clone),优化的容器操作系统Photon OS (光子操作系统)。

1.虚机化容器(Project Bonneville)解决的是容器“先天不足”的安全性和隔离性问题。由于容器的本质是操作系统虚拟的运行环境,在一些场景难以满足企业要求,如公有云、机密数据应用等。目前较好解决的办法就是采用轻量级虚机来承载容器里的应用,从而容器就是虚拟机,虚拟机就是容器。不仅保留了容器快速灵活的特性,而且还具备了虚机硬件级别的隔离度,可谓珠联璧合,相得益彰。 Project Bonneville相当于在ESX上完整实现了Docker API,支持Docker Compose、 Swarm等工具。有关Bonneville架构详解可参考本号之前的文章。

2.即时克隆(Instant Clone)是ESX 6.0的新功能,可以快速地复制运行态的虚拟机。克隆虚拟机在云计算中已是家常便饭了, 但克隆运行着的虚机则是VMware独有的技术,不仅把模板虚机的磁盘镜像用CoW(Copy on Write)的方式复制,而且连新生成的虚机内存都做了CoW式的拷贝。这种方式克隆出来的虚拟机跳过了OS的启动步骤,在1秒钟内可创建出来,很接近在Linux里面创建Container的时间。

3.Photon OS是VMware为安全运行容器应用而发布的Linux发行版,特点是大大优化了虚拟环境中的Linux运行效率和安全性,并且由VMware公司提供企业级的支持。Photon OS完整版本大约有两三百MB,在VIC里面作为模板的是Photon微缩(pico)版本,大约只有25MB。这样生成的虚机称为“jeVM”(just enough VM),内存开销很小,为运行容器专用。

融合上述三种技术,创建虚机化容器的过程可以概括如下:先准备好一个运行态的Photon OS虚拟机作为模板,当需要运行容器化应用的时候,VIC使用即时克隆技术复制出一个虚拟机,并且把容器镜像中的文件系统mount到虚拟机里面,然后再运行容器镜像中的应用。整个启动过程象Linux容器一样迅速,并兼容Docker的容器镜像,而且还具有硬件级别的隔离性,毫不夸张地说是“一箭三雕”。更多技术细节参见本号之前有关Bonneville的文章。

除了大大提高容器化应用的隔离性之外,VIC还有更“惊艳”的优势。因为容器就是虚拟机,用户现有大量管理虚拟机的工具可直接运用在容器之上,例如,容器的性能监控就是虚机的监控,容器的热迁移、HA、负载均衡等就是虚机的相应操作,还可以使用网络NSX和分布式存储VSAN,这些自然而然的强大功能都是vSphere用户了如指掌的。所以,当看到VMWorld上面的demo之后,用户通常是“WOW”一声惊叹,然后争相要求试用VIC。下图中可看到VIC和vCenter集成的界面。

Photon Platform(光子平台)

VMware的云原生应用产品名字都是和光有关的,如Photon, Lightwave等,“光”的英文单词是“Light”,又有轻盈灵巧的含义。

VIC目标是给用户提供虚拟机和容器的统一管理平台(Unified Platform),相比之下,另一产品Photon Platform(光子平台)则是专门为云原生应用设计的,特别适合运行由成千上百、海量规模的容器组成的微服务应用。Photon Platform分为2个层次:Photon Machine 和Photon Controller,支持Mesos, Cloud Foundry, Kubernetes等开源框架。

Photon Machine (光子机器)

Photon Machine包括了轻量级的ESX Server(称为Microvisor)和内置的Photon OS。Microvisor和ESX Server相比,去掉了一些复杂的功能(例如vMotion, HA, FT, DRS等),使其管理更加简便,适合更大规模容器应用的快速部署。

Photon Controller(光子控制器)

Photon Controller是分布式的控制器,目标是帮助用户快速地创建各种云平台的集群,包括Kubernetes, Cloud Foundry, Mesos, Hadoop, OpenStack等。当云集群创建完毕后,用户可以通过该集群的API来调用。Photon Controller不再依赖传统的vCenter,它重新设计了集群的provisioning方法,即使面对数千结点的构建任务,也面不改色地轻松打发。

Photon Controller还使用了今年4月份开源的Project Lightwave来增强安全能力。Lightwave的代码是从vSphere源码安全模块中抽取出来的,是历经多年实用验证过的,这部分开源的ESX代码以及即将开源的Photon Controller,都显示了VMware推动云原生应用技术发展的决心。

从下面Photon Platform的架构图可以看到在这个多租户环境中命令的执行顺序如下:

1. 在同一个Photon Machine集群中分别创建Cloud Foundry和K8s的集群,

2. 用Cloud Foundry的命令在集群中部署和扩展应用

3. 用K8s的命令在集群中部署容器应用Pod

本篇结束前再对比一下VIC和Photon Platform两个平台,前者是对现有ESX功能的延伸和扩充,使用户能够在已有的虚拟化平台上运行容器应用; 后者则是全新的平台,用于支撑海量规模的云应用,支持各种开放的API:

题图照片摄于宁夏贺兰山麓

(未完待续)

因为无法打开评论功能,如果您喜欢本文,请通过“点赞”反馈给笔者,谢谢。

本文分享自微信公众号 - 亨利笔记(henglibiji)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2015-09-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Kali Linux Web渗透测试手册(第二版) - 7.4 - Linux上的权限提升

    thr0cyte,Gr33k,花花,MrTools,R1ght0us,7089bAt

    用户1631416
  • Linux 下换行符转换

    Windows下是CRLF(\r\n或0d0a),Linux下是LF(\n或0a)。在Linux下有时会遇到从Windows过来的文本文件,这些文件带了Wind...

    大数据工程师-公子
  • 源码解读Linux的limits.conf文件

    本文不一定适合比较老版本的Linux,如果只关心使用,请直接看“总结”,本文主要针对CentOS,其它Linux发行版本类似,但细节可能有出入,比如重启服务...

    一见
  • Linux上获取CPU Core个数的实现

    1) 调用系统提供的函数get_nprocs(),可以在头文件sys/sysinfo.h中发现它

    一见
  • linux下文件数、目录数、文件名长度的各种限制

    以下测试都是在没有优化或修改内核的前提下测试的结果 1. 测试目的:ext3文件系统下filename最大字符长度   测试平台:RHEL5U3_x64  ...

    一见
  • Mac OS X在终端中打开文件夹窗口

    版权声明:如未注明转载,则均为公子原创。原创不

    大数据工程师-公子
  • Linux后台开发常用工具

    sed单引号替换(特殊字符需要使用反斜线”\”进行转义) sed 's/原字符串/替换字符串/' sed双引号替换 sed "s/原字符串包含'/...

    一见
  • 使用Linux自带日志滚动工具logrotate滚动redis日志示例

    截至到redis-5.0版本,redis仍然不会自动滚动日志文件,如果不处理则日志文件日积月累越来越大,最终将导致磁盘满告警:

    一见
  • linux下测试磁盘的读写IO速度

    有时候我们在做维护的时候,总会遇到类似于IO特别高,但不能判定是IO瓶颈还是软件参数设置不当导致热盘的问题.这时候通常希望能知道磁盘的读写速度,来进行下一步的决...

    一见
  • Linux下的strerror是否线程安全?

    man strerror即可看到相关说明,strerror_r是线程安全的,但不带_r的strerror是非线程安全的。

    一见

扫码关注云+社区

领取腾讯云代金券