如何在分散式多雲世界中取得成功

blank

如何在分散式多雲世界中取得成功

為什麼我們要用一件以上的東西來解決特定的需求? 有時我們別無選擇。 我所有的金融資產都不在一個地方,因為我的僱主提供的退休帳戶與我的個人帳戶不在同一個金融機構。 其他時候,我們故意多樣化。 我可以在一家零售商處購買所有衣服,但無論是個人喜好,便利還是僅僅是一種情況,我都在一家商店購買鞋子(通常在不同的商店購買不同類型的鞋子),在另一家商店購買襯衫並在某個地方購買外套其他。

您的IT部門內部情況是否相同? 根據組織動態,過去對技術的押注以及當前客戶的需求,我敢打賭您可以針對任何給定問題提供一些解決方案。 隨著公共雲再次發生,因為統計數據表明你們中的大多數使用了多個提供程式。
但是所有的公共雲都不一樣。 可以肯定的是,它們之間有共同點:每個公共雲供應商都提供虛擬計算,存儲和網路以及諸如消息傳遞之類的中間件服務。 但是每個雲都提供了其他地方都找不到的新穎服務。 每個都在不同的地理區域內運作。 某些雲提供了與其他雲不同的安全性,數據主權和混合功能。 用戶體驗(開發人員工具,Web門戶,自動化功能)並不統一,並且可能會吸引公司中的不同團隊。
使用多個雲可能變得司空見慣,但這並不容易。 有不同的工具,技能和範例可供吸收。 但是不要害怕。 不要讓開發人員去學習每個雲的每一個細微差別,也不要把注意力轉移到提供客戶價值上。 但是,您確實需要準備您的技術團隊,以便他們準備充分利用多雲。 那麼,作為技術團隊的負責人,您應該怎麼做? 在考慮如何處理多雲時,這是一些高級建議。 請記住,目前還沒有通用的正確解決方案,只有適合您組織的正確解決方案。
使您的主要精力放在通用的技能上
您的軟體不是由您選擇的雲端定義的。 這可能是輕描淡寫,來自某個為公共雲供應商工作的人,但這是事實。 構建出色軟體所需的大部分時間都超過了任何給定的部署目標。
哪些軟體開發技能真正重要?

  • 深入探討一種或多種程式設計語言。 真正瞭解如何編寫高效,可變和可測試的代碼。
  • 優化您的開發環境,包括您的IDE,實驗性沙箱和原始程式碼控制流程。
  • 瞭解諸如Angular或Flutter之類的前端框架。
  • 總結關係資料庫和無模式資料庫的用例。
  • 找出打包應用程式的正確方法,包括如何使用容器。
  • 投資有關微服務,微前端,事件流處理,JAMstack,API和服務網格的現代架構知識。
  • 知道如何建立完整的持續集成管道,從而為您的團隊提供快速反饋。

這是有價值的,可移植的知識,與您最終使用哪種雲沒有關係。
別誤會,您將需要圍繞新穎的雲服務開發技能。 所有雲都不盡相同,在身份驗證,供應和使用這些強大服務的方式上也存在合理差異。 旨在在一個雲端上出色運行的應用程式不會輕易在另一個雲端上運行。 只是不要忘記,這一切都與您的軟體和客戶有關。 烏雲在這裡為您服務,而不是相反!
在整個環境中使用"最輕量的可行平臺"
組織經常將重量級,不透明的平臺放置到位,並希望開發人員來使用它們。 這是一種反模式,公司正在注意到一種更好的方法。
《團隊拓撲》一書的作者提倡最薄可行平臺(TVP)的思想,以加快開發速度。 在許多組織中,Kubernetes是其TVP的開始。 它為容器化工作負載提供了豐富,一致的API。 將Knative置於該TVP之上以為開發人員提供一個以應用程式為中心的界面,從而隱藏Kubernetes的潛在複雜性可能是有意義的。 然後,您可以向集群引入嵌入式服務網格,以便開發人員不必編寫以基礎結構為中心的代碼-用戶端負載平衡,服務發現,重試,電路中斷等。
但是,這裡真正強大的功能是擁有一個由行業標準開放原始程式碼組成的基礎平臺。 不僅是開源,而且是標準開源。 您知道,一個龐大的生態系統支援並集成的專案,例如Kubernetes,Istio,Envoy,Tekton和Cloud Native Buildpacks。 這使您可以跨部署目標運行相同的平臺,並與同類最佳的基礎架構和服務整合。 您的開發人員可以自由地將基礎知識視為理所當然,並引導他們關注每種環境中所有可用的增值功能。
根據您的應用需求選擇合適的雲(和服務)
讓我們回顧一下。 您專注於可移植的技能,並且擁有一個基礎平臺,可以輕鬆地在每個環境上一致地運行軟體。 現在,您需要選擇軟體的實際運行位置。
您的開發人員可能會編寫完全與雲端無關的軟體,並且可以在任何地方運行。 這很難做到,但是假設您已經做到了,那麼您的開發人員就無需事先做出任何艱難的選擇。 您什麼時候需要目標環境的預備知識? 一些例子:

  • 您的應用程式依賴於AI,數據處理,物聯網或特定於垂直產業的API的獨特功能,例如媒體或醫療保健。
  • 您需要將應用程式託管在特定的地理位置,從而選擇特定的雲,資料中心或合作夥伴設施。
  • 您的應用程式必須位於特定數據源(例如SaaS系統,合作夥伴資料中心,行動使用者)旁邊,並使用最接近的任何主機。

擁有經過測試的決策樹,以説明您的團隊決定何時使用新穎服務還是商品服務,以及如何選擇最適合工作負載的雲。 選擇要使用的雲端和服務可能需要專家的説明

What do you think?

Written by marketer

史上最全前端框架庫匯總

blank

決勝未來,2020年前端開發十大戰略性技術佈局