久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

PaaS有什么作用

218次閱讀
沒有評論

共計 1372 個字符,預計需要花費 4 分鐘才能閱讀完成。

今天丸趣 TV 小編給大家分享一下 PaaS 有什么作用的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

一句話,現在的應用程序從源代碼到運行階段太復雜,沒有標準的,通用的方式。整個過程及產出如下:

開發階段:源代碼

構建階段:發布包 / 可執行程序

部署階段:可運行的鏡像(發布包 + 配置)

運行階段:進程、集群、日志、監控信息、網絡

不論是 Deis,Heroku,Flynn 或者其他 PaaS 的目標,都是為了讓 2 - 4 這 3 個階段盡可能的簡單。看了他們所設計的產品,簡單到了什么程度?通過一個客戶端命令行工具,實現了:

開發到構建:

用戶通過 git 提交源代碼,由 PaaS 自動構建鏡像,并提供版本的管理——用戶可以創建新版本 (提交新代碼或修改部署配置)、回滾老版本等。

部署到運行:

自動選擇運行機器,為每個進程副本部署啟動單獨的容器,解決請求路由和負載均衡,并提供進程的管理——用戶可以做擴縮容、查看日志、監控狀態等、回滾歷史的發布

# 為什么是這些功能?為什么這些功能不能分別由各種工具實現?

在我看來,代碼從發布到運行由兩根軸組成。

## 縱軸:源代碼——發布包——可運行的鏡像——進程

這里的關系是一步接一步,順序往下,不論你用什么工具什么平臺,這 4 步都是流水式的向下。

## 橫軸:負載均衡、集群部署擴容縮容、健康檢查、日志

線上的應用,有以下幾種情況

發布新功能:全量更新和部署

性能壓力:通過健康檢查或手工觸發,進行擴容和縮容

保證業務連續性:在上面的更新中,通過負載均衡,把新請求導入到更新后的容器上,等待舊的處理完后進行更新

所以,上面這 4 項是一環扣一環,橫向的互相關聯,如果不在一個工具內同時提供這 4 項功能,就需要人工去填平這里面的信息交互,手動的整合這 4 個工具,從而帶來復雜性。

# 約束及實現

## 縱向編譯:buildpack

buildpack 填平的是從源代碼到發布包的坑,就是一組編譯腳本。

PaaS 平臺自己提供一些編譯腳本,但也允許用戶按照規范自己寫編譯腳本。

(腳本需要自己下載合適版本的編譯器!)

如果使用 Docker,用戶提供的就是一個 DockerFile 或者 Dockerimage 地址,拿了直接就能跑起來的東西。

## 縱向運行:Procfile

buildpack 讓 PaaS 知道怎么編譯程序,Procfile 讓 PaaS 知道怎么運行程序。

一個典型的 Procfile 就是像這樣

 cat ./Procfile
 web: bundle exec rails server -p $PORT

后面可以通過命令行來動態擴容程序

 deis ps:scale web=4

## 縱向配置:環境變量 運行的發布包在不同的環境下有不一樣的配置,Deis 的方式是通過環境變量。客戶端的命令行工具上設置環境變量后,就直接發送給所有容器,重設這些環境變量,然后重啟。

## 橫向負載均衡:nginx 

## 橫向日志:集中化的 syslog 獲得日志  

## 橫向部署:go 寫的小程序,用于部署 Docker 的 Container

以上就是“PaaS 有什么作用”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,丸趣 TV 小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注丸趣 TV 行業資訊頻道。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-04發表,共計1372字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 青田县| 安仁县| 临潭县| 大英县| 内丘县| 简阳市| 水富县| 咸阳市| 类乌齐县| 城口县| 新兴县| 吕梁市| 舟曲县| 赣榆县| 安西县| 溧阳市| 山阳县| 沛县| 台前县| 扎兰屯市| 清远市| 景泰县| 宣城市| 延津县| 松潘县| 新竹县| 讷河市| 安福县| 安义县| 临朐县| 故城县| 巴林左旗| 襄汾县| 疏附县| 达孜县| 扶沟县| 定南县| 商都县| 贡嘎县| 周口市| 宣化县|