IaC工具
| 首次發布 | WebSite | 語言 | 代理【被管理機器需安裝】 | 主控服務器 | 型別 | |
| Puppet | 2005 | https://puppet.com/open-source/ | 宣告性語言 | Puppet Agent | 有 | 可變基礎設施 配置管理 |
| Chef | 2009 | http://www.chef.io/chef/ | 程序性語言 | Chef Client | 有 | 可變基礎設施 配置管理 |
| CloudFormation | 2011 | AWS [閉源] | 宣告性語言 | - | - | 不可變基礎設施 服務開通 |
| SaltStack | 2011 | https://saltproject.io/ | 宣告性語言 | Salt Minion | 有 | 可變基礎設施 配置管理 |
| Ansible | 2012 | https://www.ansible.com/ Redhat | 程序性語言 | - | - | 可變基礎設施 配置管理 |
| Heat | 2012 | https://wiki.openstack.org/wiki/Heat OpenStack Orchestration program | 宣告性語言 | - | - | 不可變基礎設施 服務開通 |
| Terraform | 2014 | https://www.terraform.io/ Automate Infrastructure on Any Cloud | 宣告性語言 | - | - | 不可變基礎設施 服務開通 |
生產IaC檢查清單
| 任務 | 描述 | 工具舉例 |
| 安裝 | 安裝二進制軟體包和依賴庫 | Bash. Chef. Ansible, Puppet |
| 配置 | 軟體運行期間的配置,包括埠、TLS證書、服務發現、主節點、從節點、復制等 | Bash. Chef. Ansible. Puppet |
| 服務開通 | 基礎設施服務開通,包括服務器、負載平衡器、網路配置、防火墻設定、IAM權限等 | Terraform CloudFormation |
| 部署 | 在基礎設施之上部署服務,無停機更新,包括藍綠部署、浪動部署和金絲雀部署 Kubemetes, ECS | Terraform CloudFormation Kubemetes, ECS |
| 高可用性 | 在單個流程、服務器、服務、資料中心或區域發生 中斷時,服務持續的能力 | 多資料中心、多區域、復制、自動縮放、負載均衡 |
| 擴展性 | 根據負載進行規模縮放、水平縮放(更多服務器)、垂直縮放(更大的服務器) | 自動縮放、復制、分片、快取、分治 |
| 性能 | 優化CPU、記憶體、磁盆,網路和GPU的使用,方法包括查詢調整,基準測驗、負載測驗和分析 | Dynatrace, valgrind, VisualVM. ab. Jmeter |
| 網路 | 配置靜態和動態IP、渴門、服務發現,防火墻、DNS, SSH 訪問和VPN訪問 | VPC、防火墻、路山器,DNS 注冊, OpenVPN |
| 安全 | 傳輸中安全加密(TLS)和磁盤上的安全加密、身份驗證、授權、機密管理、服務器強化 | ACM, Let's Encrypt. KMS. Cognito. Vault. CIS |
| 度量指標 | 可用性指標、業務指標、應用指標、服務器指標、 事件、可觀察性,跟蹤和警報 | CloudWatch. DataDog, New Relic,Honeycomb |
| 備份和恢復 | 定期備份資料庫,快取和其他資料,復制到獨立的區域/賬戶 | RDS. ElastiCache, replication |
| 成本優化 | 選擇合適的實體型別,使用競價型和預留實體、使用自動縮放,清除未使用的資源 | 自動縮放,競價型實體,預留實體 |
| 檔案 | 記錄代碼、體系結構和實踐,創建劇本來應對事件 | 自述檔案、Wiki, Slack |
| 測驗 | 為基礎設施代碼撰寫自動測驗,在每次提交后運行測驗、每晚運行測驗 | Terratest. Inspee, Serverspec. kitchen-terraform |
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/472307.html
標籤:其他
