阿里云开发者工具上手体验

33次阅读

共计 2647 个字符,预计需要花费 7 分钟才能阅读完成。

近期参加了阿里云官方的一个开发者工具有奖评测活动,感兴趣的朋友可以去官网了解下,以下是我对这款工具的使用体验,欢迎各位朋友进行交流和斧正。
Alibaba Cloud Toolkit(以下简称工具集)是阿里中间件团队发布的一款面向阿里云服务的开发工具集,用来提升开发者使用阿里云产品时的用户体验。本文将对使用该工具集部署 EDAS 应用的各种能力进行一番评测。Alibaba Cloud Toolkit 主要包含三种类型的工具,分别是 IDE 插件(目前仅支持 Eclipse,IDEA 插件据说正在开发中,很快会发布)、Maven 插件和命令行工具。在对这三种类型的工具进行详细评测之前,我们先来了解一下使用 Web 界面部署普通 EDAS 应用的过程。
第一步,需要先申请一些 ECS 并将这些 ECS 导入到已经创建的集群中。
图 1. 集群和集群中的 ECS
第二步,创建应用。
在创建应用的时候选择使用该集群,并选择集群中的 ECS 作为部署目标。同时打开“立即部署”选项,再选择应用部署方式、应用运行环境和 Java 环境等,然后上传部署包,在确定了版本以及批次和分批方式后,就可以创建并部署应用了(图 2)。

图 2. 创建并部署应用
这个过程看似简单,却有如下一些问题。首先,界面是基于 Web 的,虽然简单易用,但是自动化能力不强,需要人为干预才能工作,效率不高;其次,用户需要自己打包和上传部署文件,导致开发和部署过程割裂。有了上面一些对 EDAS 传统部署过程的了解,我们再分别使用工具集中的不同工具来尝试重新部署应用,看看会有什么不同。
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 版本等等,希望未来的版本能够加以改进。
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 插件部署的时候可能会出现问题。希望这些不足能够在未来的版本中得到解决。
命令行工具
命令行工具在整个 Alibaba Cloud Toolkit 里面是功能最强大的,当然也是使用门槛最高的,我们来分别了解一下。
说其功能强大,是因为命令行工具是对 EDAS Open API 的封装,因此只要是接口中提供的功能,都可以使用命令行工具来调用。这个功能并不算新颖,以前在没有提供命令行工具的时候,一些用户也会通过使用 Python 脚本调用 Open API 的方式来达到相同的目的,只是官方提供了这个能力之后,对于大部分的开发者而言减少了这部分的工作量。再者,该命令行工具是与 aliyun 这个命令集成到一起的,因此如果企业对自动化运维有很高要求的话,使用 aliyun edas 这个子命令可以避免绝大多数的手动操作,包括但不限于创建命名空间、创建集群、集群导入、创建应用以及部署应用、创建分组、应用生命周期管理等等。增强自动化且提高运维效率的同时,更多的可以避免因人为操作失误而导致的安全生产风险,间接提高了产品质量。有关命令行工具的具体配置和使用方法请参考文档《使用 CLI 快速部署 EDAS 应用》。
说其使用门槛高,主要在于单一命令只能完成一个原子操作,且操作过程大多是异步的,这就要求实现复杂功能的时候需要编写脚本来完成执行结果的轮询与命令串联。虽然这些工作对于开发人员来说算不上什么问题,但是总之是有可改进空间的。
以上便是 Alibaba Cloud Toolkit 提供的针对 EDAS 产品的全部功能的试用体验以及对其优点和现有不足的分析,鉴于笔者水平有限,提出的问题点并不一定完全准确。总而言之,该工具集的出现确实在很大程度上提升了开发人员的工作效率,也让各种 CI/CD 以及自动化运维等能力成为可能,确实是一个值得企业用户尤其是开发者用户去尝试的优秀工具集。

正文完
 0