7个最佳企业开源云平台

构建专属云平台,节省巨额成本

维护服务器空间、开发环境、安全性、软件堆栈、软件更新以及硬件维护等诸多事项,往往使得整个平台的维护成本高到令人难以承受。 对于开发和部署应用程序的公司而言,需要投入大量资源来维护平台的正常运行——而这些资源原本可以用于软件开发的。

正因如此,云平台解决方案应运而生。这些方案采用云计算模型,为开发人员提供所需的一切,包括托管开发环境、数据库工具以及全面的应用程序管理功能。 在云平台中工作的开发人员可以访问构建、部署和启动软件应用程序所需的全部资源。 对于企业而言,云平台可以为需要在短期内交付的新应用程序提供可扩展的基础。 采用按需付费模式,无需对本地平台进行长期投资。

为何选择开源?

既然我们已经阐明了云平台相较于传统本地平台的优势,那么下一个问题就是:为什么开源云平台比专有云平台更胜一筹? 最显而易见的答案是成本:专有解决方案的许可费用往往价格不菲。 另一个显著优势在于选择各种框架、云服务及工具的灵活性和自由度。

相反,专有平台可能会将您绑定在其拥有的工具和服务之上。 作为交换,它们会提供一些优势,例如对服务级别协议 (SLA) 的承诺,并让您避免测试和集成等难题。 但这些优势难以超越开放性所带来的好处。

以下是目前市场上一些主流的企业级开源云平台。

Cloud Foundry

Cloud Foundry 最初由 VMware 开发(现归 Pivotal Software 所有),它以开源、独立的软件应用程序形式提供,使其不受云服务提供商的限制。 Cloud Foundry可以部署在 VMware vSphere 或其他云基础设施上,如 HP Helion、Azure 或 AWS。 您甚至可以选择将其托管在您自己的 OpenStack 服务器上。

Cloud Foundry 通过使用 buildpack 促进运行时和框架支持。 每当您推送应用程序时,Cloud Foundry 应用程序运行时都会为其选择最合适的 buildpack。 然后,buildpack 负责编译应用程序并准备启动。

Cloud Foundry 旨在通过高度可扩展的架构和对 DevOps 友好的工作流程,实现快速的应用程序开发和部署。 其语言支持包括 Python、Ruby、PHP、Java 和 Go 等。 但是,为了充分利用 Cloud Foundry,建议您的项目遵循十二要素应用程序标准:这是一种专门用于开发最佳软件即服务 (SaaS) 应用程序的方法。

Udemy 上有关于使用 Cloud Foundry 进行云开发的优质课程。

WSO2

如果您在面向服务的架构 (SOA) 方面投入大量精力,那么您必然需要处理大量的内部和外部 API。 在这种情况下,WSO2 凭借其 API 管理器能够处理整个 API 生命周期。 WSO2 符合您的客户可能提出的大部分需求,包括版本控制、API 文档和 SSL 卸载。

WSO2 采用商店概念,开发人员可以在其中查找、试用和评价 API。部署过程简单直接,并提供多种选项来控制 API 的流程。 它还提供自动恢复功能,以应对端点暂停的情况。 所有这些特性都旨在缩短上市时间、简化成本管理,并整体提高业务流程的敏捷性。

WSO2 API 管理器的一个突出优点是它与 WSO2 Identity Server 的轻松集成。 WSO2 Identity Server 是一种 API 驱动的身份和访问管理 (IAM) 解决方案。 这种集成提供了一个友好的跨云环境身份验证平台。

Cloudify

Cloudify 是一个编排框架,旨在对应用程序和服务进行建模,同时实现其生命周期的自动化。 这包括在任何云环境或数据中心部署并执行持续维护的能力。 它还提供工具来监控已部署应用程序的各个方面,检测故障情况并手动或自动解决它们。

Cloudify 最显著的功能之一是基于 TOSCA 的蓝图建模。 这项创新使得开发人员可以使用 YAML 创建应用程序拓扑的蓝图。 YAML 是一种人类可读的数据序列化语言,用于编写基于 TOSCA 规范的定义。它为开发人员提供了一种标准化的方法来描述应用程序、系统和云基础设施组件之间的互连。

Cloudify 云编排为 IT 治理和安全提供了坚实的基础,用户可以应用具有不同角色和权限级别的访问限制。 为了与外部服务进行通信,如 Kubernetes 容器、云服务(AWS、Azure、vSphere、OpenStack)和配置管理工具(Puppet、Ansible、Chef),Cloudify 使用其官方插件集。 许多其他服务则通过通用的现有插件集进行支持。

OpenShift

OpenShift 是一个基于 Kubernetes 的平台,它具有灵活且非常快速的安装程序和广泛的 API 支持,允许开发人员根据需要扩展平台。 它在构建时就考虑了安全性,并通过一个示例进行了说明:容器应以非 root 用户身份运行。如果不是这种情况,OpenShift 需要显式覆盖才能运行容器。

使用 Kubernetes 需要相当数量的服务器,并且需要一定的学习曲线才能掌握它。 因此,除非它们可以在不久的将来扩展到更大的部署规模,否则该平台不适合小型部署。

OpenShift 用户强调其快速的安装和配置过程,以及易于维护的模块和组件。 另一个优势是拥有自己的 Git 存储库。 他们不太喜欢阅读和解释日志的难度,特别是在上传项目失败时,很难理解问题出在哪里。

学习 OpenShift 并不困难。

Tsuru

全球第二大商业电视网络 Rede Globo 推出了 Tsuru,这是一个基于 Docker 的平台即服务 (PaaS) 产品,能够编排和运行生产环境中的应用程序。 它是由 Globo.com 开发的开源多供应商平台,支持拥有数百万用户的网站。

Tsuru 用户确认,它在不牺牲简单性、高可用性、安全性和稳定性的前提下,显著缩短了上市时间。 它可以在各种云基础设施中运行,无论是公共云还是私有云,只要它们支持 Docker 机器。 它还支持几乎所有可用的编程语言,这使得开发人员可以根据自己的喜好自由选择。

借助 Tsuru,您可以使用各种数据存储,包括 SQL 或 NoSQL 数据库,或内存中的替代方案,如 Memcached 或 Redis。 您只需选择您的偏好并将其添加到您的应用程序中。 要管理应用程序,您可以使用命令行或 Web 界面,然后通过 Git 进行部署。 Tsuru 基础设施将处理所有细节。

Stackato

Stackato 是一个基于 Cloud Foundry 和 Docker 的多语言 PaaS 产品,它运行在您的云基础设施之上,并作为您应用程序的启动平台。 Stackato 用户表示,它提供了一个敏捷且功能强大的应用程序平台,有助于提高云管理员和开发人员的工作效率。 它非常适合企业云部署,将直接访问云基础设施中虚拟机的灵活性与功能齐全的 PaaS 提供的自动化配置相结合。 支持的云基础设施包括 HP Cloud Services、Citrix XenServer、AWS、OpenStack 和 VMware 等。

在 Stackato 中,每个应用程序都有自己的 Linux 容器 (LXC),这保证了高效和安全的资源共享。 其服务范围包括:Helion Control Plane,Stackato 使用它与底层云进行通信并管理服务生命周期;Helion Service Manager,这是一个可供应用程序使用的附加服务存储库;Helion Cloud Foundry,一个旨在简化应用程序托管和开发的弹性运行时;Helion Code Engine,一种与 Git 存储库(私有或公共)集成的持续交付服务;以及 Helion Stackato Console,一个用于管理所有 Helion Cloud 功能的 Web 界面。

阿里云

虽然在谈到开源云平台和 PaaS 时,几乎很少提及阿里巴巴,但 阿里云的计算业务发展迅猛,已经占据了中国 50% 的公有云市场,并且正在认真研究如何服务中国以外的市场。 例如,他们开始在 168 个国家/地区提供美元计费支持,并开始专门为海外市场设计服务。

阿里巴巴提供的云平台服务包含许多免费功能,包括用于 Docker 和 Kubernetes 的容器服务、容器镜像服务、自动伸缩和 DataWorks,这是一个用于离线数据开发的安全环境。 其服务文档齐全,并附带您立即开始将应用程序迁移到云所需的一切,例如大量的教程视频。 只需几个简单的步骤,无需任何投资,阿里巴巴邀请您立即开始建设。

总结

幸运的是,对于所有开发人员来说,开放性主导着云世界。 几年前,各种竞争的容器技术(Docker、Kubernetes、Mesos、Nomad、ECS 等等)威胁要将市场划分为彼此隔离的隔间,每当您需要选择一个平台时,都会产生相当大的风险。 然而,虽然现在有更多平台可供选择,但如今开源选项之间的差异仅在于细节:不同的成本方案、不同的管理工具、不同的安全方法。 也就是说,如果您今天选择了一个开源云平台,但并不满意,明天您就可以换用另一个平台,并且不会因此蒙受巨大的损失。

通过我们在此提供的信息,您将能够选择更符合您需求的平台,并让您不再为服务器容量、中间件、框架、虚拟机、数据存储等问题而烦恼。 一旦您摆脱了这一切的困扰,您就可以将所有资源和注意力集中在真正重要的事情上:尽快将您的应用程序交付给用户,并让他们在使用时感到满意。

想在云平台上寻找一些免费套餐或信用额度吗? 请查看这份清单。