PaaSTA 是一个高可用的分布式系统,用于使用容器和 Kubernetes 构建、部署和运行服务。
PaaSTA 自 2016 年以来一直在 Yelp 上运行生产服务。它最初设计为在 Apache Mesos 之上运行,但随后更新为使用 Kubernetes。随着时间的推移,PaaSTA 提供的特性和功能不断增加,但主要设计保持不变。
PaaSTA 旨在对团队需要运行的服务进行声明性描述,然后确保这些服务以易于团队维护的方式安全、高效地部署。 PaaSTA 不是管理 Kubernetes YAML 文件,而是提供了一个简化的架构来描述您的服务,除了配置 Kubernetes 之外,它还可以配置其他基础设施工具来提供监控、日志记录、成本管理等。
想更多地了解 PaaSTA 的独特之处背后的观点吗?查看 PaaSTA 原则。
注意:PaaSTA 是一个固执己见的平台,使用了一些非固执己见的工具。它需要大量的基础设施才能完全发挥作用:
由此类组件组成的 PaaS 的优点之一是您可以将它们重复用于其他目的。例如,在 Yelp Sensu 不仅仅适用于 PaaSTA,它还可以用于监控各种事物。我们还使用 Kubernetes 来运行其他更复杂的工作负载,例如 Jolt 和 Cassandra。我们的服务网格是 SmartStack 和 Envoy 的高度定制版本,允许 Yelp 的许多系统与 PaaSTA 服务以及彼此之间进行通信。
另一方面,需要大量组件,意味着在 PaaSTA 有效工作之前需要设置大量基础设施!实际上,在 Yelp 之外运行 PaaSTA 是不明智的,因为除了上面提到的集成之外,我们还有编码在其他工具中的强烈意见,您需要复制这些意见。尽管如此,我们还是公开编写 PaaSTA 代码,因为我们认为分享我们的方法很有用,并希望代码至少可以帮助其他人理解或解决类似问题。
除了上述直接集成之外,PaaSTA 还依赖其他组件为 PaaSTA 用户提供其他功能并管理 Yelp 的计算能力。
有关如何部署 PaaSTA 的信息,请参阅入门文档。本参考旨在帮助您了解 PaaSTA 的工作原理,但我们不建议您在生产中使用 PaaSTA。
要在 VS Code 中调试 PaaSTA,请参阅 PaaSTA 内部 wiki 页面“调试 PaaSTA(在 VS Code 中)”。
阅读阅读文档中的文档。
PaaSTA 根据 Apache 许可证 2.0 版获得许可:http://www.apache.org/licenses/LICENSE-2.0
我们鼓励每个人通过分叉 Github 存储库并提出拉取请求或提出问题来为 PaaSTA 做出贡献。