PaaSTA 是一個高可用的分散式系統,用於使用容器和 Kubernetes 建置、部署和運行服務。
PaaSTA 自 2016 年以來一直在 Yelp 上運行生產服務。隨著時間的推移,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 做出貢獻。