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