選擇雲計算開發工具的5個最佳實踐程序員
現在,不少企業正在推進雲計算應用程序開發,以跟上最新的IT發展趨勢。人們須要瞭解如何爲應用程序和員工選擇合適的雲平臺和開發工具。瀏覽器
公共雲吸引了衆多的開發人員,他們能夠方便地使用各類工具,但現在工具數量之多可能會讓人無從選擇。安全
AWS、Microsoft Azure和其餘主要雲計算提供商都推出了一些雲計算開發工具,這其中包括遷移到雲計算集成開發人員環境(IDE)、DevOps工具和一系列其餘更高級別的服務,旨在簡化或擴展雲計算應用程序開發的功能。服務器
人們須要瞭解如下關於開發人員應如何選擇雲平臺的專家建議,以及如何在特定雲平臺上的重疊服務之間進行選擇的示例。網絡
1.如何選擇雲平臺 企業選擇適合其開發需求的雲計算提供商可能很困難。大多數公共雲的工具列表都很是類似——但並非全部的產品都是相同的。企業應該根據如下因素尋找解決這些核心領域的工具:機器學習
性能編輯器
靈活多樣的配置工具
語言支持性能
集成管道學習
免於鎖定
可預測的成本
並非每一個工具均可以徹底知足這些條件,所以須要在企業的決策中權衡這些因素。例如,供應商鎖定是雲原生開發人員選用工具廣泛關心的問題,可是在某些狀況下,這樣作值得承擔風險。企業能夠將這些注意事項應用於幾乎全部雲層。
假設須要無服務器。與競爭對手相比,AWS Lambda支持更少的語言,但在某些狀況下它還提供更好的性能。Azure Functions具備直接的訂價,但缺乏Lambda中的某些功能。能夠參閱DevOps分析師Chris Tozzi的其他文章,瞭解能夠應用這些標準的其餘領域,包括容器、機器學習和集成開發人員環境(IDE)。
2.選擇合適的雲計算集成開發人員環境(IDE) 說到集成開發人員環境(IDE),這些雲計算開發工具之因此受歡迎的緣由是由於它們經過將全部內容都集中在一個地方來簡化部署過程。
可是,選擇集成開發人員環境(IDE)並非要選擇雲平臺。所以,它歸結爲本地託管服務(如AWS Cloud9)或自託管工具(如Eclipse Che或Orion)。使用第三方選件,開發人員將須要在本地或雲計算虛擬機上進行設置和安裝。
幾乎全部具備鏈接的Web瀏覽器的設備或工做站均可以使用雲計算集成開發人員環境(IDE)。它們還能夠更快地構建和調試。可是,它們的自定義性較差,而且容易受到網絡問題引發的訪問和性能的影響。人們能夠比較市場上一些最受歡迎的雲計算集成開發人員環境(IDE)選項,並檢查其優缺點。
3.Azure雲平臺用於雲應用程序開發的界面選擇 在選擇雲平臺以後,企業還須要針對雲計算開發人員工具作出許多其餘決策。可是,這些選擇並不老是與本地雲計算工具或第三方工具備關。一般是在一系列重疊的本機服務之間進行選擇。
例如,Azure雲平臺上的開發人員須要決定如何經過界面來訪問和管理其雲環境。有基於Web的選項,例如Azure門戶(是一個GUI儀表板)或Azure Cloud Shell(是一個用於更高級用戶的基於瀏覽器的命令行界面)。這些選項消除了對使用哪些操做系統或硬件資源的顧慮——開發人員所須要的只是可靠的全球互聯網鏈接。
對於但願與現有微軟公司生態系統保持更緊密聯繫的開發人員,還有多種選擇,可在本身的終端中直接訪問。Azure PowerShell具備一組cmdlet,用於經過Azure資源管理器管理資源。還有Visual Studio做爲與Azure集成的集成開發人員環境(IDE),以及Visual Studio Code,這是一個更專一於可用性和速度的開源代碼編輯器。
人們須要瞭解有關Azure和其餘這些代碼編輯器選項的更多詳細信息。
4.選擇AWS雲平臺上的部署模型 選擇雲計算開發工具一般取決於企業對平臺的承諾程度。那麼是使用喜歡的第三方工具,仍是使用雲端原生工具選擇簡單快捷的選擇,仍是提供更大靈活性的更復雜的選擇
行業專家Alastair Cooke分析瞭如何在AWS CloudFormation、OpsWorks和Elastic Beanstalk之間進行選擇以進行雲計算應用開發的難題。並指出,每種工具都有其優點:
CloudFormation提供了聲明性模板來部署簡單的應用程序。
OpsWorks提供更多控制權,並與Chef和Puppet集成。
Elastic Beanstalk適用於具備有限依賴性的Web應用程序。
有時僅採用一種工具是不夠的。Cooke表示,能夠一塊兒採用這三種服務解決開發人員問題。
5.肯定無代碼/低代碼平臺是否更適合 有時候,企業在選擇特定工具以前必須決定所需的開發人員類型。雲計算已經向更普遍的用戶開放了開發權限。
Zack Flower公司深刻研究了這些新手程序員的優缺點以及無代碼/低代碼平臺的出現。這些工具使用戶可以拖放應用程序組件,而幾乎不須要編碼,從而能夠節省企業資金,並減輕IT部門壓力。可是,這種趨勢也引發了人們對安全性以及非IT用戶是否具備足夠的瞭解來構建和維護有價值的應用程序的擔心。
在其餘領域,企業須要首先考慮其員工的能力,而後再考慮採用工具。例如,若是企業想利用基於雲計算的人工智能服務,那麼是否擁有能夠最大限度利用Amazon SageMaker等服務優點的數據科學家或者是否更好地使用了一種基於API的機器學習工具,該工具能夠疊加到現有應用程序上並易於被大多數開發人員使用嗎