原文連接數據庫
天天都有愈來愈多的企業遷移到雲上,雲原生應用的開發需求急速增長。雲原生應用可以提供傳統應用所沒有的優點,包括自動資源配置,自動伸縮,高可用性。這些應用能夠爲企業和開發者提供絕對競爭優點。安全
在這篇文章中,你將瞭解到在Azure上開發雲原生應用的一些資源以及技巧。服務器
Azure包含了一系列內建的工具與服務,完整的列表請查看微軟的Azure開發指南。架構
Azure有兩個開發和生成雲原生應用的工具:Visual Studio以及Azure App Service。app
VS是一個集成開發環境,能夠針對雲或內部集羣,開發,調試,部署並監管程序。框架
能夠選擇免費社區版本或兩個付費版本——專業版和企業版。VS是平臺無關的,能夠直接與Azure服務集成,容許你直接部署到Azure。機器學習
Azure App Service是一個訂閱式的平臺即服務(PaaS)容許爲Web及手機生成應用。它提供了對雲架構的徹底控制,能夠在容器或直接以代碼形式部署應用。ide
App Service包含了一些預生成的應用,能夠做爲建立應用的基礎。支持流行的框架和語言,包括.NET,Java,Python,PHP,Node.js以及Ruby。工具
有多種存儲選項能夠選擇,能夠從任意標準的存儲服務中存取數據,包括磁盤,文件,消息隊列,表以及二進制對象。也能夠將你的應用鏈接到數據庫服務。性能
Azure爲結構化的,半結構化的以及關係型的數據提供了按需付費的數據庫服務。數據庫服務包含內建的安全與性能調優功能,還包括自動的數據備份。
數據庫的選擇包括:
還可使用SAP HANA。SPA HANA是面向列的,關係型數據管理系統。
可使用SAP作一些分析,包括預測分析,空間數據處理,文本搜索,圖數據處理,以及流分析。也能夠將SAP做爲應用服務器建立並運行應用程序。
在Azure上部署原生應用既能夠是容器形式也能夠是無服務器的形式。可使用Azure Kubernetes Service (AKS)或 Azure Container Instances (ACI)運行並管理容器化應用。使用Azure Functions運行無服務器應用。
AKS是免費的,利用Kubernetes部署並管理容器。這個服務運行在虛擬機上,由你負責配置,管理,固然還有續費。它含有一個集成的持續集成/持續交付(CI/CD)管道。VS Code中也能夠集成AKS。
ACI是一個託管容器的服務。不須要開通虛擬機就能運行你的容器。服務的收費模式基於你的容器運行了多久,以及你使用了什麼計算資源。ACI一般用於彈性地管理來自AKS的瀏覽,運行事件驅動的應用,或數據處理工做。
Azure Functions用於無服務器的形式,你的程序基於HTTP請求,Azure服務事件或預約義好的計劃運行。在Functions中,你的程序經過API與Azure和第三方服務通訊。Functions支持.NET,JavaScript和Java。
自動伸縮可以動態分配資源,僅使用你須要的資源。這能讓運行應用的開銷最小化。要得到最好的性能和成本效益,請將你的應用設計成能夠水平伸縮的。應用一般不須要更強大的處理器,只是須要一種分配負載的方式。
開發應用時,不要將你的代碼與具體的實例綁定。不然會限制可用性與擴展性。若是在某個時刻你須要一個更大的流量值,你能夠建一個計劃任務來自動實現,這個任務在你須要流量增加時啓動更多實例。
因爲使用了獨立的服務,雲原生應用會比傳統應用更加安全。但這並不意味着默認就是安全的。滲透測試很重要。要確保記錄你的應用程序的活動並監控流量。這些數據能夠幫助你識別威脅。
若是你須要排查問題,記住在完成之後將遠程調試關閉。遠程調試可能會被利用來修改你的應用程序代碼。使用HTTPS,HTTPS能夠確保傳輸安全。
微軟有許多資源能夠幫助開發雲原生應用,包括Azure最佳實踐。
微軟爲Azure和微軟的其餘產品提供實踐實驗室,視頻課程和虛擬課程,開發者內容包括建立發佈應用,建立自動化工做流,Python機器學習。能夠經過這個平臺得到微軟認證。
Azure DevOps Labs也是一個選擇,含有許多微課程。DevOps Labs致力於幫你學習如何使用Azure以及如何選擇第三方服務。包含如何在PHP中創建CI/CD管道,以及在VS Code中推送請求等。