成人激色综合天天,中文亚洲av片在线观看,又粗又大又硬毛片免费看,国产aⅴ精品一区二区三区久久,亚洲欧美自偷自拍视频图片

基礎(chǔ)設(shè)施即代碼(IaC):方法論、辦法和優(yōu)秀實(shí)踐

譯文
CIOAge
由于現(xiàn)在的一切都致力實(shí)現(xiàn)數(shù)字化,尤其是在發(fā)生冠狀病毒疫情之后,現(xiàn)在正確管理組織的IT基礎(chǔ)設(shè)施變得尤為重要。

[[400507]]

【51CTO.com快譯】IaC的概述

由于現(xiàn)在的一切都致力實(shí)現(xiàn)數(shù)字化,尤其是在發(fā)生冠狀病毒疫情之后,現(xiàn)在正確管理組織的IT基礎(chǔ)設(shè)施變得尤為重要。

在此之前,對(duì)IT基礎(chǔ)設(shè)施的管理都是由組織的系統(tǒng)管理員人工完成的。他們管理了應(yīng)用程序運(yùn)行所需的所有硬件和軟件。在過(guò)去的幾年中,IT技術(shù)取得了長(zhǎng)足的進(jìn)步,現(xiàn)在除了這種人工管理之外,還有一種替代方法,其名稱為“基礎(chǔ)設(shè)施即代碼(IaC)”。

在此可以采用一種更具描述性的術(shù)語(yǔ)來(lái)定義IaC:基礎(chǔ)設(shè)施即代碼(IaC)是通過(guò)機(jī)器可讀的定義文件而不是通過(guò)物理硬件配置或交互式配置工具來(lái)管理和設(shè)置數(shù)據(jù)中心的過(guò)程。

IaC基礎(chǔ)設(shè)施即代碼(IaC)解決了之前存在的問(wèn)題,例如人工實(shí)施環(huán)境構(gòu)建和批準(zhǔn)流程、高成本、硬件問(wèn)題,以及人為錯(cuò)誤。

IaC的方法論

以下了解一下“基礎(chǔ)設(shè)施即代碼”的四種方法:

1.臨時(shí)腳本

臨時(shí)腳本是用于流程實(shí)現(xiàn)自動(dòng)化的最直接的方法。這些腳本只需將人工流程分解為離散的步驟即可將其轉(zhuǎn)換為自動(dòng)化流程。組織可以借助Ruby、Python、Bash、PowerShell等腳本語(yǔ)言來(lái)實(shí)現(xiàn)這一目的。

如果組織運(yùn)行一個(gè)臨時(shí)腳本,肯定會(huì)提供預(yù)期的結(jié)果,并且其運(yùn)行過(guò)程也相當(dāng)簡(jiǎn)單。但是,如果組織多次運(yùn)行同一個(gè)臨時(shí)腳本,則可能會(huì)出現(xiàn)錯(cuò)誤。例如,如果使用臨時(shí)腳本創(chuàng)建文件夾,則必須再次檢查該文件夾是否仍然存在。

以下是臨時(shí)腳本的工作流程:

  • 進(jìn)行人工操作,并將其分解為離散的步驟。
  • 選擇喜歡的腳本語(yǔ)言。
  • 在代碼中定義和寫入這些步驟。

2.配置管理工具

配置管理工具旨在現(xiàn)有服務(wù)器上安裝和管理軟件。這些工具的代碼具有一致且可預(yù)測(cè)的結(jié)構(gòu),明確命名的參數(shù),適當(dāng)?shù)臋C(jī)密管理,甚至是簡(jiǎn)單的文件布局。

一些配置管理工具包括Ansible、Chef、Puppet和SaltStack。這些工具也稱為冪等性代碼。冪等性代碼是產(chǎn)生相同結(jié)果的代碼或腳本,無(wú)論運(yùn)行或執(zhí)行多少次相同的代碼。

上述配置管理工具的設(shè)計(jì)方式使其可以在現(xiàn)有服務(wù)器上安裝和管理軟件。例如,Ansible將YAML文件用于運(yùn)行手冊(cè)。他們還可以管理大量的遠(yuǎn)程服務(wù)器。

3.服務(wù)器模板

服務(wù)器模板工具用于創(chuàng)建服務(wù)器映像。這一圖像捕獲了操作系統(tǒng)、軟件、文件以及所有其他相關(guān)詳細(xì)信息的獨(dú)立“快照”。它們被認(rèn)為是配置管理工具的替代方法。一些流行的服務(wù)器模板化工具包括Docker、Packer和Vagrant。

以下更詳細(xì)地了解一些工具:

  • Docker:Docker用于為稱為“容器”的應(yīng)用程序創(chuàng)建隔離的環(huán)境。
  • Packer:它有助于打包所有依賴項(xiàng)并構(gòu)建可部署的虛擬機(jī)映像。
  • Vagrant:用于為開(kāi)發(fā)環(huán)境配置虛擬機(jī)。Vagrant在虛擬機(jī)解決方案(例如VirtualBox、VMware、Hyper-V等)上運(yùn)行。

使用服務(wù)器模板工具,在部署服務(wù)器之后就無(wú)需進(jìn)行任何更改。如果要部署修改后的代碼,則必須創(chuàng)建一個(gè)新映像,然后將其部署在新服務(wù)器上。這就是使用服務(wù)器模板工具對(duì)于不可變基礎(chǔ)設(shè)施來(lái)說(shuō)是必不可少的原因。

4.服務(wù)器配置

服務(wù)器設(shè)置就是設(shè)置服務(wù)器的過(guò)程,以便可以根據(jù)所需資源在網(wǎng)絡(luò)中使用服務(wù)器。它包含創(chuàng)建新服務(wù)器并使其處于工作狀態(tài)所需的所有操作,并且包括定義系統(tǒng)的所需狀態(tài)。

可以幫助創(chuàng)建服務(wù)器的一些服務(wù)器配置工具包括Terraform、Azure資源管理器模板、AWS Cloud Formation和Open Stack Heat。

Terraform是一種云計(jì)算基礎(chǔ)設(shè)施配置工具,支持各種公共和私有云資源調(diào)配。它有助于使用一個(gè)名為狀態(tài)文件的概念來(lái)維護(hù)基礎(chǔ)設(shè)施的狀態(tài)。

除了創(chuàng)建服務(wù)器之外,上述服務(wù)器設(shè)置工具還可以使組織能夠創(chuàng)建其他資源,例如數(shù)據(jù)庫(kù)、負(fù)載平衡器、防火墻設(shè)置、存儲(chǔ)等。

IaC辦法

將基礎(chǔ)設(shè)施作為代碼有兩種主要辦法,分別是命令式辦法和聲明式辦法。在這兩種辦法中,IaC的配置都是在模板上完成的,其中描述了基礎(chǔ)設(shè)施中每個(gè)服務(wù)器所需的資源。

以下更詳細(xì)地了解這兩種辦法,并了解兩者之間的區(qū)別。

1.命令式辦法

該辦法定義了實(shí)現(xiàn)所需配置所需的特定步驟或命令。它還定義了執(zhí)行這些命令的正確順序?;旧?,它處理“如何”實(shí)施的問(wèn)題,也就是如何實(shí)現(xiàn)所需的配置。


2.聲明式辦法

這種辦法定義了系統(tǒng)的期望狀態(tài)。除了狀態(tài)之外,只需要定義其他信息,例如所需的資源和屬性,并且IaC工具將自行配置所有內(nèi)容。它處理“什么”的問(wèn)題,也就是配置所需的狀態(tài)。

IaC跨平臺(tái)景觀

IaC的優(yōu)秀實(shí)踐

組織可以使用以下一些優(yōu)秀實(shí)踐來(lái)充分利用IaC:

1.逐步實(shí)施

當(dāng)轉(zhuǎn)向基礎(chǔ)設(shè)施即代碼時(shí),對(duì)于許多員工(尤其是老員工)來(lái)說(shuō),這可能是一個(gè)挑戰(zhàn)性的過(guò)程。這是因?yàn)樗麄儗?duì)技術(shù)以及如何為組織的正常運(yùn)作沒(méi)有太多的經(jīng)驗(yàn)。因此,組織員工越容易掌握IaC,將能夠提供更好的輸出。

2.將所有內(nèi)容進(jìn)行整理

IaC的全部目的是使所有內(nèi)容實(shí)現(xiàn)自動(dòng)化,并盡可能地消除所有的人工工作,因此,需要嘗試對(duì)整個(gè)基礎(chǔ)設(shè)施進(jìn)行整理。在配置文件中明確所有基礎(chǔ)設(shè)施規(guī)范。與基礎(chǔ)設(shè)施管理有關(guān)的所有內(nèi)容都應(yīng)該在這些配置文件中。

3.持續(xù)測(cè)試、集成和部署

IaC是一種代碼,與其他任何代碼一樣,它也應(yīng)該被持續(xù)測(cè)試、集成和部署。這有助于檢查服務(wù)器在部署到生產(chǎn)之前可能發(fā)生的任何錯(cuò)誤或不一致。它還確保整個(gè)基礎(chǔ)設(shè)施功能不存在任何滯后或錯(cuò)誤。

4.不可變的基礎(chǔ)設(shè)施

如上所述,不可變的基礎(chǔ)設(shè)施是指部署后從未修改或更新的服務(wù)器或虛擬機(jī)。它有助于降低IT復(fù)雜性和故障,提高安全性,并使故障排除更加容易。不可變的基礎(chǔ)設(shè)施還消除了任何類型的服務(wù)器修補(bǔ)。

5.版本控制

建議將所有配置文件都置于源代碼管理之下,這也是“代碼實(shí)踐”中推薦的基礎(chǔ)設(shè)施。版本控制對(duì)于跟蹤更改并使每個(gè)團(tuán)隊(duì)成員都能使用最新版本很重要。它應(yīng)用于多個(gè)團(tuán)隊(duì)成員正在協(xié)作的所有代碼和資產(chǎn)。

除了管理和跟蹤文件之外,它還有助于更快地開(kāi)發(fā)和交付產(chǎn)品。這是可行的方法,因?yàn)樗兄谔岣邎F(tuán)隊(duì)成員的可見(jiàn)性、協(xié)作性,并加速產(chǎn)品交付。

6.模塊化

模塊化可以定義為模塊的開(kāi)發(fā),可以通過(guò)編寫許多運(yùn)行手冊(cè)或模塊以各種方式將其結(jié)合或集成在一起。這些模塊可以在將來(lái)的任何一個(gè)項(xiàng)目中重復(fù)使用。

結(jié)論

現(xiàn)在,基礎(chǔ)設(shè)施的自動(dòng)化是組織中每個(gè)團(tuán)隊(duì)的主要需求。迫切需要將人工管理和配置的基礎(chǔ)設(shè)施轉(zhuǎn)移到IT或自動(dòng)化基礎(chǔ)設(shè)施,以更輕松、更高效地運(yùn)行和管理系統(tǒng)。

對(duì)于這種自動(dòng)化,可以使用許多工具和方法。而只采用一種工具將無(wú)法滿足組織或團(tuán)隊(duì)的要求。因此,應(yīng)該根據(jù)組織的要求和各種其他因素(例如成本、技能、功能等)來(lái)選擇工具。

原文標(biāo)題:Infrastructure-as-Code (IaC): Methodologies, Approach, and Best Practices,作者:Mir Ali

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】

 

責(zé)任編輯:華軒 來(lái)源: 51CTO
相關(guān)推薦

2022-06-17 10:24:57

IaC

2022-04-11 19:08:06

設(shè)施作用域pod

2025-08-12 04:00:00

2021-07-26 09:53:58

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

2022-04-12 19:38:44

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

2021-06-18 11:02:12

云計(jì)算infrastruct云安全

2017-09-16 17:28:55

基礎(chǔ)設(shè)施代碼持續(xù)交付

2025-07-04 00:00:00

2023-11-02 00:16:26

2019-07-15 10:39:04

云計(jì)算基礎(chǔ)設(shè)施監(jiān)控軟件

2022-01-10 08:00:00

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

2020-02-24 11:08:27

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

2024-02-04 09:13:24

基礎(chǔ)設(shè)施代碼DevOps

2016-08-18 16:55:00

基礎(chǔ)設(shè)施

2021-03-04 20:39:48

基礎(chǔ)設(shè)施云上運(yùn)維云上資源

2021-11-11 09:00:00

IaC工具自動(dòng)化

2016-08-30 10:20:57

云計(jì)算

2017-06-22 17:23:13

超融合塑合代碼

2022-09-09 12:27:57

工具基礎(chǔ)設(shè)施IaC

2022-06-27 09:00:00

Kubernetes云計(jì)算容器

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