五個常見的云問題及解決方法
運行互聯網上一些最關鍵的云計算服務的專家分享了他們所面臨的問題,以及他們如何解決或緩解這些問題。
正如一位明智的云計算架構師曾經說過的那樣,“云計算有大量的問題需要解決。”云計算使大規模運行應用程序和服務變得更加容易。然而,云計算也帶來了自己的問題。

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




















