一、测试产品背景:
EDAS 是一个围绕应用和微服务的PaaS平台,提供多样的应用发布和轻量级微服务解决方案,帮助用户解决在应用和服务管理过程中监控、诊断和高可用运维问题;提供Spring Cloud和Dubbo的运行环境。
根据阿里云官方文档的信息,EDAS是一个面向企业提供分布式应用服务的中间件产品,支持的框架环境为SPRING CLOUD和DUBBO,去除不同版本所提供的增值服务的差异,整个产品提供的核心服务包括以下几个方面:
1、 微服务:可以采用SPRING CLOUD或DUBBO开发应用,EDAS提供分布式配置推送和分布式任务调度服务。
2、 对系统和服务的状况提供的实时监控服务。
3、 应用的生命周期管理。
4、 实时日志。
5、 基于阿里云计算的弹性伸缩服务。
6、 持续集成。
7、 离线配置服务,可以在本地完成应用的开发。
二、测试目标:
1、EDAS Serverless版评测
2、支持原生 Dubbo 和Spring Cloud的支持情况评测
三、测试过程:
在管理控制台中开通EDAS服务来到此界面,EDAS服务目前有两种购买模式,包年包月或者按量付费,包年包月的方式下提供了专业版和铂金版两个选择,根据文档的表格,扩展服务略有不同,主要计费的依据是应用的实例个数和购买的时长。按量计费为后付费的方式,根据实际使用的实例数量进行收费。本次测试采用的是按量付费的模式。
进入管理控制台后,首先需要注意的是提醒事项,从EDAS访问ECS等资源前需要进行RAM授权之后才能正常使用。
从左侧菜单的概览可以看到,接入EDAS需要完成4个大步骤:
1、 申请资源:包括ECS、SLB、VPC等,并在EDAS平台上管理。
2、 创建应用管理系统。
3、 应用的生命周期管理。
4、 监控报警设置。
对于EDAS测试所需要的资源如ECS等进行配置,已经有的ECS实例可以经过RAM授权后接入EDAS管理,本次测试单独创建了两台ECS服务器。
经过RAM授权后,将刚刚创建的两台在VPC专有网络中的ECS服务器组成一个集群接入EDAS平台并将此集群命名为test_001,然后将这两台ECS导入进来。
可以看到将ECS导入EDAS后,会对服务器的实例进行系统初始化,原先ECS中的数据被清除后安装EDAS官方的镜像,所以如果需要将ECS接入EDAS,需要先对ECS的数据进行备份。
转化即是完成一些检查后对导入的ECS服务器使用EDAS官方镜像进行系统初始化,需要一些时间。汇总下截止目前所做的一些工作:在华东2上海区创建了两台按量付费的ECS服务器,这两台ECS服务器都是在专有网络VPC下运行,将这个VPC以集群方式接入EDAS平台并将其中的两台ECS服务器导入平台进行初始化系统。
在ECS成功导入后可以在资源管理—ECS的界面看到两台导入的ECS服务器,AGENT状态为在线代表这两台ECS已经安装了EDAS AGENT。
在应用管理中对于ECS的集群即之前创建的test_001集群中的ECS进行应用的创建和配置。
选择在两台ECS服务器上进行应用的配置,JAVA环境这里采用JAR 8,可以将需要部署的应用以JAR包的形式上传,批次的选择为1批。界面下方为安全组的信息,其中10开头的IP地址为SLB健康检查所用。创建应用后,就可以按照应用的配置将JAR包中预先开发完成的应用部署到选定的ECS服务器上。
配置列表中,用户可以自行新建配置,配置信息会以列表显示一个配置变更在哪些应用上,哪些ECS上,在什么时间点生效,产生了哪些影响等并且这些信息在配置生效后可以在推送轨迹菜单中的界面中看到和查询。
服务管理管理的是EDAS中发布的微服务, 目前微服务发布的框架支持SPRING CLOUD和DUBBO,其他还支持HSF框架和SERVICE MESH方式。
批量运维是EDAS新增的功能,可以按照集群、应用和单机的方式针对ECS集群、部署的应用和单个ECS实例以命令方式进行运维,并且执行过程中会记录执行的日志信息。
image
其他EDAS提供的服务包括数据化的运营服务,可以查询应用的调用信息并提供了数据化服务的组件。账号管理功能提供的是账号以及角色的不同权限,在多人开发操作的模式下可以对参与人的不同工作内容设置不同的权限,授权的方式可以是按照用户的即ACL授权也可以是按角色的即POLICY授权方式。所以EDAS的操作和执行都保留了操作日志信息。
购买之前大家可点击领取优惠卷哦
四、EDAS SERVERLESS版测试:
目前EDAS的SERVERLESS版只支持华北2北京地域,从创建界面看和普通版有很大的不同,需要特别注意的地方是SERVERLESS不支持经典网络,只支持VPC,并且仅支持无状态应用,相比普通版本,整个服务更偏向于快速的集群化部署应用。
在华北2北京地域下创建一个专有网络用来测试SERVERLESS,取名为SERVERLESS_TEST,在创建应用界面接入此VPC网络。选择的应用实例数为2个,实例规格1核1G。
应用的部署方式有几种,除了普通版有的WAR包部署方式和JAR包部署方式外,多了镜像的部署方式,配置的镜像要求用户自己上传。SERVERLESS的镜像上传方式需要用到DOCKER服务,以便将本地的镜像上传到镜像仓库中供应用使用。
测试总结:
本次通过创建专有网络VPC和ECS的方式对EDAS产品进行了测试,EDAS通过集群化接入和管理为用户部署应用及应用的管理提供了极大的方便,支持多种框架的微服务开发部署并提供应用的生命周期管理和日志记录信息,在权限管理上非常严格,接入ECS需要进行RAM授权设置,在平台的授权方面支持用户和角色两种不同的方式,安全性非常高,能尽可能的做到不同工种的隔离。
在改进建议上,希望能在接入界面上将集群的导入和单机的导入并排设置,这样能方便用户在两个模式下切换。此外EDAS系统默认的区域是华东1杭州,但是很可能用户在杭州地域并没有实例,建议根据用户账号下实例最多的地域作为EDAS创建后的默认地域,这样用户不用在进行导入的时候再去选择,因为在控制台界面的布置上,地域的信息是比较容易忽略的一小块地方,对于企业级分布式应用来说,既然是能够跨地域的一个服务,并且往往会选择导入大规模的批量服务器或者以这些服务器编为集群,默认地域为服务器最多的地域有实际意义。
对于SERVERLESS版的测试,先比较下和普通版的区别,就是除了JAR包资源和WAR包资源部署应用的基础上多了镜像的部署方式,镜像部署主要用到的技术就是容器服务,普通版的操作针对的是用户和应用的设置,而容器化服务的操作针对的是承载应用的容器如指令配置和容器配置等。对比下腾讯云的腾讯微服务平台TSF,从普通版上来说,都支持SPRING CLOUD开发框架。对于SERVERLESS这个产品版本来说,腾讯云的TSF平台整合了虚拟机的部署方式和容器部署方式,对阿里云的建议就是,目前SERVERLESS版本只支持华北2北京地域,所以需要选择相关地域才能使用此版本的EDAS服务,可以参考腾讯的方式,将此版本集成到EDAS普通版中,作为一个容器作为底层资源的选项,如果用户当时选择的地域没有SERVERLESS版本,可以标灰不让选择,但有利于用户了解阿里云已经有了相关服务并提醒在特定的地域可以提供。