運行互聯(lián)網(wǎng)上一些最關(guān)鍵的云計算服務(wù)的專家分享了他們所面臨的問題,以及他們?nèi)绾谓鉀Q或緩解這些問題。
正如一位明智的云計算架構(gòu)師曾經(jīng)說過的那樣,“云計算有大量的問題需要解決?!痹朴嬎闶勾笠?guī)模運行應(yīng)用程序和服務(wù)變得更加容易。然而,云計算也帶來了自己的問題。
編輯搜圖
一方面,企業(yè)如果回到內(nèi)部部署時代,一些失控的代碼只會導(dǎo)致性能下降或中斷。而云計算平臺的成本也居高不下。
雖然使用Amazon Kinesis或Azure CosmosDB或Google Cloud Bigtable都非常容易,但通常容易被鎖定。雖然原始基礎(chǔ)設(shè)施服務(wù)的定價隨著時間的推移而下降,但云計算提供商的定價總體上更加穩(wěn)定。
而且,在所有這些復(fù)雜性和一堆實例中,企業(yè)應(yīng)該保持事情的穩(wěn)定和安全?為什么Kubernetes配置這么長?
與其相反,行業(yè)專家詢問了負責(zé)運行互聯(lián)網(wǎng)上一些最關(guān)鍵的基于云的服務(wù)的人員他們面臨哪些問題,以及他們?nèi)绾谓鉀Q或緩解這些問題。
成本管理
還記得人們認為AWS便宜的時候嗎?Coveo公司技術(shù)高級副總裁兼聯(lián)合創(chuàng)始人Marc Sanfa?on說,“當(dāng)實際上擁有位于本地的硬件時,就可以使用它。你為此付出了代價。你支付電費,然后你想用多少就用多少?!?
Sanfa?on繼續(xù)說道,“但是當(dāng)你擁有像我們這樣擁有200多名開發(fā)人員的公司時,企業(yè)的一些政策規(guī)定他們必須獲得授權(quán)才能購買新手機、桌子或椅子。但他們實際上可以轉(zhuǎn)身進入我們的AWS控制臺并啟動一臺新機器,該機器每小時將花費公司25美元,然后他們將其運行一個月。到了月底,就會面臨高昂的成本?!?
現(xiàn)在,Coveo公司在無人工作時(例如晚上8點)關(guān)閉集群或?qū)嵗?。到早?點和周末。但是,他們必須考慮到那個在凌晨2點醒來并開始工作的開發(fā)人員。
Coveo已經(jīng)有人將75%的時間用于云成本優(yōu)化。然而,Sanfa?on注意到一個新興領(lǐng)域的FinOps公司,其產(chǎn)品有助于管理和優(yōu)化成本。Sanfa?on提到Cloudability和CloudHealth作為可用于控制云支出的工具示例。
保持獨立于特定于云的服務(wù)
Sanfa?on分享了Coveo解決的另一個云計算問題:在Amazon的服務(wù)出現(xiàn)故障時保持Coveo的服務(wù)正常運行。
“就在黑色星期五之前,AWS與Kinesis發(fā)生了兩起重大事件,這是[Coveo]使用的服務(wù)之一,也是AWS內(nèi)許多其他服務(wù)的支柱服務(wù)之一,”Sanfa?on指出。這次中斷并未影響Coveo的主要服務(wù),但確實影響了他們加入新組織和記錄某些類型事件的能力。Coveo是一家搜索公司,黑色星期五前后的幾周是許多電子商務(wù)客戶的“出發(fā)時間”。
Sanfa?on考慮托管Coveo自己的流媒體服務(wù),但與Amazon Kinesis中斷一樣令人不安的是,他質(zhì)疑Coveo是否能夠以比AWS更長的正常運行時間經(jīng)濟高效地運行更好的消息傳遞服務(wù)。即使Coveo可以,那會是對資源的有效利用嗎?
Sanfa?on指出,另一個考慮因素:盡管只使用來自云服務(wù)提供商的服務(wù)有很多好處,但這意味著他們不能只是轉(zhuǎn)移到另一個提供商,如谷歌云或微軟Azure。
一個可能的解決方案是使用AWS的托管Kafka。然后,如果出現(xiàn)問題,Coveo可以直接轉(zhuǎn)移到Azure的托管Kafka或Confluent的GoogleCloud上托管的Kafka。
云計算獨立確實是有成本的,因為運行Amazon Kinesis比運行Amazon托管的Kafka便宜。盡管如此,也有一些好處——尤其是在黑色星期五之前,在大流行期間出現(xiàn)問題,并且您是許多電子商務(wù)網(wǎng)站的搜索骨干。
MariaDB SkySQL產(chǎn)品管理副總裁Saravana Krishnamurthy同樣建議不要依賴任何特定于云的東西?!叭绻愕慕鉀Q方案或任何其他API中內(nèi)置了RESTAPI,請確保所有通信都通過那些獨立于云的API,”Krishnamurthy說。“這樣一來,當(dāng)您從Amazon遷移到Google或Azure時,您實際上就有了一種更好的方式來遷移您的應(yīng)用程序和數(shù)據(jù)。”
多云的云計算提供商差異
Cockroach Labs產(chǎn)品營銷副總裁Jim Walker指出,云提供商所帶來的挑戰(zhàn)都略有不同。Cockroach Labs在AWS和Google Cloud上構(gòu)建了Cockroach Cloud數(shù)據(jù)庫服務(wù),并從這些差異中學(xué)到了很多。
Walker說,“它們基本上是完全不同的,并為我們創(chuàng)造了重要的工作來獲得‘正確’的體驗,”容器和Kubernetes確實幫助我們簡化了一些復(fù)雜性,但我們?nèi)匀恍枰苑浅2煌姆绞娇紤]這兩個平臺?!彼峁┝艘恍┘毠?jié):
例如,每個云中的Kubernetes托管服務(wù)都非常不同,網(wǎng)絡(luò)復(fù)雜性也完全不同。我們使用負載均衡器的方式是不一樣的。此外,一種允許我們自定義和設(shè)置IOPS,另一種則不允許。當(dāng)我們?yōu)榭蛻籼峁¬PC[Virtual PrivateCloud]對等功能時,每個功能(AWSPrivateLink與vanilla)中的方法也完全不同。云提供商具有巨大的價值,但我們確實與每個都有很多關(guān)系。
云安全
MariaDB的Krishnamurthy還強調(diào)了云中網(wǎng)絡(luò)安全的重要性。“我們不希望一個客戶的流量干擾另一個客戶,”克里希那穆爾蒂說?!耙虼?,當(dāng)客戶需要虛擬私有云時,他們希望將流量與公共網(wǎng)絡(luò)和其他客戶隔離開來,我們提供VPC作為隔離它們的一種方式。”
但是,當(dāng)有人在ActiveDirectory上進行標(biāo)準(zhǔn)化并在VPC之間進行身份驗證時,這可能會很復(fù)雜。這可能需要對系統(tǒng)之間的角色進行一些艱巨的配置和映射策略。
復(fù)雜性、配置和合規(guī)性
即使配置幾臺服務(wù)器并保持它們的一致性也是一個挑戰(zhàn)。Devops承諾會簡化我們的操作和部署問題,但配置會出現(xiàn)偏差。此外,當(dāng)配置存在于一系列腳本中并可能應(yīng)用于數(shù)百臺服務(wù)器時,很難看出“誰”更改了配置。對于某些行業(yè),尤其是金融服務(wù)行業(yè),缺乏審計跟蹤對于合規(guī)性而言是一個真正的問題。
一組稱為GitOps的新技術(shù)和方法提供了一種解決方案。顧名思義,GitOps將版本控制工具Git與devops結(jié)合在一起。然而,GitOps遠不止這些。它還在測量漂移時使配置聲明性。此外,Git維護審計跟蹤。那么誰關(guān)閉了安全性呢?你可以通過查看repo來回答這個問題。
引用一位臭名昭著的云架構(gòu)師的話,“Moserversmoquestions”。盡管如此,您仍然可以通過FinOps保持成本效益,通過GitOps應(yīng)對復(fù)雜性,通過保持多云來防止您的軟件因單一供應(yīng)商中斷而屈服,并通過在您自己的VPC中隔離您的服務(wù)來維護系統(tǒng)的安全性和隱私性。
感覺特別的日子已經(jīng)一去不復(fù)返了,因為使用CVS來檢查Unix配置文件——每個這樣做的Unix管理員都感到特別。在這個多云的世界里,人們有很多服務(wù)器問題,但也有更好的工具。