我們喜歡討論鎖定問題。什么是供應(yīng)商鎖定?還有其他類型的鎖定嗎?云能保護(hù)你不被鎖定嗎?開源解決方案能否帶來鎖定?
答案是:視情況而定。
編輯搜圖
每一項(xiàng)技術(shù)選擇都是一場(chǎng)零和博弈。學(xué)習(xí)和部署一種技術(shù)所花費(fèi)的資源,不能用于另一種技術(shù)。但鎖定是不同的。
客戶喜歡談?wù)撴i定,因?yàn)轭櫩拖矚g談?wù)撍怨?yīng)商也喜歡談?wù)撍?。好吧,讓我們來討論一下供?yīng)商鎖定!
開始
從歷史上看,所有技術(shù)都是專有的,所以技術(shù)選擇就是供應(yīng)商選擇,供應(yīng)商選擇就是技術(shù)選擇。你有兩個(gè)選擇,一個(gè)是自己開發(fā)技術(shù),另一個(gè)是以許可成本從供應(yīng)商那里購買技術(shù)。
一旦你承擔(dān)了許可費(fèi)用,你就有一個(gè)風(fēng)險(xiǎn),那就是這項(xiàng)技術(shù)可能無法正常工作。如果你想換一種不同的技術(shù),可以,但必須支付新供應(yīng)商的新許可費(fèi)用以及采用新技術(shù)的費(fèi)用。采用新技術(shù)的成本有三個(gè)組成部分:許可成本(CapEx)、采用成本(CapEx)和維護(hù)成本(OpEx)。
對(duì)于大多數(shù)專有軟件,一旦用戶購買了許可,他們就可以繼續(xù)永久使用它,只要他們能夠忍受缺乏安全更新等情況。
但一些專有許可要嚴(yán)厲得多。對(duì)于限制最嚴(yán)格的專有軟件,沒有許可就無法繼續(xù)使用。有些情況下,專有技術(shù)的用戶每年都必須為使用該技術(shù)的許可付費(fèi)。
這些成本導(dǎo)致買家采取極端保守的行為。在購買軟件許可之前,客戶確實(shí)希望確保該軟件按聲明的方式工作。在技術(shù)選擇或供應(yīng)商選擇上的任何錯(cuò)誤都可能極其昂貴,因此買家可以使用白皮書、咨詢書面客戶推薦信、與其他買家交談、咨詢Gartner或IDC等分析師以及閱讀貿(mào)易雜志來核實(shí)潛在的購買。在這個(gè)時(shí)代,征求建議書(RFP)的概念變得流行起來,迫使供應(yīng)商在買家承諾購買軟件之前盡可能多地披露信息。
由于許可和技術(shù)采用的前期成本比維護(hù)成本更高,人們自然傾向于在很長(zhǎng)時(shí)間內(nèi)使用相同的技術(shù)堆棧并抵制更改。
開源的方式
隨著開源軟件的出現(xiàn),軟件許可成本減少。有了開源,采用和學(xué)習(xí)新技術(shù)仍有成本,但還有另一個(gè)隱藏的優(yōu)勢(shì)。
有了開源軟件,供應(yīng)商無法鎖定買家。買方保留在任何給定時(shí)間選擇不同供應(yīng)商的權(quán)利。即使只有一家供應(yīng)商銷售對(duì)特定開源代碼的支持,買家仍然有選擇。買家可以吸引另一個(gè)供應(yīng)商支持它,自己支持它,支付顧問支持它,甚至在沒有支持的情況下運(yùn)行它。原始供應(yīng)商沒有能力強(qiáng)迫買方繼續(xù)保持財(cái)務(wù)關(guān)系。從供應(yīng)商鎖定的角度來看,這改變了游戲規(guī)則。
實(shí)際上,開源切斷了技術(shù)選擇和供應(yīng)商選擇的聯(lián)系。你采用哪種技術(shù)以及你選擇從誰那里采用它可能是兩個(gè)完全不同的選擇。此外,這些選擇有明顯不同的風(fēng)險(xiǎn)和回報(bào)。
最快的采用方式
最近,人們似乎已經(jīng)忘記了供應(yīng)商鎖定的歷史。他們不記得這一切是怎么開始的,所以有一種看法認(rèn)為,幾乎任何令人討厭的技術(shù)采用都是鎖定的。并不是。
開源技術(shù)仍然存在采用成本,這會(huì)產(chǎn)生重力,但重力和鎖定是兩個(gè)截然不同的概念。做任何選擇都有重力。做出技術(shù)選擇更是如此。但重力并不能阻止你在犯錯(cuò)時(shí)放棄決定。采用成本本身并不是固定不變的。
例如,假設(shè)你做出技術(shù)決策,使用開源項(xiàng)目來解決數(shù)據(jù)存儲(chǔ)問題。在項(xiàng)目進(jìn)行到一半時(shí),你意識(shí)到這項(xiàng)技術(shù)無法滿足你的需求,所以你必須找到一種替代的開源技術(shù),投入時(shí)間學(xué)習(xí)和部署它,并在采用這個(gè)新項(xiàng)目時(shí)承擔(dān)另一個(gè)風(fēng)險(xiǎn)。
這不是鎖定。
鎖定是一件更可怕的事情。鎖定是指只有一家供應(yīng)商可以提供你采用的技術(shù)解決方案。供應(yīng)商鎖定是指你想保留技術(shù),但擺脫供應(yīng)商時(shí)碰到的。供應(yīng)商鎖定指的是,如果你不支付新的許可費(fèi)用或維護(hù)費(fèi)用,明年甚至無法使用該技術(shù)。
即使在2021,有時(shí)買方也無法避免供應(yīng)商鎖定。有時(shí),專有解決方案確實(shí)是解決問題的唯一可行方案,在這些情況下,供應(yīng)商鎖定是必要的。但是,在這些情況下,筆者建議使用所有發(fā)明的流程來處理這些問題:RFP、分析師、客戶參考等。
開源已經(jīng)改變了IT基礎(chǔ)設(shè)施和網(wǎng)絡(luò),但在制造業(yè)等許多行業(yè),供應(yīng)商鎖定仍然是供應(yīng)商和買家之間的默認(rèn)關(guān)系。
去云端應(yīng)該能解決所有問題
云可以分為三層:基礎(chǔ)設(shè)施即服務(wù)(IaaS)、平臺(tái)即服務(wù)(PaaS)和軟件即服務(wù)(SaaS)。雖然IaaS可以被認(rèn)為是在云中租用硬件,但PaaS和SaaS需要以完全不同的方式來考慮(硬件1.0和硬件2.0)。在IaaS的服務(wù)之間進(jìn)行遷移相對(duì)簡(jiǎn)單,買家可以很好地避免被供應(yīng)商鎖定。更高層次的服務(wù),沒有那么多。云提供商是否真的會(huì)在軟件世界中獲勝還有待觀察,但他們肯定會(huì)像最初的硬件供應(yīng)商一樣,不斷攀升,因?yàn)樗麄兿霝榭蛻籼峁└橙说慕鉀Q方案。讓我們從供應(yīng)商鎖定的角度來探討這些較低級(jí)別和較高級(jí)別服務(wù)之間的差異。
通過筆者所說的硬件2.0,服務(wù)器、網(wǎng)絡(luò)和存儲(chǔ)在云中租用,并通過API進(jìn)行配置。從一家云提供商遷移虛擬機(jī)的轉(zhuǎn)換成本相當(dāng)于學(xué)習(xí)一種新的資源調(diào)配API。Ansible和Terraform等工具為買家提供了一個(gè)API,可以在每個(gè)云提供商的底層API之間進(jìn)行轉(zhuǎn)換,從而進(jìn)一步降低了這些成本。如果架構(gòu)設(shè)計(jì)良好,買家只需對(duì)配置文件進(jìn)行一些更改,就可以在云提供商之間移動(dòng)(盡管存儲(chǔ)仍然有重力)。
這給我們帶來了與采用開源軟件相當(dāng)?shù)某杀尽.?dāng)然,有采用費(fèi),但沒有許可費(fèi)。你從每一家云服務(wù)提供商那里得到的最終產(chǎn)品在功能上幾乎相當(dāng)。對(duì)于特定于硬件的東西,比如Arm/x86/Power、GPU等,有一些區(qū)別,但這是正常的區(qū)別,與硬件供應(yīng)商多年來所做的類似。
但服務(wù)是不同的。Amazon Kinesis、DynamoDB、ElastiCache、Simple Queue Services、TimeStream、OpenSearch、Lambda等云服務(wù),甚至Azure DevOps Pipelines、GitHub Actions和AWS Image Builder等云服務(wù)都與租用虛擬機(jī)完全不同。
這些服務(wù),尤其是部署單個(gè)應(yīng)用程序通常需要的這些服務(wù)的復(fù)雜組合,只能從一個(gè)供應(yīng)商處獲得。更糟糕的是,云服務(wù)類似于最嚴(yán)厲的專有許可。如果不向云提供商付費(fèi),你甚至不能使用它們。通過高級(jí)專有服務(wù)的復(fù)雜組合部署,我們將供應(yīng)商選擇和技術(shù)選擇結(jié)合在一起。甚至還有一種重構(gòu)成本,類似于過去專有軟件的許可成本。
總之,這組復(fù)雜的服務(wù)相當(dāng)于經(jīng)典的供應(yīng)商鎖定。如果你想把技術(shù)選擇和供應(yīng)商選擇這樣內(nèi)在地聯(lián)系起來,筆者鼓勵(lì)你找律師、咨詢分析師,并與其他客戶真正做好準(zhǔn)備。
許可的問題
這場(chǎng)辯論是在AWS和Redis等供應(yīng)商之間的爭(zhēng)斗中公開進(jìn)行的。盡管Redis已經(jīng)更改了許可,但仍在使用的許可保護(hù)了買家。如果你對(duì)Redis感到憤怒,你可以自己運(yùn)行它,也可以付費(fèi)咨詢公司為你運(yùn)行它。
另一個(gè)容易被忽略的細(xì)節(jié)是,有了Redis,買家仍然可以自由構(gòu)建一流的解決方案。他們可以決定從戴爾購買服務(wù)器,從紅帽購買操作系統(tǒng),從Redis購買數(shù)據(jù)解決方案。或者,如果他們對(duì)戴爾、紅帽和Redis感到憤怒,他們可以從谷歌租一臺(tái)虛擬機(jī),使用SUSE Linux,并支付咨詢費(fèi)來管理Redis層?;蛘?,他們可以在本地使用VMware,使用Ubuntu服務(wù)器,雇傭程序員來維護(hù)Redis 50年。
鐘擺是否會(huì)從云向另一個(gè)方向擺動(dòng)?或者,云供應(yīng)商是否真的在走之前硬件供應(yīng)商的路,并將被緊隨其后的開源軟件初創(chuàng)公司所取代?
選擇的悖論
錯(cuò)誤的技術(shù)選擇和供應(yīng)商鎖定是任何采用技術(shù)的人都需要了解的兩種截然不同的風(fēng)險(xiǎn),但它們不是一回事。糟糕的技術(shù)選擇是進(jìn)門的風(fēng)險(xiǎn),供應(yīng)商鎖定是走出門的風(fēng)險(xiǎn)。
如果你正在迅速采用技術(shù),試圖通過冒險(xiǎn)獲得回報(bào),你會(huì)做出一些糟糕的技術(shù)選擇。糟糕的技術(shù)選擇是一項(xiàng)核心競(jìng)爭(zhēng)力——快速失敗。你會(huì)在這些錯(cuò)誤的選擇中生存下來,從中學(xué)習(xí),并在做出新的選擇時(shí)變得更好。這是對(duì)軟件驅(qū)動(dòng)公司所需核心競(jìng)爭(zhēng)力的戰(zhàn)略投資。
糟糕的供應(yīng)商鎖定選擇不是一項(xiàng)戰(zhàn)略投資。由于絕大多數(shù)創(chuàng)新都來自開源,因此采用將你鎖定在單一供應(yīng)商的技術(shù)幾乎沒有風(fēng)險(xiǎn)或回報(bào)。