新聞中心
當前位置:網站(zhàn)首頁 > 新聞中心
如何使用(yòng)OPA實現(xiàn)多雲策略和(hé)流程可移植性
OpenPolicy Agent如何允許開(kāi)發人員團隊在多雲和(hé)混合雲環境中編寫和(hé)實施一緻的策略和(hé)授權。
随着多雲戰略成爲完全主流,公司和(hé)開(kāi)發團隊必須弄清楚如何在雲環境中創建一緻的方法。多雲本身無處不在:在雲中的公司中,整整93%都擁有多雲戰略——這(zhè)意味着他(tā)們使用(yòng)多個公共雲供應商,如亞馬遜網絡服務、谷歌雲平台或微軟Azure。此外(wài),87%或這(zhè)些(xiē)公司擁有混合雲戰略,混合公共雲和(hé)本地雲環境。
公司遷移到(dào)雲的主要原因是提高(gāo)計(jì)算(suàn)、存儲、網絡和(hé)數據庫功能(néng)的性能(néng)、可用(yòng)性、可擴展性和(hé)成本效益。然後,組織在很(hěn)大(dà)程度上(shàng)采用(yòng)多雲策略以避免供應商鎖定。
但(dàn)多雲還提供了(le)第二種誘人的可能(néng)性,即原始雲原生邏輯的擴展:抽象雲計(jì)算(suàn)架構的能(néng)力,以便它們可以在雲提供商之間自(zì)動無縫地(如果不隻是快(kuài)速)移植,以最大(dà)限度地提高(gāo)性能(néng)、可用(yòng)性和(hé)成本節省——或者至少在一個雲供應商發生故障時(shí)保持正常運行時(shí)間。像Kubernetes這(zhè)樣的與雲無關的平台在任何環境(無論是AWS、GCP、Azure、私有雲還是其他(tā)任何環境)中都運行相同,讓我們可以一窺公司如何實現(xiàn)這(zhè)種多雲可移植性。
雖然理(lǐ)論上(shàng)很(hěn)優雅,但(dàn)多雲可移植性在實踐中很(hěn)複雜(zá)。供應商特定功能(néng)、API和(hé)難以移植的數據湖等依賴關系使真正的應用(yòng)程序和(hé)工(gōng)作(zuò)負載可移植性成爲一個複雜(zá)的過程。在實踐中,隻有當組織實現(xiàn)跨雲環境的一緻性時(shí),多雲可移植性才真正起作(zuò)用(yòng)并且運行良好(hǎo)。爲此,企業需要在上(shàng)述供應商、雲、API等之間工(gōng)作(zuò)的策略抽象級别,使他(tā)們能(néng)夠輕松地跨雲原生業務移植技能(néng)、人員和(hé)流程。雖然單個應用(yòng)程序可能(néng)并不總是在雲之間無縫移植,但(dàn)組織的整體方法應該如此。
使用(yòng)OPA跨雲創建一緻的策略和(hé)流程
開(kāi)放(fàng)策略代理(lǐ)(OPA)是一種流行的工(gōng)具,正是因爲它與域無關。OPA由Styra開(kāi)發并捐贈給雲原生計(jì)算(suàn)基金(jīn)會(huì),是一種開(kāi)源策略引擎,可讓開(kāi)發人員團隊在整個雲原生領域構建、擴展和(hé)實施一緻的、上(shàng)下(xià)文(wén)感知(zhī)的策略和(hé)授權。由于OPA允許團隊在任意數量的環境中、任意數量的執行點(針對(duì)雲基礎架構、Kubernetes、微服務API、數據庫、服務網格、應用(yòng)程序授權等)編寫和(hé)執行策略,因此它允許組織采用(yòng)可移植的方法跨多雲和(hé)混合雲環境的策略實施。
此外(wài),作(zuò)爲一種策略即代碼工(gōng)具,OPA使組織能(néng)夠采用(yòng)公司wiki和(hé)人們頭腦(nǎo)中的策略,并将它們編入機器可處理(lǐ)的策略庫中。策略即代碼不僅可以讓組織在任意數量的雲中自(zì)動執行策略,還可以向左移動并向上(shàng)遊注入策略,更接近跨雲工(gōng)作(zuò)的開(kāi)發團隊,以便更快(kuài)地捕捉和(hé)預防安全、運營和(hé)合規風(fēng)險.将OPA與Terraform和(hé)Kubernetes配對(duì)
例如,許多開(kāi)發人員現(xiàn)在将OPA與基礎設施即代碼(IaC)工(gōng)具(如Terraform和(hé)AWSCDK)結合使用(yòng)。開(kāi)發人員使用(yòng)IaC工(gōng)具對(duì)其供應商托管的雲基礎架構進行聲明(míng)性更改——描述他(tā)們希望如何配置基礎架構的所需狀态,并讓Terraform确定需要進行哪些(xiē)更改。然後,開(kāi)發人員使用(yòng)OPA(一種策略即代碼工(gōng)具)編寫策略來(lái)驗證Terraform建議(yì)的更改,并在将它們應用(yòng)于生産之前測試錯誤配置或其他(tā)問題。
同時(shí),OPA可以自(zì)動批準日常基礎設施更改,以減少手動同行評審的需要(以及随之而來(lái)的人爲錯誤的可能(néng)性)。這(zhè)爲開(kāi)發人員創建了(le)一個重要的安全網和(hé)健全性檢查,并允許他(tā)們使用(yòng)不同的配置進行無風(fēng)險的試驗。雖然雲基礎架構本身不能(néng)在供應商之間移植,但(dàn)這(zhè)種方法是設計(jì)使然。
以類似的方式,開(kāi)發人員還使用(yòng)OPA來(lái)控制、保護和(hé)操作(zuò)Kubernetes跨雲,甚至跨各種Kubernetes發行版。Kubernetes已成爲部署、擴展和(hé)管理(lǐ)容器化應用(yòng)程序隊列的标準。正如Kubernetes是可移植的一樣,您在其上(shàng)運行的OPA策略也(yě)是如此。
OPA有許多Kubernetes用(yòng)例。例如,一個流行的用(yòng)例是使用(yòng)OPA作(zuò)爲Kubernetes準入控制器,以确保正确部署容器,并具有适當的配置和(hé)權限。開(kāi)發人員還可以使用(yòng)OPA來(lái)控制Kubernetes的入口和(hé)出口決策,例如編寫禁止具有沖突主機名的入口的策略,以确保應用(yòng)程序永遠不會(huì)竊取彼此的互聯網流量。對(duì)于多雲雲而言,最重要的或許是能(néng)夠确保跨雲的每個Kubernetes分布可證明(míng)符合企業範圍的企業安全策略。
創建标準的雲原生構建塊
在公司可以跨公共雲無縫移植應用(yòng)程序之前,他(tā)們必須首先爲每個雲原生環境中的開(kāi)發人員創建标準構建塊。按照這(zhè)些(xiē)思路,開(kāi)發人員不僅使用(yòng)OPA來(lái)創建策略,而且還可以在CI/CD管道(dào)中自(zì)動執行安全性、合規性和(hé)操作(zuò)标準。這(zhè)爲任何多雲部署實現(xiàn)了(le)可重複擴展,同時(shí)加快(kuài)了(le)開(kāi)發速度并減少了(le)手動錯誤。
OPA啓用(yòng)策略即代碼意味着公司可以将Terraform等工(gōng)具用(yòng)于公共雲,OPA用(yòng)于策略,Kubernetes用(yòng)于容器管理(lǐ),OPA用(yòng)于策略,以及任意數量的微服務API和(hé)應用(yòng)程序授權工(gōng)具以及OPA用(yòng)于策略,同時(shí)運行這(zhè)些(xiē)工(gōng)具在CI/CI管道(dào)或開(kāi)發人員的筆(bǐ)記本電腦(nǎo)上(shàng)使用(yòng)相同的OPA策略。
簡而言之,組織無需浪費任何時(shí)間對(duì)應用(yòng)程序進行逆向工(gōng)程以實現(xiàn)多雲可移植性。相反,他(tā)們可以專注于使用(yòng)通用(yòng)技能(néng)在整個雲原生堆棧中構建可重複的流程。
TimHinrichs是OpenPolicyAgent項目的聯合創始人和(hé)Styra的CTO。在此之前,他(tā)共同創立了(le)OpenStackCongress項目,并且是VMware的一名軟件工(gōng)程師。在過去的18年裏,Tim爲雲計(jì)算(suàn)、軟件定義網絡、配置管理(lǐ)、網絡安全和(hé)訪問控制等不同領域開(kāi)發了(le)聲明(míng)式語言。他(tā)獲得了(le)博士學位。2008年獲得斯坦福大(dà)學計(jì)算(suàn)機科學博士學位。
作(zuò)者:Harris 編譯來(lái)源:機房360
上(shàng)一篇 Gartner:2022年全球雲收入将增至4740億美(měi)元 下(xià)一篇 根治Kubernetes“存儲頭痛症”的方法
|