Pivotal Cloud Foundry 新增 Docker 和 Netflix OSS 服务的支持

  • Richard Seroter
  • 适兕

2015 年 11 月 8 日

话题:.NET云计算DevOps语言 & 开发架构

今天,Pivotal发布了Pivotal Cloud Foundry(PCF)的升级,PCF 是非常流行的用于构建、部署和运行 Cloud-native 应用的开源平台 Cloud Foundry的商业版本。此次 1.6 版本的发布,给了开发者可以原生访问 Spring 云平台的 Netflix OSS 服务的子集、内置.Net 应用的支持、对 Docker 镜像的内测支持、以及集成 ALM 工具到源码控制和持续集成。InfoQ 和 Pivotal 云平台的总经理兼副总裁 James Watters 进行了交流,以了解更多的内幕。

开源项目Cloud Foundry-过去称之为平台即服务(PaaS),但是现在更加的倾向于 cloud-native 平台--包括了应用程序在运行时的自我修复、支持更多的开源编程语言和开发框架、部署工具、集中的日志、健康监控、以及应用服务框架等等。Pivotal 在2013整合后发布了其第一个商业版的 Cloud Foundry。它提供“企业级”的特性,如基于 web 的管理界面、可以安装到各种流行的基础设施中的软件包、应用服务市场、以及专业的支持。Watters 告诉 InfoQ,PCF 的第一个版本仅能在 vSphere 环境中运行,但随后的 1.x 版本就对多个云平台做了支持。PCF 现在可以原生的运行在 vSphere、OpenStack、AWS、以及 CenturyLink 等云平台中。此次 1.6 版本还增加了对微软 Azure 的支持。

据 Watters 透露,新版本的 PCF 聚焦于技术组织来写12-factor或者 cloud-native 的应用。Pivotal 过去在 Java 上做了很多的创新,尤其是Spring 框架。Netflix 是构建弹性 cloud-native 应用的典范,而且和Pivotal 进行合作添加了很多开源的 Netflix 服务的支持到项目中,而这个项目就是Spring 云。基于对Spring Boot的支持,(现在叫 Spring 云服务),Watters 称 PCF 是“运行 cloud-native 的应用是可选的,不行就创建它们”。PCF 所提供的 Spring 云驱动的服务有:

  • 配置服务。Cloud Foundry 提供基本的轻量级的环境变量来存储共享的配置,但是配置服务可以做的更多,它是基于 Git 的服务,这就意味着可以跨开发/测试/生产环境中使用,而且可无缝集成到 Spring 的应用中。
  • 服务注册 。基于 Netflix 的Eureka项目。它为运行在 PCF 的 Spring 应用提供了自动发现功能。开发者再也不用硬编码来处理依赖服务了,开发者可以在运行时使用服务发现来注册和定位服务。
  • 断点仪表。弹性的分布式系统可防止连锁的失效。来自 Netflix 开源软件的Hystrix就是此断点模式的实际实现。PCF 的用户可以用此来应对 Spring 云服务的失效情况,且可提供失效切换直到有问题的服务恢复正常。

Pivotal 在 PCF 中还对基于 Windows 的.NET 应用提供了官方的支持,Pivotal 发行注记中称:

由于在这个最新的版本中采用了新一代的运行时交付,使得.NET 应用程序现在可以运行在 Pivotal Cloud Foundry 中了。基于这个为.NET 所扩展的支持,企业可以得到由基于 Linux 和 Windows 应用的所组成的异质环境的支持。.NET 的应用会以原生的姿态运行在 Windows Server 2012 R2 Hyper-V 的虚拟机中,且 PCF 可以使用相同的命令来管理这些应用,还有像已有的应用那样活的相同一致的 Day 2 运维好处。

Watters 说道,从用户的角度来看,.NET 的应用在 PCF 中受到一流的待遇,像其它所有支持的语言和框架一样都能够做到本地服务发现、健康管理、伸缩、以及开发工具的支持。然而,Spring 云服务不能够支持.NET 的应用,还有运维人员也不能使用发布管理工具 BOSH来部署需要的 Windows Server 2012 主机服务器。Watters 表示,这些差别很快就会被弥补。

Docker 在现代的平台和维服务讨论中绝对是占主导地位的。Pivotal 通过为 PCF 增加(测试)运行 Docker 容器的支持来加入这个阵营,Pivotal描述了它是如何工作的基本原理。

Docker 的应用现在可以使用 Pivotal Cloud Foundry 平台的功能了,诸如调度、健康管理、负载均衡、企业身份、日志、以及多个云平台的支持等。现在仍处于测试阶段,原生 Docker 镜像的支持使新的运行时弹性成为可能,且让 Pivotal Cloud Foundry 能够在今天的市场中利用容器管理系统的优点。用户可以在 Pivotal Cloud Foundry 中部署应用时使用来自公网的拥有安全的注册处的 Docker 镜像,比如 Docker Hub。

Watters 告诉 InfoQ,当开发者向 PCF 推送一个应用时,他们是可以使用注册处位置的链接的,从而下载 Docker 镜像然后将之部署到平台中的。然而,Watters 澄清说,“支持 Docker”并不是意味着开发者可以随意的拉下任意的 Docker 镜像、有状态、以及其它的支持如启动它们、拥有 Docker 的编排和管理。举例来说,是不可以部署官方的Cassandra Docker 镜像的,也无法做到开发者绑定的应用作为一个服务抛给 PCF。相反,Pivotal 可以接受开发者在他们自己的持续集成环境中所构建的 Docker 镜像,PCF 所支持的 Docker 能满足特定的某些场景。相对于成为一个通用的 Docker 编排引擎,它提供了一个部署代码用的备用机制。

Pivotal 还在 PCF 中增加了内置的应用程序生命周期管理工具的支持。具体来说,Pivotal 和一些老牌的持续集成/开发厂商进行合作,将这些交给最擅长的公司去做。

建立在流行的软件项目管理工具-Pivotal Tracker,用户可以集成 Gitlab 源代码核心仓库、CloudBee Jenkins 持续集成、以及 JFrog Artifactory 二进制 artifact 管理使之可管理的平台版本。通过提供现代应用交付工具链的构建块,Pivotal 鼓励软件企业要充满信心并加速构建和部署微服务和原生云应用。

Github 是很多开源项目重要的归属地,但是其本身并不是开源的。Pivotal 新的合作伙伴Gitlab给 Watters 带来很多惊喜,其强大的开源软件软代码控制服务能够接受 pull request,从而获得新的特性。

谁是 Pivotal 视为最强大的竞争对手?据 Watters 透露,还是 AWS。云的用户经常认为使用 AWS 就足矣,甚至都到了非亚马逊就没有原生云应用这么一说。但是,Watters 说,“人们要想成功,就不能光是考虑亚马逊”。Watters 认为 Pivotal 一些最优质的客户第一次自己尝试创建平台,随后就会问出“为我的组织做些什么正确的事情?”

查看英文原文Pivotal Cloud Foundry Adds Netflix OSS Services,Docker Support

.NET云计算DevOps语言 & 开发架构