手把手教你在Serverless平臺上部署應用

如今,部署一個三層(表示層、業務邏輯和存儲)架構應用程序可能會有些棘手。假設我們有一個簡單的Django應用程序,即本教程中的民意投票應用程序。它在我們的本地計算機上運行完美,我們添加了requirements.txt來保存該項目的依賴項。至於數據庫,由於我們僅在本地開發,因此可以使用SQLite。

本文中,項目的目的是構建一個系統,使我們能夠推送分支代碼並將更改部署在單獨的環境中,爲我們提供唯一的URL進行檢查。與now.shheroku.com的功能類似,我們需要一種機制,可以打包我們的代碼和依賴項並進行部署,但同時還需要考慮系統的多版本、升級、負載平衡、擴展及數據庫狀態。

Indroduction

爲了實現這一目標,我們需要兩個主要組件:一個組件是獲取我們的代碼並準備將其發佈,即CI/CD組件,另一個組件將我們的變更發佈到互聯網,稱爲服務組件。我們可以添加第三個組件來保持應用程序的某些狀態,例如數據庫和存儲,但是我們將其添加到服務組件中。

Serving component

對於服務組件,我們可以使用Knative。它是基於Kubernetes的Serverless解決方案,並集成了其他一些在Kubernetes上構建的組件。從根本上講,它可以通過Docker運行並公開到互聯網,而無需繁瑣的部署流程。你只需要定義一個描述鏡像及其運行環境的服務,Knative就會處理其他所有事情(從路由、日誌記錄、監視到應用程序不同版本的管理以及服務自動擴縮容,包括0縮放以停止服務使用)。

原文鏈接:【https://www.infoq.cn/article/A0Y8FGvRHh1moOxelhBQ】。未經作者許可,禁止轉載。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章