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

許此一生發表於2018-12-18

摘要: 近期參加了阿里雲官方的一個開發者工具有獎評測活動,感興趣的朋友可以去官網瞭解下,以下是我對這款工具的使用體驗,歡迎各位朋友進行交流和斧正。 Alibaba Cloud Toolkit(以下簡稱工具集)是阿里中介軟體團隊釋出的一款面向阿里雲服務的開發工具集,用來提升開發者使用阿里雲產品時的使用者體驗。

kira_auf_der_heide_475671_unsplash

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

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

第一步,需要先申請一些ECS並將這些ECS匯入到已經建立的叢集中。
_Alibaba_Cloud_Toolkit_EDAS_1

圖1. 叢集和叢集中的ECS

第二步,建立應用。

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

_Alibaba_Cloud_Toolkit_EDAS_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)。

_Alibaba_Cloud_Toolkit_EDAS_3

圖3. Alibaba Cloud選單及子選單

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

_Alibaba_Cloud_Toolkit_EDAS_4

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

_Alibaba_Cloud_Toolkit_EDAS_5

圖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以及自動化運維等能力成為可能,確實是一個值得企業使用者尤其是開發者使用者去嘗試的優秀工具集。


相關文章