微服务和 Serverless 架构-EDAS 基本操作讲解与 EDAS 优势总结

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
云原生网关 MSE Higress,422元/月
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 微服务和 Serverless 架构-EDAS 基本操作讲解与 EDAS 优势总结

开发者学习笔记【阿里云云原生助理工程师认证(ACA)课程:微服务和 Serverless 架构-EDAS 基本操作讲解与 EDAS 优势总结】

课程地址:https://edu.aliyun.com/course/3112075/lesson/19028


微服务和 Serverless 架构-EDAS 基本操作讲解与 EDAS 优势总结


内容介绍:

一.EDAS控制台界面

二.资源管理

三.应用部署

四.应用管理

五.应用监控

六.日志诊断

七.EDAS优势总结

 

一.EDAS 控制台界面

对EDAS基本操作的介绍,将从资源管理、应用部署、应用管理、应用监控、日志诊断这5个功能入手。

image.png

当进入 EDAS 控制台时,可以看到EDAS概览页,右上侧为EDAS产品类型,包括标准版、企业版、铂金版,和到期时间以及最大实例数,现在最大实例数已经达到21亿,同时标准版的 EDAS 在五个实例以内免费使用。中间会列出EDAS 内部管理的 ECS集群和K8S 集群的数量及现有的应用数量和服务数量。
左侧栏分别是资源管理、应用管理、微服务管理、组建中心和系统管理,EDAS的控制台还是比较简洁的。

 

二.资源管理

EDAS 共有两种部署方式,:一种是直接部署在 ECS 集群上,适合特定类型的应用;还有一种方式是部署在 K8S 集群上,适合容器技术打包的应用。针对两种不同的部署方式,需要准备相应的资源。若为 ECS 方式部署,首先要在ECS 控制台购买ECS 服务器。注意:EDAS服务器和ECS一定要在同一地域。购买完ECS后,需要在EDAS中先创建ECS集群,在创建集群时只需配置VPC,也就是所在的虚拟网络即可。
image.png

在集群创建后就可以向集群内添加ECS服务器。当ECS服务器添加到集群时,控制台会自动在ECS服务器上安装EDAS AGENT,然后大约等待十几20秒左右就可以创建成功。

若要通过K8S方式部署,首先需要准备K8S集群。K8S集群可部署在ECS上,也可使用阿里云的公共K8S集群。创建K8S集群的速度较慢,大约需要十分钟左右。

K8S的导入相对于ECS更加简单,导入后也会自动安装Agent。如果需要创建混合云部署环境,则在创建集群时选择非阿里云环境即可使用。非阿里云环境部署的前提是自建IDC或私有云,高速通道接入阿里云并实现VPC网络配置,保证阿里云外的服务器和EDAS所在地域间的互联互通。
image.png

配置好集群后,用户也可再次手动修改VPC配置,保证ECS之间的互联互通。同时,对因为特殊情况无法自动安装EDAS Agent的服务器,也可通过脚本进行手动安装。在ECS或K8S集群配置完毕后,进行下一步的应用部署。

 

三.应用部署

应用部署的第一步就是上传应用到EDAS,上传应用可以通过控制界面进行,也可通过其他集成工具进行。
image.png

EDAS支持的上传方式包括使用eclipse插件工具集以及使用Jenkins和云效两个CICD平台。注意:ECS集群只支持Java原生应用和EDAS container等,也就是三种以Java语言开发的应用形式,即HSF应用。而K8S集群除了支持这三种形式外,还支持PHP应用和容器方式打包的应用。注意在上传应用时,如果对程序运行环境如JDK版本、潘多拉版本、PHP运行环境等有特殊要求,需要在此步骤同时进行配置。

 

四.应用管理

应用创建成功后,开发者可对应用内部的相关设置参数进行配置。

1. 创建应用名字空间。创建命名空间主要是为了区分应用部署环境,如开发环境、测试环境、生产环境等,同一地域下,不同命名空间内的应用不能互相访问和推送配置,保证不同业务流程下线上应用实力的有效隔离。
image.png

2.配置JVM参数,默认JVM选项的内存和GC属性可能不见得符合每个应用的使用场景和硬件配置,因此可以针对应用特性指定内存大小、GC属性,如持久代大小等参数,进行个性化配置,便于Java应用能够更加深入的发挥所在运行环境的计算资源。

3.设置Tomcat属性,Tomcat属性中比较重要的是Tomcat端口,如果端口配置错误,则后续的服务调用就会出现问题。其次是Tomcat的路径和连接数以及运行环境等参数。

4.负载均衡配置,与微服务内部的服务发现和服务调用不同,对于置于访问链顶端,负责对外发布的整个微服务集群能力的应用,并没有微服务框架为其提供相应的负载均衡和转发能力,因此必须配置单独的SLB负载均衡作为对外访问接口。负载均衡分为内网和外网两种,内网负载均衡主要为内部服务提供统一的访问接口,使用时不收费。而外部负载均衡可为外界暴露微服务体系的对外接口。
由于涉及到公网IP和公网流量,因此外网负载均衡需要用户支付相应的网络费用。

应用管理中的另一个非常重要的功能就是弹性伸缩。弹性伸缩的配置界面,扩容规则有三种指标可以选择。
image.png

第一指标是RT,是指一次请求从开始到结束的时间,单位为毫秒。

第二个指标是Load,是指Linux系统中系统的平均负载率,负载率越高,表示系统内正在排队的进程数量越多,系统负载越大,进程的响应越慢。

第三个参数是CPU占用率,指CPU使用量的百分比。若CPU使用量达到顶峰,则整个系统会处于不稳定运行状态。

弹性伸缩可以根据这三个指标中任意一个或几个指标作为衡量标准。当触发指标在用户设定的持续时间内持续超标时,则触发弹性扩容。开发者可以设定扩容计算资源的创建方式,例如是否使用现已存在的资源或新创建计算资源,是使用现有实例规格创建计算资源,或是使用模板创建计算资源,以及计算资源的登录密钥等相关属性。开发者也可以配置弹性缩容的规则和相关处罚标准,配置方法和弹性扩容基本相似。
需要说明的是,如果新建计算资源进行弹性扩容,对于新购买的服务资源会被设置为弹性计算属性,这些计算资源在不使用时,系统将创建的弹性计算资源自动释放,避免长期占用资源导致过多计费。如果是对已有资源进行创建,则不会释放。新版的EDAS已经将限流降级界面配置全部移动到新产品里,不再由EDAS控制台进行设置。

 

五.应用监控

在应用监控部分,EDAS可在控制台对应用的整体运行情况进行总览,例如总请求数、平均响应时间、实时实例数、负GC次数、慢Sql等汇总指标。
image.png

汇总指标的时间维度可以从五分钟到最近三个月之间,有15个时间跨度可以选择。接下来以时间曲线的方式显示应用提供服务、应用依赖服务、服务平均响应时间、HTTP状态等数据。最下方还包含系统信息汇总统计,包括CPU占用率、内存使用及负载等指标。对于应用异常运行状态的报警也是EDAS中非常实用的功能。用户可以通过JVM属性、异常接口调用、应用调用类型统计、主机监控、应用调用统计、数据库指标这六大类中共几十个小类的属性进行实时监控,当这些属性中的一个或几个超过所设定的阈值范围时,即可报警,通知开发者迅速进行人工干预,避免服务出现不可用的情况。报警的通知方式有短信、邮件、钉钉、机器人、Web hook 4种方式进行配置。

image.png


六.日志诊断

在应用运维过程中可能会遇到各种各样的问题,开发者可通过日志对问题进行定位和诊断。
image.png应用部署后,只要在日志目录页面中添加应用日志所在目录,EDAS便可以将所有实例目录中的日志收集到EDAS日志管理中,并且提供了可方便在线查看日志的功能。除了在线查看日志外EDAS也提供可将日志下载到本地的功能,便于开发者查看。或是将日志文件作为应用分析的诊断素材使用。
同时,EDAS还提供了通过CLI下载日志的功能,开发者无需登录具体实例,通过命令行接口就下载日志文件。另外,系统管理目录中提供了EDAS操作日志的查看,EDAS对操作日志进行了分类,开发者可以选择不同操作类型以及具体操作查看操作日志详情。

 

七.EDAS 优势总结

image.png

EDAS的优势

1.EDAS是一站式开箱即用的商用产品,开发者不需要消耗精力用开源组件搭建自己的微服务治理框架。同时pass平台的特点使EDAS产品具有随用随开、按时长付费的优势,避免了传统商用产品的一次性过大投入。

2.EDAS支持K8S和ECS种方式构建集群,无论是PHP代码或多语言自定义的镜像均可以上传和发布

3.全面拥抱开源,完美支持Spring cloud和double近五年内的版本,同时无缝集成了ASM托管版服务网格。

4.应用监控报警统一事件中心,EDAS提供了无侵入的强大应用及监控能力,可以灵活配置应用的多诊断指标报警,而事件中心提供了应用资源测、云资源测及相关操作审批的全维度事件查看阅读拓普,实现了问题的快速定位与排查,

5.提供官方工具,同时打通了云2020集成了Marvin, eclipsec 等云效平台,支持多个EDAS账号应用,可灰度或分批部署到集群中。

6.企业级特性,提供了企业级的名字空间隔离,配合子账号力度权限控制与阿里云资源组管理,实现了使用不同项目的资源隔离和权限管理分开。

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
3天前
|
运维 监控 API
后端开发中的微服务架构:优势与挑战
【8月更文挑战第16天】在软件开发的世界中,微服务架构已经成为一种流行和强大的设计模式。它通过将应用程序分解为一组小型、独立的服务来促进敏捷开发和快速迭代。本文旨在深入探讨微服务架构的核心优势以及实施过程中可能遇到的挑战,帮助读者更好地理解这一现代软件设计方法。
|
3天前
|
弹性计算 监控 数据挖掘
事件驱动架构的优势与应用:深度解析与实战应用
【8月更文挑战第17天】事件驱动架构以其松耦合、可扩展性、异步处理、实时性和高可靠性等优势,在实时数据处理、复杂业务流程、弹性伸缩和实时通信等多个领域展现出巨大的应用潜力。通过合理应用事件驱动架构,可以构建灵活、可扩展和可维护的系统架构,满足不断变化的业务需求和技术挑战。对于开发者而言,深入理解事件驱动架构的核心概念和优势,将有助于更好地设计和实现高质量的软件系统。
|
7天前
|
人工智能 运维 关系型数据库
深入理解微服务架构的优势与挑战
【8月更文挑战第13天】微服务架构为现代软件开发带来了革命性的变化,它使得应用程序更加灵活、可扩展和可维护。然而,微服务并非银弹,它也带来了一系列挑战和问题。为了充分发挥微服务的潜力并解决这些挑战,开发者需要深入理解微服务的原理和最佳实践,并结合实际业务场景进行有针对性的设计和实施。同时,随着云计算、容器化、人工智能等技术的不断发展,微服务架构将进一步完善和优化,为现代软件开发提供更加强大的支持。
|
11天前
|
监控 负载均衡 微服务
理解微服务架构的优势与挑战
【8月更文挑战第9天】微服务架构以其弹性和可伸缩性、独立部署和更新、技术多样性、可维护性和可扩展性、高可用性和容错性等优势,在现代软件开发中发挥着越来越重要的作用。然而,它也带来了系统复杂性、分布式系统的挑战、数据一致性和事务管理、服务发现和治理以及监控和调试等挑战。为了充分发挥微服务架构的优势并有效应对挑战,需要结合合适的架构设计、技术选型和团队协作来确保系统的稳定运行和持续发展。
|
14天前
|
Cloud Native Serverless 云计算
云原生时代的技术演进:从微服务到Serverless
在数字化转型的浪潮中,云原生技术正成为推动企业IT架构现代化的重要力量。本文将探讨云原生技术的关键组成部分—微服务与Serverless架构—如何助力企业实现敏捷开发和高效运维。通过深入分析这两种架构模式的优势与挑战,我们旨在为读者揭示云原生环境下的最佳实践和未来发展趋势。
|
20天前
|
运维 Serverless Nacos
Serverless 应用引擎使用问题之怎么查看是否已开通微服务引擎MSE
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
26天前
|
弹性计算 应用服务中间件 Serverless
云上应用管理问题之EDAS 对于Container + Serverless Container的场景该如何解决
云上应用管理问题之EDAS 对于Container + Serverless Container的场景该如何解决
|
3天前
|
运维 监控 数据库
后端开发中的微服务架构:优势与挑战
【8月更文挑战第17天】在软件开发领域,微服务架构已成为构建复杂系统的重要方法。它通过将应用程序拆分成小型、独立的服务,提高了系统的可维护性、可扩展性和灵活性。然而,这种架构风格也带来了新的挑战,如服务间的通信、数据一致性和运维复杂性等。本文将深入探讨微服务架构的优势和面临的主要问题,并分析如何在实际应用中平衡这些利弊。
|
12天前
|
敏捷开发 运维 监控
后端开发中的微服务架构:优势与挑战
【8月更文挑战第8天】 微服务架构在现代后端开发中扮演着越来越重要的角色,它通过将复杂的应用程序分解成一组小的、独立的服务来促进敏捷开发和持续交付。然而,这种架构风格并非没有挑战,包括服务的通信、数据一致性、测试和维护等问题。本文将深入探讨微服务架构的核心优势以及实施过程中可能遇到的挑战,旨在为后端开发者提供一个全面的视角,帮助他们更好地理解和应用微服务架构。
|
1月前
|
设计模式 弹性计算 监控
后端开发中的微服务架构:优势、挑战与实施策略
在现代软件开发中,微服务架构已成为一种流行的设计模式,特别是在后端开发领域。该架构风格通过将应用程序分解为一组小型、松耦合的服务,旨在提升可维护性、可扩展性和敏捷性。本文深入探讨了微服务架构的关键优势,面临的主要挑战,以及成功实施微服务的策略。通过引用业界案例和最新研究,文章提供了对微服务架构综合理解的视角,并讨论了如何在不断变化的技术环境中保持其有效性。

相关产品

  • 企业级分布式应用服务
  • 函数计算