微軟開源項目Dapr達到1.0里程碑幫開發者創建雲原生應用
伴隨著越來越多的開發人員構建可擴展的雲原生應用,微軟在2019年10月推出了分佈式開源微服務構建運行時Dapr。它是一個開源的、事件驅動的框架,旨在為雲計算和邊緣應用程序構建彈性和可移植的微服務。今天該服務達到了1.0里程碑,標誌著該項目已經準備好投入商用領域。
時至今日,Dapr項目經歷了14次更新,社區已經集成了包括Azure、AWS、阿里雲和Google Cloud在內的幾乎所有主要雲供應商。微軟Azure首席技術官Mark Russinovich表示,Dapr的目標是為企業開發者實現雲原生開發的民主化。
他表示
當我們去看企業開發人員被要求做什麼時–他們傳統上一直在做客戶端、服務器、Web加數據庫類型的應用。但現在,我們要求他們進行容器化,並創建可擴展的微服務,並且具有無停機更新的功能–他們必須與所有這些雲服務進行整合。
此外,許多企業還要求他們製作的應用能夠在企業內部環境和雲環境之間移植,甚至能夠在雲之間移動。所以,只是大量的複雜性被扔給了他們,而這些複雜性與他們試圖解決的業務問題並不具體或不相關。
而很多開發都可能需要從頭開始,以便於讓他們的應用能夠可靠地與其他各種服務對話。Dapr 背後的理念是為開發者提供一個單一的運行時,開箱即用,提供開發者構建事件驅動微服務所需的工具。除此以外,Dapr 還為服務對服務的通信、狀態管理、pub/sub和秘密管理等提供了各種構建模塊。
Russinovich 表示
Dapr 的目標是:讓我們把編寫這些雲原生的分佈式、高可用、可擴展、安全的雲服務的所有瑣碎工作從開發人員身上轉移開,讓他們可以專注於他們的代碼。實際上,我們從無服務器、功能即服務中吸取了教訓,例如Azure Functions,它是事件驅動的,他們專注於他們的業務邏輯,然後像Azure Functions 的綁定一樣,負責與其他服務連接。
他還指出,這裡的另一個目標是取消特定語言的模型,創建一個可以從任何語言中利用的編程模型。畢竟,企業傾向於在其現有代碼中使用多種語言,而且很多企業現在正在研究如何最好地實現現有應用程序的現代化–而不需要扔掉所有的現有代碼。