阿里雲開發者工具上手體驗

阿里雲開發者工具上手體驗

近期參加了阿里雲官方的一個開發者工具有獎評測活動,感興趣的朋友可以去官網(點擊擴展鏈接)瞭解下,以下是我對這款工具的使用體驗,歡迎各位朋友進行交流和斧正。

Alibaba Cloud Toolkit(以下簡稱工具集)是阿里中間件團隊發佈的一款面向阿里雲服務的開發工具集,用來提升開發者使用阿里雲產品時的用戶體驗。本文將對使用該工具集部署EDAS應用的各種能力進行一番評測。Alibaba Cloud Toolkit主要包含三種類型的工具,分別是IDE插件(目前僅支持Eclipse,IDEA插件據說正在開發中,很快會發布)、Maven插件和命令行工具。在對這三種類型的工具進行詳細評測之前,我們先來了解一下使用Web界面部署普通EDAS應用的過程。

第一步,需要先申請一些ECS並將這些ECS導入到已經創建的集群中(圖1)。

阿里雲開發者工具上手體驗

圖1. 集群和集群中的ECS

第二步,創建應用。

在創建應用的時候選擇使用該集群,並選擇集群中的ECS作為部署目標。同時打開“立即部署”選項,再選擇應用部署方式、應用運行環境和Java環境等,然後上傳部署包,在確定了版本以及批次和分批方式後,就可以創建並部署應用了(圖2)

阿里雲開發者工具上手體驗

圖2. 創建並部署應用

這個過程看似簡單,卻有如下一些問題。首先,界面是基於Web的,雖然簡單易用,但是自動化能力不強,需要人為干預才能工作,效率不高;其次,用戶需要自己打包和上傳部署文件,導致開發和部署過程割裂。有了上面一些對EDAS傳統部署過程的瞭解,我們再分別使用工具集中的不同工具來嘗試重新部署應用,看看會有什麼不同。

1. IDE插件

通常而言,開發人員都會使用IDE來提升軟件的開發效率,因此Alibaba Cloud Toolkit提供基於主流IDE的擴展插件就是順其自然的事情,拿Eclipse為例,在Eclipse市場中就能搜索到Alibaba Cloud Toolkit,該插不僅支持EDAS,也有很多其他的功能,但這裡我們主要關注面向EDAS的集成能力。

安裝好插件以後,導入一個項目(可以是原生Dubbo,原生Spring Cloud或HSF項目),然後在Project Explore窗口右鍵點擊該項目,會出現Alibaba Cloud上下文菜單,選擇該菜單項後會出現Deploy to EDAS…子菜單項(圖3)。

阿里雲開發者工具上手體驗

圖3. Alibaba Cloud菜單及子菜單

如果是第一次使用該插件,會彈出一個設置窗口(圖4)用來設置訪問賬戶所需的Access Key ID和Access Key Secret,設置完成以後就會出現Deploy to EDAS窗口(圖5)。

阿里雲開發者工具上手體驗

圖4. 設置訪問賬戶的Access Key ID和Access Key Secret

阿里雲開發者工具上手體驗

圖5. 部署應用

該窗口的主要功能一目瞭然,選擇Region、Namespace、Application和Group後,點擊Deploy即開始部署。

該插件的優勢正如前文所言,解決了開發到部署過程上下文切換的問題,可以在一個場景下完成這兩種工作。而劣勢(或者說功能的不足)是其能力還不能完全與傳統的基於Web部署過程對齊:比如無法選擇批次、分配方式,以及在第一次部署的時候無法選擇容器和Java版本等等,希望未來的版本能夠加以改進。

2. Maven插件

使用Java的開發人員多數會使用Apache Maven來管理依賴、編譯、測試、打包和發佈等過程,因此Alibaba Cloud Toolkit也提供了與Maven的集成能力,即edas-maven-plugin。有關配置和使用方法,在官網的《通過 edas-maven-plugin 插件自動化部署應用》文檔中已經有詳細說明,就不在此贅述。

比起IDE插件來說,Maven插件能夠更有效的解決自動化問題,尤其是跟持續集成與持續交付系統對接的時候更為有用。在一個配置完善的自動化系統中,開發人員將開發完成的代碼提交到代碼倉庫,此時可以自動觸發應用的構建、單元測試與打包,打包好的交付物會通過edas-maven-plugin部署到測試環境,運行一遍冒煙測試之後,再被部署到預發環境供測試人員測試。

整個過程可以做到完全無人值守。

該Maven插件也同樣存在很多不盡如人意的地方,比如配置項中需要使用應用或分組的ID來指定部署目標,雖然在Web界面上提供有相關的配置可以複製粘貼,但是依然不如直接使用名稱來得方便。另外在執行mvn edas:deploy命令的時候必須要在package階段之後(即命令必須為mvn package edas:deploy),否則無法找到要部署的包。最後同IDE插件遇到的問題相同,如果只有一個空應用,而沒有指定過該應用的容器和Java版本的話,那麼使用Maven插件部署的時候可能會出現問題。希望這些不足能夠在未來的版本中得到解決。

3. 命令行工具

命令行工具在整個Alibaba Cloud Toolkit裡面是功能最強大的,當然也是使用門檻最高的,我們來分別瞭解一下。

說其功能強大,是因為命令行工具是對EDAS Open API的封裝,因此只要是接口中提供的功能,都可以使用命令行工具來調用。這個功能並不算新穎,以前在沒有提供命令行工具的時候,一些用戶也會通過使用Python腳本調用Open API的方式來達到相同的目的,只是官方提供了這個能力之後,對於大部分的開發者而言減少了這部分的工作量。再者,該命令行工具是與aliyun這個命令集成到一起的,因此如果企業對自動化運維有很高要求的話,使用aliyun edas這個子命令可以避免絕大多數的手動操作,包括但不限於創建命名空間、創建集群、集群導入、創建應用以及部署應用、創建分組、應用生命週期管理等等。增強自動化且提高運維效率的同時,更多的可以避免因人為操作失誤而導致的安全生產風險,間接提高了產品質量。有關命令行工具的具體配置和使用方法請參考文檔《使用CLI快速部署EDAS應用》。

說其使用門檻高,主要在於單一命令只能完成一個原子操作,且操作過程大多是異步的,這就要求實現複雜功能的時候需要編寫腳本來完成執行結果的輪詢與命令串聯。雖然這些工作對於開發人員來說算不上什麼問題,但是總之是有可改進空間的。

以上便是Alibaba Cloud Toolkit提供的針對EDAS產品的全部功能的試用體驗以及對其優點和現有不足的分析,鑑於筆者水平有限,提出的問題點並不一定完全準確。總而言之,該工具集的出現確實在很大程度上提升了開發人員的工作效率,也讓各種CI/CD以及自動化運維等能力成為可能,確實是一個值得企業用戶尤其是開發者用戶去嘗試的優秀工具集。


分享到:


相關文章: