本文來(lái)自微信公眾號(hào)“開(kāi)源云中文社區(qū)”。
軟件即服務(wù)(SaaS)交付軟件的方法徹底改變了行業(yè)。SaaS市場(chǎng)預(yù)計(jì)到2030年將從3萬(wàn)億美元增長(zhǎng)到10萬(wàn)億美元,未來(lái)是光明的。組織越來(lái)越多地采用SaaS應(yīng)用程序,因?yàn)樗鼈兪窃谔峁┥痰姆?wù)器上管理和運(yùn)行的。這減輕了管理軟件應(yīng)用程序的基礎(chǔ)設(shè)施、可用性、安全性和性能的責(zé)任。
雖然這使客戶(hù)能夠簡(jiǎn)單地租用軟件并只為所使用的軟件付費(fèi),但使用SaaS并不總是可能的。一些垂直的SaaS,如開(kāi)發(fā)人員或安全工具,通常必須與組織的代碼庫(kù)或生產(chǎn)環(huán)境交互——對(duì)于擁有專(zhuān)有算法或敏感數(shù)據(jù)的組織來(lái)說(shuō),這是絕對(duì)不允許的,尤其是在金融科技、醫(yī)療保健和政府行業(yè)。然而,這些行業(yè)的企業(yè)仍然需要使用尖端技術(shù),無(wú)法購(gòu)買(mǎi)過(guò)時(shí)的軟件。
作為回應(yīng),一些軟件供應(yīng)商將其產(chǎn)品作為自管理版本提供,這樣公司就可以在其基礎(chǔ)設(shè)施范圍內(nèi)保持其運(yùn)行,從而滿(mǎn)足安全和數(shù)據(jù)保護(hù)需求。但設(shè)置、運(yùn)行和擴(kuò)展工具可能是一項(xiàng)復(fù)雜且資源密集的任務(wù),公司可能不想承擔(dān)。這會(huì)占用時(shí)間和資源,讓公司無(wú)法專(zhuān)注于構(gòu)建核心產(chǎn)品。
這就是為什么筆者認(rèn)為需要一種新的范式。
什么是私有SaaS?
私有SaaS是SaaS的變體,供應(yīng)商在客戶(hù)網(wǎng)絡(luò)中運(yùn)行軟件,但負(fù)責(zé)管理和保護(hù)軟件。供應(yīng)商的私有SaaS框架負(fù)責(zé)可靠性、可用性、升級(jí)和第2天運(yùn)維。它分割控制平面和數(shù)據(jù)平面,允許客戶(hù)數(shù)據(jù)保留在其網(wǎng)絡(luò)中。
由于軟件完全由提供商管理,客戶(hù)無(wú)需處理部署、配置、可靠性、安全性、災(zāi)難恢復(fù)和升級(jí)。而且,由于軟件數(shù)據(jù)仍在組織的網(wǎng)絡(luò)中,組織可以控制數(shù)據(jù)的保存位置和保存時(shí)間,從而幫助實(shí)現(xiàn)對(duì)SOC2、HIPAA和GDPR的合規(guī)性。最后,對(duì)于處理大量數(shù)據(jù)的工具,如日志管理和ETL,私有SaaS可以消除大量數(shù)據(jù)傳輸成本。
SaaS模型:
——供應(yīng)商的“數(shù)據(jù)平面”(每個(gè)客戶(hù)的應(yīng)用程序和軟件托管并運(yùn)行)位于供應(yīng)商的網(wǎng)絡(luò)中。
——基礎(chǔ)設(shè)施(機(jī)器、內(nèi)存、CPU、磁盤(pán))由供應(yīng)商提供。
為了讓供應(yīng)商的“數(shù)據(jù)平面”接收更新,為每個(gè)客戶(hù)運(yùn)行的代理與供應(yīng)商的控制平面(也位于同一供應(yīng)商網(wǎng)絡(luò)中)進(jìn)行協(xié)調(diào)。
私有SaaS模型:
——供應(yīng)商的“數(shù)據(jù)平面”位于客戶(hù)A網(wǎng)絡(luò)內(nèi)的環(huán)境中,因此由客戶(hù)A管理和控制。
——基礎(chǔ)設(shè)施(機(jī)器、內(nèi)存、CPU、磁盤(pán))由客戶(hù)A提供。
——只有供應(yīng)商的“控制平面”(負(fù)責(zé)“數(shù)據(jù)平面”的更新)位于供應(yīng)商的基礎(chǔ)設(shè)施內(nèi),而工具和應(yīng)用程序則位于客戶(hù)的基礎(chǔ)設(shè)施中。
對(duì)私有SaaS的使用
OpsVerse提供了一個(gè)托管的DevOps工具平臺(tái),允許公司使用開(kāi)源軟件,如Argo、Grafana、Jaeger和Prometheus。私有SaaS產(chǎn)品非常受歡迎,主要是由于客戶(hù)希望將數(shù)據(jù)保存在內(nèi)部。從信息安全(InfoSec)的角度來(lái)看,通過(guò)私有SaaS啟動(dòng)工具可以使他們遵守?cái)?shù)據(jù)保護(hù)規(guī)則或必須遵守的任何法規(guī)。
例如,客戶(hù)通過(guò)私有SaaS運(yùn)行Argo CD。為了理解原因,我們必須首先了解Argo CD提供了什么以及它是如何工作的。
Argo CD是一個(gè)開(kāi)源的、基于GitOps的“持續(xù)交付”工具,正迅速獲得采用和普及。GitOps指的是一組使用Git作為唯一真實(shí)來(lái)源來(lái)管理基礎(chǔ)設(shè)施和應(yīng)用程序配置的實(shí)踐。Argo CD——流的“持續(xù)交付”部分——監(jiān)控Git并確?;A(chǔ)設(shè)施的狀態(tài)匹配。
因此,Argo CD需要訪問(wèn)組織的Git存儲(chǔ)庫(kù)和生產(chǎn)基礎(chǔ)設(shè)施(如Kubernetes),在那里它需要操作更改——這兩個(gè)都是非常脆弱的資產(chǎn)。使用私有SaaS,這兩個(gè)組件都留在組織自己的網(wǎng)絡(luò)中,提供InfoSec團(tuán)隊(duì)所需的安全級(jí)別。
如何構(gòu)建私有SaaS
構(gòu)建一個(gè)私有SaaS產(chǎn)品可以為公司打開(kāi)一個(gè)新的市場(chǎng),但這并非沒(méi)有挑戰(zhàn)。
主要挑戰(zhàn)之一是了解私有SaaS應(yīng)用程序的運(yùn)行狀況。為了確保高質(zhì)量的服務(wù),供應(yīng)商必須具有強(qiáng)大的可觀測(cè)能力。
這包括收集以下信號(hào):
——指標(biāo):查看應(yīng)用程序趨勢(shì)并設(shè)置警報(bào)。
——日志:查看應(yīng)用程序正在做什么。
——跟蹤:查看應(yīng)用程序的哪些組件可能成為瓶頸。
——事件:查找基礎(chǔ)設(shè)施更改。
這可以通過(guò)為其應(yīng)用的所有組件實(shí)施遙測(cè)來(lái)實(shí)現(xiàn)。這確保了服務(wù)始終處于運(yùn)行狀態(tài),并允許供應(yīng)商知道何時(shí)為客戶(hù)周邊運(yùn)行的部件提供更新或維護(hù)。
另一個(gè)挑戰(zhàn)是推出在私有Saas中運(yùn)行的應(yīng)用程序的更新。如果網(wǎng)絡(luò)配置不允許進(jìn)出客戶(hù)周界,則供應(yīng)商應(yīng)將管理集群復(fù)制到客戶(hù)周界中,這樣代理在輪詢(xún)時(shí)就不必離開(kāi)周界。這種方法將使供應(yīng)商的自動(dòng)更新框架保持一致,但客戶(hù)將有額外的負(fù)擔(dān)來(lái)與供應(yīng)商協(xié)調(diào)操作管理集群。
如果客戶(hù)的網(wǎng)絡(luò)配置僅限制從其周界外部進(jìn)入,則需要由供應(yīng)商提供的位于客戶(hù)周界的代理。此代理將輪詢(xún)供應(yīng)商的管理集群,下載并安裝更新。
在自動(dòng)更新期間解決客戶(hù)集群上的問(wèn)題也是一項(xiàng)挑戰(zhàn)。供應(yīng)商應(yīng)確??蛻?hù)運(yùn)行診斷并將報(bào)告發(fā)送給供應(yīng)商以進(jìn)行故障排除。
私有SaaS剛剛起步
政府對(duì)數(shù)據(jù)安全和隱私的管理法規(guī)不斷演變,對(duì)工程團(tuán)隊(duì)來(lái)說(shuō),合規(guī)性始終是一個(gè)挑戰(zhàn)。據(jù)估計(jì),66%的國(guó)家制定了某種數(shù)據(jù)隱私和消費(fèi)者權(quán)益立法,因此我們應(yīng)該預(yù)計(jì),使用SaaS將越來(lái)越具有挑戰(zhàn)性。
無(wú)法使用SaaS的組織正在轉(zhuǎn)向內(nèi)部部署和組裝的OSS,內(nèi)部開(kāi)發(fā)平臺(tái)(IDP)的興起反映了這一趨勢(shì)。然而,他們通常沒(méi)有開(kāi)發(fā)主題專(zhuān)業(yè)知識(shí)所需的時(shí)間、帶寬和技能來(lái)可靠地運(yùn)行、維護(hù)和保護(hù)開(kāi)源軟件。這有充分的理由。最近的一份報(bào)告發(fā)現(xiàn),在員工超過(guò)10000人的組織中,48%的組織面臨遵守政府要求的挑戰(zhàn),30%的組織報(bào)告稱(chēng)其OSS堆棧的安全性是首要任務(wù)。
這就是我們認(rèn)為需要私有SaaS的原因,我們已經(jīng)看到公司使用類(lèi)似的方法。你認(rèn)為需要這個(gè)新概念嗎?你是否基于類(lèi)似的原則構(gòu)建產(chǎn)品?