自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

不關(guān)注基礎設施即代碼(IaC)就Out了!

云計算
基礎設施即代碼是通過機器可讀的定義文件,而不是物理硬件配置或交互式配置工具來管理和配置計算數(shù)據(jù)中心的過程?;A設施即代碼意味著使用配置文件管理您的IT基礎設施。

[[406325]]

過去,管理IT基礎設施是一項艱巨的任務。系統(tǒng)管理員必須手動管理和配置應用程序運行所需的所有硬件和軟件。

然而,近年來,情況發(fā)生了巨大變化。云計算等趨勢徹底改變并改進了組織設計、開發(fā)和維護其IT基礎設施的方式。

這一趨勢的關(guān)鍵組成部分之一被稱為“基礎設施即代碼”(infrastructure as code,簡稱IaC),也就是我們今天要討論的內(nèi)容。

根據(jù)Palo Alto Networks Prisma cloud高級副總裁Varun Badhwar的說法,基礎設施即代碼正在成為云安全的三大支柱之一,將DevOps和安全性結(jié)合在一起,共同推動DevSecOps市場。

基礎設施即代碼(IaC)定義

維基百科對基礎設施即代碼的定義為,

  • 基礎設施即代碼是通過機器可讀的定義文件,而不是物理硬件配置或交互式配置工具來管理和配置計算數(shù)據(jù)中心的過程。

簡單來說,基礎設施即代碼意味著使用配置文件管理您的IT基礎設施。

接下來,你可能會問“我們?yōu)槭裁匆@樣做?”這就要看基礎設施即代碼能夠解決哪些問題了?

管理IT基礎設施的痛點

長期以來,管理IT基礎設施都是一個手動過程。人們會將服務器實際位置就位并對其進行配置。只有在機器被配置為操作系統(tǒng)和應用程序所需的正確設置后,這些人才會部署應用程序。不出所料,這種手動過程通常會導致很多問題。

第一個大問題就是成本。從網(wǎng)絡工程師到硬件維護技術(shù)人員,您必須聘請許多專業(yè)人員在流程的每一步執(zhí)行必要的任務。顯然,所有這些人都需要支付報酬,且需要得到管理,這又會導致更多的管理成本,同時增加組織內(nèi)部溝通的復雜性。結(jié)果是,錢花了也未能構(gòu)建和維護好自己的數(shù)據(jù)中心,白白增加了幾個數(shù)量級的成本。

另一個大問題就是可擴展性和可用性。也可以將這些都歸結(jié)為“速度”問題。由于手動配置太慢,應用程序經(jīng)常會遇到訪問高峰,而系統(tǒng)管理員會拼命嘗試設置服務器來管理負載。這必然會影響可用性。如果組織沒有備份服務器甚至數(shù)據(jù)中心,那么應用程序可能會長時間不可用。

第三個主要問題就是監(jiān)控和性能可見性。既然已經(jīng)擁有了所有基礎設施,那么如何密切關(guān)注它以確保其正在以最佳方式運行呢?當遇到問題,又如何準確定位問題來自基礎設施的哪個位置呢?是網(wǎng)絡、服務器還是應用程序?Netreo之類的工具可以讓您全面了解整個IT基礎設施的性能。借助Netreo的自動設備發(fā)現(xiàn)和配置,您可以確保自己的環(huán)境中沒有任何盲點,而且平臺的拓撲映射、事件關(guān)聯(lián)和自動根本原因分析使您能夠準確查明問題發(fā)生的位置。

最后一個問題是不一致性。如果多個人負責手動部署配置,不一致將成為不可避免的問題。

云計算:解藥?

云計算幫助我們解決了上述的部分問題,它使你無需構(gòu)建和維護數(shù)據(jù)中心以及與之相關(guān)的高成本。

不過,云計算遠非靈丹妙藥。雖然它允許您快速設置您的基礎設施需求——從而解決高可用性和可擴展性等嚴重問題——但它對解決不一致問題沒有任何幫助。當不止一個人執(zhí)行配置時,差異必然存在。

而基礎設施即代碼正好能夠彌補問題的缺失部分。

讓我們回顧一下之前介紹過的基礎設施即代碼定義:基礎設施即代碼意味著使用配置文件管理您的IT基礎設施。

該定義的關(guān)鍵要點是:在基礎設施即代碼之前,IT人員必須手動更改配置以管理其基礎設施。使用基礎設施即代碼,您的基礎設施配置會采用代碼文件的形式。由于它只是文本,因此您可以輕松編輯、復制和分發(fā)它。您可以(而且應該)將它置于源代碼控制之下,就像任何其他源代碼文件一樣。

基礎設施即代碼的好處

剛剛說到云計算只能解決其中一些問題,但不是全部。而基礎設施即代碼正是彌補問題最后缺失的那部分。

接下來,我們將深入探討您的組織通過采用基礎設施即服務解決方案可以獲得的一些好處:

速度

基礎設施即代碼提供的一個顯著優(yōu)勢就是速度。它使您能夠通過運行腳本快速設置完整的基礎設施。您可以為每個環(huán)境執(zhí)行此操作,從開發(fā)到生產(chǎn)、過渡、QA 等等。基礎設施即代碼可以使整個軟件開發(fā)生命周期更加高效。

一致性

手動過程會導致錯誤,因為人的記憶會出錯,人就會犯錯。此外,溝通也是個問題,而且我們通常并不擅長。正如上所述,無論你多么努力,手動基礎設施管理都會導致差異。基礎設施即代碼通過讓配置文件本身成為唯一的事實來源來解決這個問題。這樣,您就可以保證重復部署相同的配置,而不會出現(xiàn)差異。

問責制

這是一種快速簡便的方法。由于您可以像任何源代碼文件一樣對基礎設施即代碼配置文件進行版本控制,因此您可以完全跟蹤每個配置所經(jīng)歷的更改。一切都不再是關(guān)于“誰做了什么”以及“何時做了什么”的猜謎游戲。

高效率

通過使用基礎設施即代碼,您可以在多個階段部署您的基礎設施架構(gòu)。這使得整個軟件開發(fā)生命周期更加高效,將團隊的生產(chǎn)力提升到新的水平。

您可以讓程序員使用基礎設施即代碼創(chuàng)建和啟動沙箱環(huán)境,讓他們能夠安全地進行隔離開發(fā)。對于QA專業(yè)人員來說也是如此,他們可以擁有生產(chǎn)環(huán)境的完美副本,并在其中運行測試。最后,到了部署階段,您可以一步將基礎設施和代碼推送到生產(chǎn)環(huán)境。

低成本

毫無疑問,基礎設施即代碼的主要好處之一就是降低了基礎設施管理的成本。通過將云計算與基礎設施即代碼結(jié)合使用,可以顯著降低成本,這是因為您不必花錢購買硬件、雇用人員來操作它,也不必建造或租用物理空間來存儲它。

更重要的是,基礎設施即代碼還以另一種更微妙的方式降低了您的成本,這就是我們所說的“機會成本”。

要知道,把有用的人放置在適當?shù)奈恢貌拍茏畲笙薅鹊陌l(fā)揮效用。如果只是讓他們做一些可以自動化完成的任務,無疑是在浪費資源,他們應該把精力放在能夠為企業(yè)組織帶來更多價值的任務上。這就是自動化策略(基礎設施即代碼就包含其中)派上用場的地方。

基礎設施即代碼工作原理

基礎設施即代碼工具的工作方式各不相同,但我們通??梢詫⑺鼈兎譃閮煞N主要類型:遵循“命令式資源配置方法”的工具以及遵循“聲明式資源配置方法”的工具。

其中,命令式資源配置方法指的是資源使用者沒有正式編碼所需的狀態(tài),并且由資源使用者來決定命令序列。

最值得注意的是,命令式方法是不可重復的,因此,也就無法自動執(zhí)行,因為資源使用者必須為每個給定的當前狀態(tài)確定導致所需狀態(tài)的命令序列。

而聲明式資源配置方法指的是,資源使用者正式編碼所需的狀態(tài),并且由組件來決定命令序列。

最值得注意的是,聲明式方法是可重復的,因此可以實現(xiàn)自動化,因為組件可以確定任何可能導致當前狀態(tài)所需狀態(tài)的命令序列。

最佳實踐

下面我們?yōu)榇蠹姨峁┮粋€最佳實踐列表,以幫助您充分利用基礎設施即代碼策略。

  • 使代碼成為您唯一的事實來源。您應該在配置文件中明確編碼所有基礎設施規(guī)范。您的配置文件應該是所有基礎設施管理問題的唯一真實來源。
  • 版本控制所有配置文件,將所有配置文件置于源代碼控制之下。
  • 為您的基礎架構(gòu)規(guī)范使用盡可能少的文檔(或根本不使用)。這一點是第一點的邏輯結(jié)果。由于您的配置文件應該是您的唯一真實來源,因此不需要更多文檔。外部文檔很容易與實際配置不同步,但這不會發(fā)生在配置文件中。
  • 測試和監(jiān)控您的配置?;A設施即代碼是代碼,和所有代碼一樣,它可以被測試。所以你應該測試一下!通過為基礎設施即代碼使用測試和監(jiān)控工具,您可以在將服務器部署到生產(chǎn)環(huán)境之前檢查服務器中的錯誤和不一致情況。

基礎設施即代碼自動化配置與編排工具

目前,市場上存在很多基礎設施即代碼自動化部署工具,下面為大家重點介紹四款自動化配置與編排工具:

阿里云資源編排服務ROS(Resource Orchestration Service)

這是云原生編排工具,通過編寫 JSON/YAML 格式的模板,在模板中定義所需的ECS實例、數(shù)據(jù)庫實例等云服務資源以及資源依賴關(guān)系等,然后再根據(jù)模板在 ROS 中創(chuàng)建資源棧,ROS 服務端將根據(jù)模板自動完成所有資源的創(chuàng)建和配置,實現(xiàn)自動化部署及運維。而資源棧則管理著模板中定義的所有資源,并可通過新模板來更新資源棧,包括資源的新增、更新或刪除等操作。

AWS CloudFormation

這也是云原生的編排工具,運維人員也是通過 JSON/YAML 格式的模板定義云服務資源,通過資源棧管理這些資源。

HashiCorp Terraform

這是一個開源的自動化編排工具。以配置文件為驅(qū)動,可以在文件中定義所要管理的組件,即基礎設施資源,以此生成一個可執(zhí)行的計劃,通過執(zhí)行這個計劃來完成所定義組件的創(chuàng)建,增量式的變更和持續(xù)的管理。如果不可執(zhí)行,會提示報錯。Terraform 不僅可以管理IaaS層的資源,如計算實例、網(wǎng)絡實例和存儲實例等,也可以管理更上層的服務,如DNS 域名和解析記錄、SaaS 應用的功能等。

Pulumi

與 Terraform 一樣也是開源項目,但它與 Terraform 的重要區(qū)別在于:可以用熟悉的編程語言來編寫聲明式配置,而不需要額外學習云服務商特定的模板語言來寫配置。

企業(yè)組織可以根據(jù)自身需求和業(yè)務部署模式選擇適當?shù)墓ぞ?,更好地發(fā)揮基礎設施即代碼的作用。

總結(jié)

基礎設施即代碼是 DevOps 運動的關(guān)鍵部分。如果您將云計算視為解決由人工IT管理引起的許多問題的第一步,那么可以說基礎設施即代碼是下一個合乎邏輯的步驟。它充分發(fā)揮了云計算的潛力,并將開發(fā)人員和其他專業(yè)人員從執(zhí)行容易出錯的手動任務中解放出來。此外,它還可以在軟件開發(fā)生命周期的所有階段降低成本并提高效率。

本文翻譯自:https://stackify.com/what-is-infrastructure-as-code-how-it-works-best-practices-tutorials/如若轉(zhuǎn)載,請注明原文地址。

 

責任編輯:姜華 來源: 嘶吼網(wǎng)
相關(guān)推薦

2022-06-17 10:24:57

IaC

2022-04-11 19:08:06

設施作用域pod

2022-04-12 19:38:44

PostgresOperator數(shù)據(jù)庫

2021-07-26 09:53:58

IaC基礎設施即代碼云數(shù)據(jù)中心

2017-09-16 17:28:55

基礎設施代碼持續(xù)交付

2021-05-20 09:00:00

數(shù)字化轉(zhuǎn)型IT技術(shù)

2023-11-02 00:16:26

2020-02-24 11:08:27

云計算網(wǎng)絡攻擊數(shù)據(jù)

2024-02-04 09:13:24

基礎設施代碼DevOps

2021-12-02 22:45:44

計算

2016-08-18 16:55:00

基礎設施

2022-01-10 08:00:00

云原生云計算技術(shù)

2021-03-04 20:39:48

基礎設施云上運維云上資源

2016-08-30 10:20:57

云計算

2021-11-11 09:00:00

IaC工具自動化

2017-06-22 17:23:13

超融合塑合代碼

2020-04-17 19:41:57

基礎架構(gòu)即代碼平臺即代碼云計算

2015-07-13 10:01:51

超融合基礎設施數(shù)據(jù)中心

2022-06-27 09:00:00

Kubernetes云計算容器

2022-02-10 11:54:34

即時基礎設施基礎設施數(shù)字化轉(zhuǎn)型
點贊
收藏

51CTO技術(shù)棧公眾號