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

(续上篇)

拙文《VMware的云原生应用战略(上)》发表后,反响强烈,收到许多朋友的鼓励和支持,特此谢过。此为下篇,希望能给大家带来更多启示。

Flocker的vSphere存储驱动

微服务架构的容器里许多都是无状态的(stateless)的服务,如API gateway,web服务器等。无状态的容器优点很明显,可以快速启动、水平扩展和自由迁移。另一方面,有状态(stateful)容器的数量也逐渐增多,象MySQL,Redis,MongoDB等容器也很普遍。由于容器通常是频繁创建和删除的,这些有状态的容器需要把持久化数据保留在容器外(例如宿主机)的文件系统中。在Docker中可使用-v参数把容器的数据卷(data volume)映射到宿主机中,但当容器迁移到其他机器时,数据卷只能遗留在原来的宿主机上,容器也就无法访问到原来的数据了。

开源项目Flocker就是为解决上述问题而设计的,它把数据卷保存在共享存储上,在迁移容器时,将数据卷相应地挂载到目标主机的容器中。对容器而言,数据卷可以如影随形,“你走我也走”。为了支持持久化容器应用的运行,VMware发布了开源的Flocker驱动程序,在ESX虚拟机运行的容器可以迁移到另一个ESX的虚拟机中,同时带上该容器的数据卷。所有vSphere的datastore都支持Flocker,包括VSAN, VVOL, VMFS和NFS。通过这个驱动,分布式容器应用和分布式存储技术VSAN完美地结合,如同好马配好鞍一样。

感兴趣的朋友可以看看以下ESX上Flocker的演示:

视频内容

AppCatalyst

AppCatalyst直译就是“应用的催化剂”。顾名思义,这个工具是为了加快云应用开发过程,目标是提供“本本上的数据中心”(Data center on a laptop)。

在云原生应用中,随着微服务架构和容器技术广泛使用,在开发调试的时候少不了用虚拟机构建分布式的环境,因此,用二类(Type 2)Hypervisor来搭建这类环境最适宜。AppCatalyst采用VMware企业级的Fusion虚拟化内核(目前支持Mac OS ),自带PhotonOS的虚机模板,能便捷地生成Docker和Vagrant的运行环境。新增的SharedFolder功能可在容器和宿主机之间共享持久化的文件,更加接近真实环境中的持久化场景。AppCatalyst还提供CLI和RESTAPI接口,适合多容器和微服务应用的自动化编排流程,支持Docker Machine。使用AppCatalyst可以生成稳定可靠的多结点、多容器的运行环境,只用一台laptop就可调试数据中心级的应用,想着都觉得酷。最让程序员们开心的莫过于AppCatalyst是免费的,可从这个网站下载:http://getappcatalyst.com/。目前支持Mac OS 10.9以上的操作系统。有关AppCatalyst的详细介绍请参见本文末。

vRealize Code Stream

目前主流的云应用开发都使用持续集成(Continuous Integration,简称CI)的模式,结合微服务的架构,每个小的更新都可以迅速地完成编译、构建、单元测试和集成测试等工作,然后部署到生产系统中去。但在企业传统的运维方式中,更新生产系统是非常慎重的事情,通常需要提前一定时间的规划,并且含有许多手工过程。显然,低速的运维方式已经不能匹配云时代敏捷迭代的开发方式,就是我们常说的Dev和Ops之间的矛盾,是现在企业亟需解决的问题。

vRealize Code Stream(VCS)就是帮助用户延伸和贯通整个DevOps流程的管理工具。VCS最主要的功能是流水线自动化(Pipeline Automation),很方便地在流水线中接入各种软件开发工具链(如Git, Jenkins,Selenium等),然后进行统一管理。软件项目象水管一节一节的分成阶段,每阶段包含若干个任务,在每阶段任务结束之后,设立象阀门一样的gating rules,用规则来控制流程是否往前推进。VCS内置了JFrog的Artifactory,用来存放任务的执行结果,如编译过的目标码,打包后的Docker镜像等,在任务间起到承上启下的作用,同时它还作为不同版本的存储仓库,发布应用时可以从中选择特定版本的。

VCS属于vRA(vRealize Automation)的一部分,已经部署vRA的用户可以直接安装VCS使用。VCS本身也内置了各类SDLC工具的支持,从这些工具中提取各种管理信息,如Jenkins中的Job Id等等。下面是VCS的接口图:

结束语

通过本文的介绍,我们看到VMware在云原生应用的各个领域全面发力,产品Roadmap涵盖了开发栈,生产栈和DevOps三大部分。其中的生产栈平台分为VMware Integrated Container(传统与云原生应用混合)和Photon Platform(大规模云原生应用平台),适合不同转型阶段的企业选用。目前,Code Stream是可以交付给用户的正式产品,其他产品大多还处于Technical Preview阶段,预计在明年上半年发布用户可试用的版本,让我们拭目以待吧。

本文仅代表个人观点,和作者所在公司无关。

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

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

原始发表时间:2015-10-11

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Sorrower的专栏

Mac和Ubuntu下修改pip源和TensorFlow(CPU)安装

这篇是对上一篇的补充, 主要是macOS和Ubuntu下的cpu版的TensorFlow安装, 整体都比较简单.

16930
来自专栏机器之心

刚刚,Facebook把服务27亿人的AI硬件系统开源了

Facebook 的基础设施现在每月为其整个应用和服务系统上超过 27 亿的人提供服务。他们的工程师设计并创建了高级、高效的系统来扩大这一基础设施,但是随着工作...

12730
来自专栏前端社区

Mac OS下包管理器Homebrew的安装与使用

Mac OS X是基于Unix的,它可以使用非常多Linux平台上开源的优秀工具,比如wget,比如dos2unix脚本工具等。 但是OS X系统本身却缺少Li...

17830
来自专栏数据库测评

云测评-RedisGraph 1.0的基准测试

导读:这篇文章来自RedisGraph团队,RedisGraph是一个Redis内嵌高性能内存图数据库。翻译由云测评君公众号完成。本文介绍了RedisGraph...

54660
来自专栏阿dai_linux

解决MacOS升级系统Sierra到Mojave后git报错

(adsbygoogle = window.adsbygoogle || []).push({});

18830
来自专栏Albert陈凯

2019-03-28 mac 用brew安装nginx

28630
来自专栏前端社区

Apple ID 换区填坑小记

版权归作者所有,任何形式转载请联系作者。 作者:Azeril(来自豆瓣) 来源:https://www.douban.com/note/653557027/

2.5K60
来自专栏数据库测评

云测评-MongoDB存储引擎谁更强

导读:本文作者是来自Percona的支持工程师 Vinodh Krishnaswamy 和 Aayushi Mangal。这篇文章主要介绍了MongoDB中两个...

35970
来自专栏技术面面观

使用Clion优雅的完全远程自动同步和远程调试c++

摘要:在linux上用vim写C++的时候,通常用gdb进行调试,不能随心所欲的看代码和跳转代码以及加watch(也有可能是因为我还没有get正确的使用方法)。...

5.5K90
来自专栏亨利笔记

VMware的云原生应用战略

为方便阅读和分享,应读者要求,把《云原生应用战略》上、下两篇合并发表。作为福利,新增加了vSphere Integrated Container的演示视频。

16640

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励