使用Cloud Run實現強大的無伺服器 - MásMóvilEngineering
遺留應用程式堆疊已被擱置,基於容器的應用程式已經上升。
在應用程式開發中使用Docker容器有很多好處,現在已經很明顯了。我們可以突出其中一些:
- 亮度
- 可移植性
- 幾個環境
- 簡易CI / CD
但是容器的所有開發優勢導致在生產中操作它們的高度複雜性,這就是新容器編排出現的原因。最受歡迎的協調器Kubernetes為我們提供了安全執行生產工作負載所需的所有工具。
我們的所有資源分組為計算叢集,服務發現和開箱即用的負載平衡,內建自我修復和水平擴充套件,直接與集中式日誌系統整合,並提供強大的介面,允許Kubernetes與CI整合CD工具。
所有這些都是有代價的,管理Kubernetes並不容易,這就是為什麼雲提供商提供託管Kubernetes,如Google Kubernetes Engine,Azure Kubernetes服務,IBM Kubernetes服務或Digital Ocean Kubernetes服務。
此外,為了能夠使用Kubernetes你需要了解Kubernetes。
但它並沒有結束,為了將我們的容器部署到Kubernetes,我們實際上需要一個執行的Kubernetes叢集,它具有分配的資源(CPU和RAM可用)。聽起來合乎邏輯,對吧?
如果作為開發人員,我有我的容器化應用程式並且我想在不瞭解Kubernetes以及擁有正在執行的叢集的成本和開銷的情況下執行它,該怎麼辦?
在這裡它無需救援服務。無伺服器並不僅僅意味著您不需要執行基礎架構,這也意味著如果您的應用程式未被使用(即它沒有收到任何請求),您將不會支付任何費用。我們在市場上有幾個無伺服器框架,其中一些是商業的,另一些是開源和自託管的。如果我們只關注商業和託管應用程式,我們將看到我們的無伺服器應用程式必須滿足一些要求:
- 您必須使用無伺服器框架(即Google Cloud Functions)檢測應用程式
- 您的應用程式受無伺服器執行時的限制。
- 您不能簡單地使用容器化應用程式。
- 它們專為不同的用例而設計。
Google推出一款新產品:Google Cloud Run。它為我們提供了最好的編排平臺,如Kubernetes,已經提到過,但不需要擁有和維護一個執行不足的基礎架構。它就像一個託管的“託管Kubernetes”,我們只要求我們的容器執行。
它提供了額外的好處,例如Zero的真正可擴充套件性,這意味著如果您的應用程式未被使用,它將自動關閉,如果必須處理請求,那麼我們的應用程式將通過快速冷啟動進行擴充套件。
與許多產品一樣,谷歌也提供慷慨的免費套餐,非常適合開發。另一方面,它有一個很好的定價模型,我相信我們的許多基於Web的工作負載都可以從中受益,從而降低成本。
Cloud Run構建於Knative之上。它確實是一個有管理的Kubernetes + Istio + Knative叢集,所以你不必擔心被綁在商業產品上,你無法從中獲取。您可以簡單地在任何Knative動力基礎架構上執行您的工作負載,它將以相同的方式工作。
我們可以說,這是基礎架構團隊結束和完整的DevOps體驗的一步,開發團隊負責應用程式的整個生命週期。我們可以真正關注對我們來說重要的事情。
相關文章
- 使用無伺服器實現檔案處理的批處理 - DZone Cloud伺服器Cloud
- 比@EnableMongoAuditing功能強大的實現Go
- 使用c#強大的表示式樹實現物件的深克隆C#物件
- Spring Cloud的無伺服器函式Bean簡介SpringCloud伺服器函式Bean
- Java實現常用加密演算法-SM4Java加密演算法
- SAP Customer Data Cloud(Gigya)的使用者搜尋實現Cloud
- 如何用無伺服器技術實現最佳的DevOps實踐伺服器dev
- 使用golang實現redis伺服器GolangRedis伺服器
- 使用Spring Cloud Gateway代理.NET應用程式和無伺服器功能 – Richard SeroterSpringCloudGateway伺服器
- Spring Cloud:使用 Feign 實現負載均衡詳解SpringCloud負載
- Adobe Creative Cloud 無法連線Adobe伺服器?Cloud伺服器
- 使用Spring Cloud Stream和RabbitMQ實現事件驅動的微服務SpringCloudMQ事件微服務
- 六邊形架構:使用事件驅動的無伺服器實現松耦合 - Ellerby架構事件伺服器
- 六邊形架構:使用事件驅動的無伺服器實現鬆耦合 - Ellerby架構事件伺服器
- 使用 Flomesh 強化 Spring Cloud 服務治理SpringCloud
- CSS 奇思妙想 | 使用 resize 實現強大的圖片拖拽切換預覽功能CSS
- 大規模 Spring Cloud 微服務無損上下線探索與實踐SpringCloud微服務
- WebVM:無需後端伺服器直接在瀏覽器中實現的無伺服器環境Web後端伺服器瀏覽器
- 【QT】QtConcurrent::run()+QThreadPool實現多執行緒QTthread執行緒
- 強大的CSS:實現平行四邊形佈局效果CSS
- C# .NET Framework 實現SM2加簽、驗籤C#Framework
- 使用RecycleView實現無限滾動的日曆View
- 使用Spring Cloud Sleuth和OpenTelemetry實現分散式跟蹤SpringCloud分散式
- Spring Cloud Alibaba基礎教程:使用Sentinel實現介面限流SpringCloud
- Spring Cloud:使用Ribbon實現負載均衡詳解(上)SpringCloud負載
- Spring Cloud:使用Ribbon實現負載均衡詳解(下)SpringCloud負載
- 使用Spring Cloud Sleuth實現分散式系統的鏈路追蹤SpringCloud分散式
- 使用PHP實現字串的上標和下標,比如:M²和Log₂FCPHP字串
- Cloud Foundry Session Affinity(Sticky Session)的實現CloudSession
- 無伺服器的十大屬性伺服器
- 維大殺器來了,未來雲上伺服器或將實現無人值守伺服器
- 基於大疆無人機全景拍照的實現思路無人機
- Spring Cloud:使用Hystrix實現斷路器原理詳解(下)SpringCloud
- 前m大的數
- Adobe Creative Cloud for mac無法連線至伺服器的解決方法CloudMac伺服器
- 使用IPMI工具實現對伺服器的遠端管理伺服器
- 蘋果 M2 晶片效能升級,相比 M1 到底有多強大?蘋果晶片
- 設計實現SAM--無伺服器應用模型伺服器模型