摘要:一個因子應用決不依賴隱式的系統級包。顯式聲明的依賴規范會被無差別的應用到開發環境與生產環境。一個顯式聲明依賴的好處是能簡化開發人員對新應用的設置工作。
II. 依賴 顯式聲明與隔離依賴
大部分編程語言提供一套分發支持庫的打包系統, 比如Perl的CPAN或Ruby的Rubygems。從打包系統安裝的二方庫可以在系統層面(眾所周知的“site packages”)或包含應用的目錄區域(眾所周知的“vendoring”或“bundling”)。
一個12因子應用決不依賴隱式的系統級包。它會聲明所有依賴項,完整并精確地,通過依賴聲明的清單。更進一步,它使用一種依賴隔離工具來保證執行期沒有隱式的依賴被“泄露”到周圍的系統。顯式聲明的依賴規范會被無差別的應用到開發環境與生產環境。
例如,Ruby的Gem Bundler提供Gemfile 文件格式作為依賴生命,bundle exec作為依賴隔離。Python有兩個不同的工具來做這些步驟 — Pip用來聲明作為隔離目的的Virtualenv。 就算是C也有為依賴聲明的Autoconf,和提供依賴隔離的靜態鏈接。不管什么工具鏈,依賴聲明與隔離都必須一起使用— 只有一個或另一個不能滿足12因子的需要。
一個顯式聲明依賴的好處是能簡化開發人員對新應用的設置工作。新開發者可以從應用代碼庫檢出代碼到他們的開發機器,前置條件只是安裝過語言的運行時及依賴管理器。他們可以用build命令設置好運行程序所需的所有東西。例如,Ruby/Bundler 的build命令是bundle install,Clojure/Leiningen的是lein deps。
12因子應用也不依賴任何隱式的其他系統工具的依賴。比如shell命令ImageMagick或curl。這些工具當然可能存在在許多或大部分系統中,但這并不保證他們會存在在所有系統或應用以后可能運行的系統,或以后的系統版本能否兼容現有版本的應用。如果應用需要使用外部的系統工具,這個工具需要被打包進應用里。
原文地址: https://12factor.net/12factor...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/76966.html
摘要:因子是一種構建應用的方法用聲明式的格式設置自動化,最小化新開發者加入項目的時間和成本。代碼庫一份被版本控制追蹤的代碼,多份部署因子應用會一直放在版本控制中,如,或者。每個分布式系統中的組件是一個應用,每一個都可以獨立遵守因子。 原文地址: https://12factor.net/12factor... 介紹 現在軟件通常交付為一個服務:可以叫web應用,或軟件即服務(SaaS)。1...
摘要:后端服務將后端服務視為可拔插的資源后端服務是一種在應用在網絡上正常運行時消費的任意一種服務。一份因子應用的部署可以不經過任何代碼修改將本地數據庫替換成第三方的服務如。因子應用將這些數據庫看做可拔插資源,在部署時是松耦合的。 IV 后端服務 將后端服務視為可拔插的資源 后端服務是一種在應用在網絡上正常運行時消費的任意一種服務。包括數據庫(如MySQL或CouchDB),消息/隊列系統(如...
摘要:因子應用是由提供商的提出的。作為云平臺廠商,該公司創始人根據經驗總結出來的軟件開發的方法論因子無疑值得同行學習。因子的大綱已經有中文翻譯,可以直接參考每個因子的解釋,可以在該網站下載英文電子版了解。 12因子應用是由PaaS提供商Heroku的Adam Wiggins提出的。Heroku已經被SaaS行業領軍廠商Salesforce收購,根據維基百科的記載,同年2011年松本行弘也加盟...
閱讀 885·2021-10-13 09:39
閱讀 3536·2021-09-26 10:16
閱讀 2875·2019-08-30 15:54
閱讀 1051·2019-08-30 14:22
閱讀 2894·2019-08-29 15:39
閱讀 3261·2019-08-27 10:52
閱讀 816·2019-08-26 13:59
閱讀 1711·2019-08-26 12:20