最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

平臺工程成功的關鍵:IaC

2023-08-06 00:54 作者:岱軍  | 我要投稿

平臺工程的優(yōu)勢,以及成功團隊用于賦予開發(fā)人員自主管理基礎設施的三種主要方法的介紹。

翻譯自 The Key to Successful Platform Engineering: Self-Service IaC 。

Shutterstock 的圖片

云計算一直在技術上實現(xiàn)了自助式服務,但在實踐中,由于其復雜性,對許多開發(fā)人員而言并非如此。隨著公司采用現(xiàn)代架構(gòu)(云原生、無服務器等)和新的提供商(多云、SaaS 應用程序)以及云服務提供商發(fā)布更多的服務,使用云計算變得越來越困難。

因此,有競爭力的工程團隊現(xiàn)在正在研究如何通過消除瓶頸,加快所有開發(fā)人員的生產(chǎn)力,從而將 DevOps 、站點可靠性和基礎設施工程師的產(chǎn)出成倍增加。

平臺工程提供了一種解決方案,它使開發(fā)團隊能夠按照最佳實踐構(gòu)建、部署和管理他們自己的云基礎設施,并且可以按照自助服務的方式進行操作。

讓我們探討一下平臺工程的優(yōu)勢以及成功的平臺團隊用于賦予開發(fā)人員自主管理基礎設施的三種主要方法,以及選擇一個支持所采用方法的基礎設施即代碼(IaC)框架的重要性。

開發(fā)人員需要基礎設施來運行其應用程序和服務。傳統(tǒng)上,許多公司都有中央基礎設施團隊來代表開發(fā)人員進行基礎設施的供應和管理,但這種模式容易出現(xiàn)瓶頸,因為開發(fā)人員對基礎設施的請求超過了中央團隊的處理能力。

隨著現(xiàn)代開發(fā)團隊開始承擔擁有和運營自己基礎設施的責任,他們還需要簡單且快速的方式來供應基礎設施,同時遵循最佳實踐。你可能會認為隨著這些轉(zhuǎn)變,中央基礎設施團隊的需求減少了,但他們在使開發(fā)人員和公司在這個新世界中取得成功方面扮演著至關重要的角色。

雖然開發(fā)人員日益更多的負責管理基礎設施,但期望所有開發(fā)人員深入了解云基礎設施是不切實際的。

平臺工程從開發(fā)人員體驗的角度解決了幾個問題。

首先,云計算對于大多數(shù)開發(fā)人員來說過于復雜和笨重,沒有抽象和工具支持很難使用?,F(xiàn)代的云架構(gòu),如微服務和無服務器,增加了管理基礎設施的復雜性。許多公司正在在 Kubernetes 上運行應用程序。雖然開發(fā)人員日益負責管理運行其應用程序的基礎設施,但期望所有開發(fā)人員深入了解云基礎設施的復雜細節(jié)是不現(xiàn)實的。

其次,開發(fā)人員需要了解哪些基礎設施資源需要供應,以及如何遵循公司確定的最佳實踐,比如安全和成本問題、云區(qū)域、法規(guī)要求和批準的云提供商。在 AWS 上有超過 200 種可供選擇的服務,確定正確的資源并非簡單任務。

第三,開發(fā)人員需要一種簡便的方式來供應、配置和管理基礎設施。由于許多架構(gòu)使用來自一個云的多個資源,通常還包括來自其他云或 SaaS 供應商的資源,當部署類似 Kubernetes 等復雜內(nèi)容時可能會遇到挑戰(zhàn)。

通過將基礎設施管理分散到公司中,公司為開發(fā)人員帶來了相當大的新復雜性。為了讓開發(fā)人員能夠?qū)W⒂诟斓匕l(fā)布功能,擺脫這些復雜性的需求變得更加迫切。

這就是平臺工程的作用。平臺團隊構(gòu)建共享工具和服務,幫助開發(fā)團隊在自助服務的基礎上開發(fā)、部署和運營云基礎設施。這包括云基礎設施、容器編排平臺、數(shù)據(jù)庫、網(wǎng)絡、監(jiān)控、代碼庫和部署流水線。

有效的平臺團隊將其服務的應用程序開發(fā)人員視為客戶,通過解決他們的問題來理解和贏得他們的支持。

成功的平臺團隊有一些特征。其中一點是從將基礎設施團隊僅視為成本中心轉(zhuǎn)變?yōu)闃I(yè)務的助推器。通常,這意味著業(yè)務授權團隊執(zhí)行平臺工程模式的權威和資源。有效的平臺團隊還采用以客戶為導向的思維方式,將其服務的應用程序開發(fā)人員視為必須通過解決問題的產(chǎn)品來理解和贏得的客戶。

最后,但同樣重要的是,成功的平臺團隊由具有多學科技能、經(jīng)驗和同理心的優(yōu)秀工程師組成,以構(gòu)建出色的產(chǎn)品,滿足開發(fā)人員的需求,并在公司內(nèi)部“上市”(推廣)。通常,他們在許多工程學科上都有經(jīng)驗,如基礎設施或 DevOps 和軟件工程,以及各種職稱,如軟件工程師、 DevOps 工程師、站點可靠性工程師、云架構(gòu)師、云工程師等。

通過為開發(fā)人員提供高效的基礎設施和工具來部署和運行他們的應用程序,平臺工程師使開發(fā)人員能夠?qū)W⒂跇?gòu)建優(yōu)秀的軟件。

廣泛來說,有三種主要方法可供平臺團隊使用,以使開發(fā)人員可以自助式地使用基礎設施。第一種是創(chuàng)建表示基礎設施資源和配置的基礎設施庫,用于使用部署工具進行基礎設施供應。

第二種是創(chuàng)建基礎設施命令行界面,允許開發(fā)人員通過類似 Heroku 的熟悉 CLI 進行基礎設施的供應和管理。第三種是創(chuàng)建基礎設施平臺應用程序,為開發(fā)人員提供圖形用戶界面來進行基礎設施的供應和管理。

這些方法的共同點是標準化的架構(gòu),其中包含由平臺團隊定義的最佳實踐,以及用于強制實施部署規(guī)則和部署的統(tǒng)一工作流程(代碼審查、拉取請求、持續(xù)集成/持續(xù)交付、測試等)。主要區(qū)別在于開發(fā)人員與基礎設施交互的

界面,所選擇的方法通常取決于實現(xiàn)平臺團隊目標的最佳方式。

為了實現(xiàn)這些方法,平臺團隊需要一個支持其產(chǎn)品的部署框架。雖然構(gòu)建自定義的部署工具可能會誘人,但更高效和功能強大的方法是采用基礎設施即代碼(IaC)框架。

IaC 允許工程師以與管理代碼相同的方式定義和管理基礎設施。這種方法帶來了多種好處,包括版本控制、測試、可重用性和自動化。許多框架可供選擇,有些是開源的,有些不是,可能是特定于云計算提供商的,也可能是多云的。大多數(shù)使用基于 YAML/JSON 的領域?qū)S谜Z言(DSL),而有些使用通用編程語言。

盡管每種方法都有其優(yōu)缺點,但許多平臺團隊發(fā)現(xiàn)采用通用編程語言作為 IaC 提供了最靈活、功能強大和適應性強的方法。這些語言使得建模復雜基礎設施更容易,因為它們原生支持循環(huán)和條件等結(jié)構(gòu),同時提供了熟悉和成熟的抽象和重用模型。

最后但同樣重要的是,當 IaC 使用開發(fā)人員已經(jīng)熟悉的語言編寫時,他們更容易使用。

一個很好的采用平臺工程的公司例子是 Elkj?p Nordic ,北歐地區(qū)領先的消費電子產(chǎn)品零售商。該公司采取了現(xiàn)代化策略,通過讓開發(fā)團隊對其服務和基礎設施擁有所有權,來增加開發(fā)團隊的靈活性。同時,它還希望創(chuàng)建安全和合規(guī)性的防護措施,以防止問題發(fā)生,同時保持開發(fā)人員的自由。

為了實現(xiàn)這一目標,他們建立了一個基礎設施平臺應用程序,使開發(fā)人員能夠在 Azure 上供應基于 Kubernetes 運行的基礎設施。

開發(fā)人員可以通過 Web 界面指定所需的基礎設施,例如環(huán)境類型和訪問權限。該應用程序?qū)⑴渲煤凸斜匾幕A設施資源,包括為該項目設置的 GitHub 代碼庫。該應用程序采用了 React、TypeScript 和 Pulumi 作為 IaC 框架。Pulumi 使得公司可以在 TypeScript 中定義可重用的基礎設施架構(gòu)。該應用程序還使用了 Pulumi 的自動化 API ,將 IaC 功能嵌入到應用程序中,例如在 Azure 和 GitHub 上供應、配置和銷毀基礎設施。

結(jié)果是,開發(fā)團隊可以獨立供應基礎設施,而無需在平臺團隊上產(chǎn)生顯著的成本,并消除供應瓶頸。同時,平臺團隊可以確保開發(fā)人員供應已批準的基礎設施,從而降低配置錯誤的風險。您可以在這篇博文中了解更多關于 Elkj?p 平臺工程的信息。

平臺工程是一門強大且新興的工程學科,它正在幫助公司提高開發(fā)人員的生產(chǎn)力,并從云計算投資中獲得更多價值。通過采用以客戶為中心的方法,平臺工程團隊使開發(fā)人員可以專注于構(gòu)建優(yōu)秀的軟件,為他們提供滿足實際需求、提高生產(chǎn)力的自助式基礎設施工具。這些工具使得開發(fā)人員能夠供應適合其應用程序的正確基礎設施,并進行管理。

選擇一種基礎設施即代碼(IaC)框架是平臺工程策略的重要基礎,因為它定義了如何在組織中對基礎設施進行建模、測試、分發(fā)和部署。

特別是,IaC 語言的選擇會影響基礎設施的可用性、可重用性和擴展能力。通用編程語言提供了重大優(yōu)勢,因為它們已經(jīng)廣泛應用,比 DSL 語言更具靈活性和表達能力,并且附帶了豐富的工具和框架生態(tài)系統(tǒng),提高了生產(chǎn)力。



平臺工程成功的關鍵:IaC的評論 (共 條)

分享到微博請遵守國家法律
安阳县| 攀枝花市| 武宣县| 扬州市| 泊头市| 宜城市| 柳林县| 湾仔区| 和平县| 肥乡县| 会东县| 辉南县| 富宁县| 栾城县| 松潘县| 五河县| 通海县| 湾仔区| 嘉峪关市| 绩溪县| 若尔盖县| 东乌珠穆沁旗| 延吉市| 宿州市| 信阳市| 邵武市| 界首市| 青州市| 灵川县| 凤庆县| 剑阁县| 贞丰县| 广元市| 平武县| 乌审旗| 年辖:市辖区| 华安县| 华亭县| 北碚区| 高雄县| 德庆县|