Heroku 通过 Private Spaces 来隔离云应用

  • Richard Seroter
  • 陆志伟

2015 年 9 月 21 日

话题:DevOps语言 & 开发架构

五年前,自从被 Salesforce 收购以后,Heroku 就以发展成为面向开发者、独立的 PaaS 这一目标继续努力着。最近发布的Heroku Private Spaces beta 版本——包含在Heroku Enterprise bundle 和部分Salesforce 新应用云中——解决了一个关键的运维安全问题,同时带来了如何一起使用 Salesfroce 和 Heroku 问题的清晰方案。

Heroku Private Spaces 为在公共云中运行的应用和数据服务提供了网络隔离。而如今的 Heroku 用户可以简单的选择将应用部署在“美国”或者“欧洲”,Private Space 就能被部署在 Virginia,Oregon,Frankfurt,Dublin,Sydney 或者 Tokyo。在Private Spaces beta 版本介绍这篇博客文章中,Heroku 解释了他们是如何隔离应用,而却维持一个共享的控制平面的。

Heroku Private Space 吸收了所有 Heroku 应用的熟悉元素,包括 dynos 和数据服务。这些元素从“公共”系统中被部署和运行在网络隔离环境中,并保持它们的运行和健康。这种网络隔离环境将“私有的”应用隔离,包括相关的数据。

这种新的混合的多用户控制平面,具备私有运行 (private runtimes) 的特性使其成为独一无二的架构,并且现在的 Heroku,允许共享相同的开发和部署经验。你在 Private Spaces 上开发和部署应用就跟平常在 Heroku 上一样;Heroku 按钮,git push 部署,审查应用,流水线(pipelines),无缝扩展,自我修复和生态系统元素——所有这些都包含在 Private Spaces 里。

开发者在向同一空间推送多个应用时,可以共享私有数据服务,可以通过任何 TCP 或者 UDP 端口和协议互相通信。支持的数据服务,包括 Postgres 和 Redis,并且这两者成为驻留在 Private Space 内的专用服务实例。虽然运行和数据服务驻留在网络内——隔离的 Private Space,但是 Heroku 的核心服务——包括 git 库和构建服务——都驻留在 Virginia 地区,不会被复制到 Private Space。用户通过白名单 IP 地址段控制访问私有网络。不会出现 Heroku 用户能够控制 IP 空间定义,或者能够通过 VPN 连接到 Private Space。

该服务面向系统管理员和那些寻找额外的安全控制的人员。Heroku 吹捧“无需额外配置或者操作要求就能使用你的空间”,并且能够对部署在共享的公共组织或者 Private Space 内的应用使用相同的管理仪表。如果需要细粒度的安全控制,那么Heroku Enterprise用户可以连接到 Active Directory 或者通过新版Heroku Identity Federation连接到 Salesforce Identity。

难道 Heroku 新事业的重心是帮助总公司 Salesforce.com,使其策略具体化?分析师 Ben Kepes 一直关注着 Salesforce 的发展,他坚信他们终于开始要组合不同的云产品了

过去的八年甚至更久,我一直在关注 Salesforce,我已经对其销售的不同“云”的绝对数量变得越来越麻木。他们是 the Salesforce Sales Cloud,但是它已经加入了 the Service Cloud,还有 the Community Cloud,the Marketing Cloud,the Analytics Cloud 等等……等等。正如我们一些 Salesforce 观察者所言,也许是时候将其中一些云产品组合起来,使用户能够得到一个一致和连贯的产品组合。

Salesforce 需要讲述一个更连贯的故事:Heroku 将如何在更广阔的 Salesforce 平台环境下运行。通过在顶端将其滚向应用云,对特征结构和访问控制进行分层,经过漫长的工作,Salesforce 已经回答了一些人们的批评:是什么让人们开始感觉像一个极不协调的开发方法。

Ovum 的Laurent Lacha 告诉 InfoWorld,Salesforce 正试图让 Heroku 对“企业更友好。”

他说:“在 Salesforce 的影响下,Heroku 的消费者市场正从原来的个人开发者扩张到以构建企业应用为目的的企业开发者。”

SalesForce App Cloud 承诺“开发者可以使用 Heroku 和 Force 服务来构建应用,并且用户不需要担心程序内容在哪运行,”根据 Fortune 的 Barb 所言。虽然,通常 Heroku 都是面向外部的应用,Salesforce 是面向员工的应用,但是 App Cloud 执行副总裁 Tod Nielsen 认为,现在用户可以将这些经验联系起来。

Nielsen 同意历来 Heroku 和 Force.com 都是针对不同的群体,但是他维护到,这种情况正在改变。“企业用户需要 Heroku 的敏捷和功能,但是问题是他们不信任公共互联网,但是他们信任 Salesforce。”

Gartner 的 Yefim Natis指出,Salesforce 和 Heroku 拥有完全不同的架构和开发经验,但是这可以成为它们的优势。

Natis 说,用户需要这两种类型的开发经验。首先,是高控制环境,由商务人士使用,他们不需要是代码骑师,只需要构建符合他们需求的应用。其次,是高生产力类型,由真正的开发奇才使用,他们希望从头开始重新造轮子,构建完全符合他们需求的应用。

“你需要两种类型 [开发经验],并且 Salesfroce.com 都具备,”Natis 补充道。“在高科技的大牌中,只有 Salesforce 同时具备高控制和高生产力工具,能够将它们轻松地集成在一块。”

Heroku Private Space 正在测试阶段,直到 2016 年发布通用版本才会有定价。加入测试版本的用户可以获得一个 Heroku Enterprise 沙箱账户,账户有一个开启的 Private Space。

查看英文原文Heroku Adds Private Spaces for Isolating Cloud Apps


感谢张龙对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

DevOps语言 & 开发架构