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

简介:

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以及自动化运维等能力成为可能,确实是一个值得企业用户尤其是开发者用户去尝试的优秀工具集。

_EDAS_2

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
缓存 自动驾驶 物联网
C-RAN——无线接入网架构优化 | 带你读《5G时代的承载网》之十八
C-RAN 是根据现网条件和技术进步的趋势,提出的新型无线接入网构架, 是基于集中化处理(Centralized Processing)、协作式无线电(Collaborative Radio)和实时云计算构架(Real-time Cloud Infrastructure)的绿色无线接 入网构架(Clean System)。其本质是通过实现减少基站机房数量,减少能耗, 采用协作化、虚拟化技术,实现资源共享和动态调度,提高频谱效率,以达到 低成本、高带宽和灵活度的运营。
C-RAN——无线接入网架构优化 | 带你读《5G时代的承载网》之十八
|
3月前
|
JSON API 数据格式
使用拼多多开放平台API根据商品ID获取商品详情
本文详解如何调用拼多多开放平台API(pdd.ddk.goods.detail)获取商品详情,涵盖认证授权、签名生成、请求构造与响应解析,并提供完整Python示例代码,助开发者快速集成商品数据能力。(239字)
|
7月前
|
存储 JSON 运维
微服务架构下的日志“捕手”:构建高效的日志收集与分析体系
微服务架构下的日志“捕手”:构建高效的日志收集与分析体系
366 8
|
3月前
|
人工智能 自然语言处理 开发工具
SLS智能问答助手:秒解游戏运营客服难题
面向游戏客服的AI自动化排查系统,基于SLS日志与SOP知识库,实现秒级日志查询、精准根因定位及标准话术生成,覆盖充值、道具、匹配等五大高频场景,显著提升响应效率与服务一致性。 并支持钉钉、飞书、企业微信对接
592 2
|
6月前
|
缓存 API UED
Vue3性能调优实战:5个关键技巧让你的应用飞起来!
Vue3性能调优实战分享,涵盖shallowRef、v-memo、异步组件、markRaw、watchEffect等关键优化技巧。
Vue3性能调优实战:5个关键技巧让你的应用飞起来!
|
12月前
抖音快手批量艾特@脚本插件,可识别性别地区年龄私信关注,按键精灵最新营销
这是一款用于快手平台的自动化营销工具,可实现自动关注与私信功能。通过识别用户性别及年龄,结合设定的最高和最低年龄限制
|
6月前
|
编解码 缓存 API
【剪映小助手】在现有草稿中添加多种类型的素材内容
在现有草稿中添加多种类型的素材内容,包括音频、视频、图片和文字。该接口可以一次性向草稿添加多种媒体素材,自动处理素材的时长、尺寸等属性,并智能管理不同类型的媒体轨道。是视频创作的核心接口之一。
|
12月前
|
机器学习/深度学习 人工智能 算法
ai赋能科技
本内容探讨了AI技术在教育领域的深度应用,涵盖教学设计、课堂互动、科研赋能、教学管理和伦理实践五大方面。从智能备课到动态学情分析,从跨学科创新到自动化评估,展示了AI如何优化教育全流程。同时强调数据安全与算法公平性,确保技术发展不偏离教育本质。最后指出,在AGI时代,学习AI大模型不仅是为了适应技术浪潮,更是为了填补400万人才缺口,成为高薪“AI+”岗位的抢手人才。教育的目标已转变为培养驾驭AI的思考者,而不仅仅局限于竞争者角色。
293 1
|
算法 Java 数据库
Android 应用的主线程在什么情况下会被阻塞?
【10月更文挑战第20天】为了避免主线程阻塞,我们需要合理地设计和优化应用的代码。将耗时操作移到后台线程执行,使用异步任务、线程池等技术来提高应用的并发处理能力。同时,要注意避免出现死循环、不合理的锁使用等问题。通过这些措施,可以确保主线程能够高效地运行,提供流畅的用户体验。
1084 156
|
机器学习/深度学习 人工智能 算法
未来已来:探索量子计算在Web开发中的应用
在这篇文章中,我们将穿越技术的迷雾,一窥未来。量子计算,这一曾经只存在于理论中的技术,正逐渐走近现实,它的革命性潜力正在被探索其在Web开发中的潜在应用。本文将带你了解量子计算的基本概念,以及它可能如何重塑我们构建和交互Web应用的方式。准备好,让我们的想象力随着量子比特一起跳跃。