导图社区 阿里云企业级分布式应用服务(EDAS)
企业级分布式应用服务EDAS(Enterprise Distributed Application Service)是一个应用托管和微服务管理的云原生PaaS平台,提供应用开发、部署、监控、运维等全栈式解决方案,同时支持Spring Cloud和Apache Dubbo(以下简称Dubbo)等微服务运行环境,助力您的应用轻松上云。
编辑于2024-01-17 10:49:18这是一篇关于DPIA流程和模板的思维导图,主要内容包括:DPIA模版,DPIA概述和范围,如何执行DPIA,可接受的DPIA标准,DPIA解决什么问题,DPIA执行标准。
本文翻译了GDPR并且添加了解析,深入剖析GDPR的各个方面,可以更好地理解这一法规的重要性,并为企业和个人在数据保护方面提供有益的指导和建议。非常有价值。
这是一篇关于信息安全技术 、数据安全能力成熟度模型Informatio的思维导图,主要内容包括:附 录 C (资料性附录) 能力成熟度等级评估流程和模型使用方法,附 录 B (资料性附录) 能力成熟度等级评估参考方法,DSMM架构,附 录 A(资料性附录) 能力成熟度等级描述与 GP,DSMM-数据安全过程维度,DSMM-安全能力维度。
社区模板帮助中心,点此进入>>
这是一篇关于DPIA流程和模板的思维导图,主要内容包括:DPIA模版,DPIA概述和范围,如何执行DPIA,可接受的DPIA标准,DPIA解决什么问题,DPIA执行标准。
本文翻译了GDPR并且添加了解析,深入剖析GDPR的各个方面,可以更好地理解这一法规的重要性,并为企业和个人在数据保护方面提供有益的指导和建议。非常有价值。
这是一篇关于信息安全技术 、数据安全能力成熟度模型Informatio的思维导图,主要内容包括:附 录 C (资料性附录) 能力成熟度等级评估流程和模型使用方法,附 录 B (资料性附录) 能力成熟度等级评估参考方法,DSMM架构,附 录 A(资料性附录) 能力成熟度等级描述与 GP,DSMM-数据安全过程维度,DSMM-安全能力维度。
阿里云企业级分布式应用服务(EDAS)
产品简介
企业级分布式应用服务EDAS(Enterprise Distributed Application Service)是一个应用托管和微服务管理的云原生PaaS平台,提供应用开发、部署、监控、运维等全栈式解决方案,同时支持Spring Cloud和Apache Dubbo(以下简称Dubbo)等微服务运行环境,助力您的应用轻松上云。
应用托管
应用托管是开发者本身不为应用提供服务器,将应用托管给服务提供商。应用完成开发后,可以托管在EDAS上。
功能 描述 多种语言支持 EDAS支持托管Java应用,K8s环境还支持托管PHP、Node.js、C++和Go等多语言应用。 多种底层服务器选择 EDAS无缝集成了ECS云服务器和容器服务Kubernetes版,您可以基于实际托管需求来选择ECS集群、K8s集群,以及混合云集群。 多种发布方式 支持使用控制台和API来完成创建和部署,并支持WAR包、JAR包和镜像多种部署形式。 支持使用控制台、API和插件完成应用升级,并支持单批发布、分批发布和金丝雀发布。 支持使用云效和Jenkins实现应用的CI/CD。 应用生命周期管理 EDAS为您提供从创建到运行的应用全生命周期管理服务,包括应用的发布、启动、停止、扩容、缩容和删除等服务,您可以轻松运维上千个应用实例。 应用监控 EDAS集成了应用实时监控服务ARMS。您可以监控部署在EDAS中的应用的健康状态和关键指标,并针对监控指标设置告警,及时发现并处理可能存在的异常或故障,以保障应用的健康和可用性。 应用运维 EDAS为应用提供了一系列运维功能,包括生命周期管理、应用访问方式管理、弹性伸缩、限流降级、负载均衡、变更记录、事件中心、日志管理等。
微服务
有别于传统的单体式应用架构,微服务架构将应用拆分成多个核心功能,每个功能都可以作为一项独立的服务,由独立团队负责并且可以独立构建和部署,各项服务在运行和出现故障时不会相互影响。微服务使应用更易于扩展和更快地开发,从而加速创新并缩短新功能的发布周期。
EDAS提供了从开发、部署到治理的完整的微服务解决方案。
应用开发
EDAS支持基于Spring Cloud、Apache Dubbo以及HSF开发的微服务应用。各种框架的微服务应用无需修改任何代码和配置,即可直接部署到EDAS。
Spring Cloud Apache Dubbo HSF Spring Cloud概述 实现服务注册与发现 实现负载均衡 实现配置管理 Dubbo概述 使用Spring Boot开发Dubbo微服务应用 使用Cloud Toolkit开发Dubbo微服务应用样例工程 将Dubbo应用平滑迁移到EDAS HSF概述 启动轻量级配置及注册中心 异步调用 泛化调用
应用部署
EDAS针对微服务应用的开发、运行现状,提供了多种路径,帮助您将微服务应用部署或迁移到EDAS。无论您选择哪种路径,都可以使用EDAS完整的微服务治理能力。
微服务治理
EDAS为各种框架的微服务应用提供了服务查询、调用链查询、离群实例摘除和服务鉴权等完整的微服务治理能力。
Spring Cloud Apache Dubbo HSF 多语言 无损下线Spring Cloud应用 使用控制台金丝雀发布应用(K8s) 使用控制台金丝雀发布(ECS集群) 使用离群实例摘除保障Spring Cloud应用的可用性 无损下线Dubbo应用 使用控制台金丝雀发布应用(K8s) 使用控制台金丝雀发布(ECS集群) 使用离群实例摘除保障Dubbo应用的可用性 无损上线HSF应用 全链路流量控制 查询HSF服务调用链 使用离群实例摘除保障HSF应用的可用性 EDAS多语言互通 查询多语言应用服务 金丝雀发布多语言应用 使用服务鉴权实现多语言应用的访问控制
云原生应用PaaS平台
云原生是指应用原生被设计为在云上以最佳方式运行,充分发挥云的优势。在云原生时代,PaaS平台将下沉到基础设施,成为云的一部分。EDAS正是一个应用托管和微服务管理的PaaS平台。
功能 描述 相关文档 云服务集成 EDAS作为应用的一站式PaaS平台,集成了众多阿里云服务,以产品和EDAS内部组件两种形态为EDAS中的应用提供各个层面、维度的功能。 产品集成:以独立产品的形式集成,相关资源、功能由各产品(非EDAS)管理。 组件集成:以EDAS的服务组件形式集成,为EDAS提供的资源、服务可以在EDAS中管理。 云服务集成 权限管理 您在EDAS上托管的应用可能包含多个服务或子系统,这些服务或子系统又可能由不同团队、成员进行开发、运维。EDAS通过账号体系及基于账号体系的一系列权限管理操作,提供企业级的权限管理系统,帮助您对应用、资源和数据进行必要的隔离和权限控制,以保证其安全性。 权限管理概述 分布式任务调度 分布式任务调度SchedulerX是阿里巴巴基于Akka架构自研的新一代分布式任务调度平台,提供定时调度、调度任务编排和分布式批量处理等功能。 您可以为EDAS中部署的应用接入SchedulerX,以完成应用的分布式任务调度任务。 什么是分布式任务调度SchedulerX
应用场景
微服务解决方案
EDAS支持Apache Dubbo(2.6.x及以上版本)、Spring Cloud(Edgware及以上版本)和HSF三个主流微服务框架,更多信息,请参见Spring Cloud概述、Dubbo概述和HSF概述。EDAS内置的HSF框架为阿里巴巴自研的高效微服务框架,孵化自阿里众多业务场景的最佳实践;同时,零代码入侵就能完成Apache Dubbo和Spring Cloud应用上云,有效降低运维成本,支持应用的无损上线、下线、金丝雀发布,以及流量控制等多种高级特性,助力您在云上轻松构建微服务应用。
架构图
功能优势
基于成熟微服务框架快速构建应用
:借助阿里巴巴自研的微服务框架HSF在云上构建微服务应用。
Apache Dubbo和Spring Cloud应用上云
:无需构建ZooKeeper、Eureka和Consul等微服务依赖的自建服务,极大降低运维成本。
提供企业级高级特性
:提供无损上线、下线、金丝雀发布,以及流量控制等多种高级特性。
应用托管解决方案
免去运维人员逐台登录ECS实例的繁杂操作,免集群维护。您只需要登录EDAS控制台,就可以通过WAR包、JAR包或镜像等多种方式快速部署应用,基于ECS提供全应用生命周期管理,包括发布、回滚、应用分组管理、多版本并存,并集成监控、日志等能力,极大地提升了ECS的集群管理效率。
架构图
功能优势
无缝支持Kubernetes
:Kubernetes集群托管给EDAS,您仅需关注应用生命周期管理即可。
容器与微服务完美结合
:基于Kubernetes,快速构建容器上的微服务架构。
无需构建镜像
:支持WAR包和JAR包直接部署,EDAS代为构建镜像并部署到Kubernetes集群,有效简化流程降低使用门槛。
基本概念
Alibaba Cloud Toolkit
阿里云开发者插件(Alibaba Cloud Toolkit)是一个面向IntelliJ IDEA、Eclipse和Maven平台的免费插件,旨在帮助开发者在本地开发平台(IDE)中更便捷的使用阿里云,从而高效地开发、测试、诊断并部署应用。
Ali-Tomcat
Ali-Tomcat是基于Apache Tomcat改造的Servlet容器。在支持原有核心功能的前提下,Ali-Tomcat在启动时会自动加载Pandora容器以实现类隔离功能。
CPU 共享比例
CPU共享是一种在 Docker 化技术中提升单机资源使用率的方法。例如对于一台2核8G的机器宿主机,如果选择CPU共享比例为1:2,那么可以在此宿主机上最多分配出四个1核2G的Docker实例;以此类推,选择1:4,则可以最多分配出八个1核1G的Docker实例。请注意,无论如何,内存都是独享的,无法共享。
Dubbo
Dubbo是一个开源的分布式服务框架,提供高性能和透明化的RPC远程服务调用方案。
ECS
云服务器 ECS(Elastic Compute Service)是一种简单高效、处理能力可弹性伸缩的计算服务。帮助您快速构建更稳定、安全的应用。
EDAS
企业级分布式应用服务EDAS(Enterprise Distributed Application Service)是一个应用托管和微服务管理的PaaS平台,提供应用开发、部署、监控、运维等全栈式解决方案,同时支持Dubbo、Spring Cloud等微服务运行环境,助力您的各类应用轻松上云。
EDAS Agent
EDAS Agent是安装在用户ECS上的Daemon程序,主要用于EDAS服务集群与部署在相应的ECS上的应用程序之间进行通信。在运行的过程中主要承担应用管理、状态回报、信息获取等功能;同时也是EDAS控制台与用户应用程序之间信息沟通的主要桥梁。
EDAS Container
EDAS Container是EDAS平台HSF应用运行的基础容器,EDAS Container包含Ali-Tomcat和Pandora。
K8s Namespace
K8s Namespace 通过将系统内部的对象分配到不同的Namespace中,形成逻辑上分组的不同项目、小组或用户组,便于不同的分组在共享使用整个集群资源的同时还能被分别管理。
Pandora
Pandora 是一个轻量级的隔离容器,也就是taobao-hsf.sar。它用来隔离应用和中间件、中间件之间的依赖,使其互不影响。EDAS的 Pandora中集成了实现服务发现的插件、实现配置推送的插件、实现调用链跟踪的插件等各种中间件产品插件。利用这些插件可以完成对EDAS 应用的服务监控、治理、跟踪、分析等全方位运维管理。
Pandora Boot
Pandora Boot是在Pandora的基础之上,发展出的更轻量使用Pandora的方式。基于Pandora和FatJar技术,可以直接在IDE里启动 Pandora环境。
Pod
Pod是Kubernetes中最小的部署单元和计费单位,根据应用场景,可以由一个或多个容器组成。当一个Pod中有多个容器时,这些容器会共享Pod的计算资源、存储空间、IP和端口。对于计算资源还可以限制各个容器使用的比例。
SLB
负载均衡 SLB(Server Load Balancer)是对多台应用实例进行流量分发的负载均衡服务。可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。
VPC
专有网络 VPC(Virtual Private Cloud)是基于阿里云创建的自定义私有网络。不同的专有网络之间二层逻辑隔离,您可以在自己创建的专有网络内创建和管理云产品实例,比如ECS、负载均衡、RDS等。
变更流程
在EDAS上进行应用部署、启动、扩容/缩容等生命周期操作时,应用变更记录将整个变更过程中执行的业务逻辑抽象成为一个流程(Process),以可视化的方式展现。
持续集成
一种软件开发实践,通过该实践,开发人员定期将代码更改并入中央存储库,然后运行自动化构建和测试。
方法追踪
采用JVM字节码增强的技术,对选中方法中的所有方法调用增加必要的耗时与调用序列记录,以便观看执行过程中的具体执行序列。
调用链查询
调用链查询用于查看系统中的调用链路状态,尤其是慢业务和出错业务。
分布式链路跟踪
EDAS鹰眼监控系统能够分析分布式系统的每一次系统调用、消息发送和数据库访问,从而精准发现系统的瓶颈和隐患。
分布式任务管理
SchedulerX 是阿里巴巴中间件团队开发的一款分布式任务调度产品。用户在应用中依赖SchedulerX-Client,并在SchedulerX控制台创建定时任务,进行相应的参数配置后,启动该应用就可以接收到定时任务的周期调度。SchedulerX-Server集群为调度触发提供高可用性和高稳定性的保证,并且可以实现对用户客户端机器集群进行分布式调度。
付费账号
付费账号是指用于购买EDAS产品的账号。一个付费账号可以绑定(最多5个)主账号,付费账号同时也是一个主账号。
服务报表
以租户维度展示当前租户内所有应用的所有服务在近24小时内的运行时情况,包括服务调用量、调用耗时和调用出错次数。
服务查询
服务查询用于查询目标机器提供的或者消费的服务。
服务监控
能够针对应用的服务调用情况,对服务的QPS、响应时间和出错率进行全方面的监控。
服务降级
与服务限流相反,每一个应用会调用许多外部服务,对于这些服务配置降级规则可以实现对劣质服务的精准屏蔽,确保应用自身能够稳定运行,防止劣质的服务依赖影响应用自身的服务能力。EDAS从响应时间维度对降级规则进行配置,帮助您在应对流量高峰时合理地屏蔽劣质依赖。
服务限流
EDAS可以对每一个应用提供的众多服务配置限流规则,以实现对服务的流控,确保服务能够稳定运行。限流规则可以从QPS和线程两个维度进行配置,帮助您在应对流量高峰时,确保系统能以最大的支撑能力平稳运行。
服务拓扑
通过拓扑图的形式直观的了解不同服务间的相互调用关系及相关性能数据。
高速服务框架
高速服务框架HSF(High-speed Service Framework)是一款面向企业级互联网架构的分布式服务框架,以高性能网络通信框架为基础,提供了诸如服务发布与注册、服务调用、服务路由、服务鉴权、服务限流、服务降级和服务调用链路跟踪等一系列功能特性。
健康检查
健康检查对容器与应用进行定时检查和汇报,然后将结果上报到控制台,从而帮助您了解集群环境下整个应用的运行状态,排查和定位问题。
基础监控
EDAS从应用所运行的实例(ECS)上采集数据,对机器的CPU、内存、负载、网络和磁盘等基础指标进行详细的监控。所有监控均以应用为单位进行数据的统计和处理。
集群
集群指应用运行所需的云资源组合。
ECS集群:ECS集群中,在一台独立的ECS实例上仅允许部署一个应用。
Swarm集群(即将下线,新用户不可创建及使用):Swarm是Docker公司发布的容器管理工具。Swarm集群中,在一台独立的 ECS 实例上可以创建多个Docker 实例,每一个 Docker 实例上允许部署一个应用。
容器服务K8s集群:通过了CNCF标准化测试的 Kubernetes 集群,运行稳定且集成了阿里云其它产品(如 SLB、NAS)。在容器服务中创建Kubernetes集群并导入EDAS后,您就具备了在EDAS中向容器服务Kubernetes集群部署应用的能力。
微服务空间
微服务空间用于实现服务隔离。您可以使用微服务空间隔离不同的运行环境,如开发、测试和生产环境,以避免影响不同环境下的服务调用和配置推送。
批量运维
在EDAS控制台中,可以使用机器指令对安装了Agent的ECS实例进行批量运维操作。可以按集群、应用和实例批量执行命令,解决多个实例重复运维的烦恼。
轻量级配置及注册中心
一个可以在本地运行的EDAS轻量级配置及注册中心,提供服务发现和配置管理功能。
日志采集器
采集系统监控日志用来生成监控数据以及调用链信息的组件。在VPC网络中,机器天然与服务器隔离,日志采集器可以打通服务器和本地机器的连接通道。安装一个日志采集器即可采集整个VPC里所有机器的数据。
实时日志
实时日志是针对Docker容器的一种标准输出的运行时日志。
弹性伸缩
弹性伸缩功能可以感知集群内各个服务器的状态(CPU、RT和Load),并根据状态实时实现集群扩容、缩容,在保证服务质量的同时,提升集群系统的可用率。
应用实时监控服务
应用实时监控服务 ARMS(Application Real-Time Monitoring Service)是一款阿里云应用性能管理(APM)类监控产品。借助ARMS可以迅速便捷地为企业构建秒级响应的应用监控能力。
应用监控
用于监控应用的实时流量和历史信息,用户可以通过该信息监控应用的健康状态,从而快速发现、定位问题。
应用配置管理
应用配置管理 ACM(Application Configuration Management)是一款在分布式架构环境中对应用配置进行集中管理和推送的工具类产品。您可以在EDAS中使用ACM对应用配置进行集中管理和推送,还可以基于命名空间在不同环境间进行配置的隔离和同步。
应用生命周期
应用是EDAS管理的基本单位,一个应用下面通常包含了多个实例。EDAS提供了完整的应用生命周期管理机制,可以完成应用从发布到运行过程的全面管理,包括应用创建、部署、启动、回滚,扩容缩容和停止下线等操作。
应用实例
应用实例是指用来部署应用的ECS实例或者容器实例。比如在ECS集群里,一台ECS里只有一个应用实例;在K8s集群里,一个Pod是一个应用实例。
应用实例分组
将一个应用下属所有实例(ECS)进行分组,以便对不同分组中的实例部署不同版本的应用。EDAS应用实例分组提供应用内实例的分组管理功能。用户可以实现Beta发布、AB测试,灰度发布等运维方式。支持用户从分组角度实现应用生命周期管理、资源监控与告警,可以迅速提升运维效率。
应用运行环境
应用运行的环境,例如HSF应用的运行环境EDAS-Container或开源应用的运行容器(如Apache Tomcat)。
应用诊断
EDAS针对应用提供了详细的问题排查和性能分析,包括提供当前应用运行的单机上的JVM堆/非堆内存、类加载(ClassLoader)、线程、Tomcat连接器的统计数据以及方法追踪等。
云服务总线
云服务总线 CSB(Cloud Service Bus)面向专有云和专有域,帮助企业在自己的多个系统之间,或者与合作伙伴以及第三方的系统之间实现跨系统跨协议的服务能力互通。在EDAS中创建CSB专享实例,用来管理和控制目标环境内应用对外的服务开放,也可以引入外部服务并进行管理控制;开放VPC内的EDAS应用,用于在自有开发环境通过公网来测试联调阿里云VPC内的EDAS应用。
资源组
EDAS对资源的一种划分方式。资源组可以绑定ECS、集群和SLB。您的主账号可以基于资源组对子账号进行授权。
案例
案例1
需求
消费券活动报名场景:
流量防护方面,面对突发流量、高并发场景需要保证业务系统能够持续平稳的运行。
弹性伸缩方面,高并发、大流量的情况下需要系统平稳快速的水平扩容,从而保证业务系统的稳定性。
服务监控方面,系统的监控,不仅需要了解实时的系统指标,同时需要及时告警并发现生产隐性Bug。
版本发布方面,版本迭代不会使得业务中断、能够做到无损上下线。
解决方案
借助EDAS实现动态扩缩容、灰度发布,并提供了一整套的应用生命周期的管理。在此之前,从业务代码的开发部署到微服务应用的整个生命周期管理一直是比较棘手的问题,成都信通信息技术有限公司使用EDAS后,可以将整个应用的生命周期全部托管到EDAS上,真正做到一键部署、一键发布。
EDAS平台对应用快速扩缩容以及对流量控制、熔断、降级等功能的支持能够很好的帮助成都信通信息技术有限公司在面对大流量,高并发场景时业务系统依旧能够持续平稳的运行。
EDAS平台整合的阿里云应用实时监控服务ARMS,使得成都信通信息技术有限公司微服务体系更进一步的得到了监控能力。通过链路追踪、慢SQL和问题诊断等一系列技术手段,能够帮助成都信通信息技术有限公司及时定位并解决生产隐性Bug。
SLB和后端服务器的高可用架构满足业务高并发需求同时避免业务出现单点故障。
案例2
需求
随着业务的快速发展,畅捷通IT团队对原有的IT系统进行了大量的微服务化改造,以适应互联网大型应用快速迭代以及频繁发布的需求。畅捷通的SaaS化企业管理云服务具备用户量大、业务复杂、调用链路长、与第三方应用系统深度集成等特点,给微服务化改造工作带来了非常大的挑战。特别是在新版本的发布过程中,如果不能保证整个流程平滑、可控,就很容易因为单个应用的更新而造成整个系统的崩溃。如何提升整体的微服务治理能力与监控能力,在频繁的版本迭代中确保系统的稳定健壮 ,是畅捷通IT团队需要解决的重要课题。
解决方案
经过与阿里云技术专家多轮深入的技术交流后,畅捷通IT团队决定将整个微服务架构逐步部署到阿里云提供的企业级分布式应用服务EDAS上。对于通过Spring Cloud技术体系建立的微服务应用,可以在不改动任何代码的情况下,直接部署在EDAS上,整个迁移的过程也非常平滑,对于畅捷通的用户而言,是没有任何感知的。运行在EDAS上的Spring Cloud应用,可以享受到应用生命周期管理、无损下线、全链路流控等一系列针对微服务治理领域的能力增强。特别在应用发布的流程中,EDAS所提供的平滑上下线以及灰度机制极大程度的提升了系统在版本更新期间的稳定性,降低了应用发布所带来的风险。
接入阿里云应用实时监控服务ARMS,为畅捷通的微服务体系更进一步的提供了监控能力。在此之前,由于畅捷通的SaaS产品所涉及到的业务链路极为复杂,当用户反馈系统Bug或者性能存在问题之后,IT团队需要耗费非常长的时间在错综复杂的链路之间定位故障源以及性能瓶颈。在接入ARMS之后,通过全链路信息排查以及应用实时诊断等工具,将定位系统故障源以及性能瓶颈的工作量降低到了之前的50%以下,极大程度的提升了IT团队的工作效率。
随着畅捷通各条业务线的不断迭代,在整体微服务架构中也逐步引入了消息服务MNS、AHAS、PTS等一系列云原生产品,进一步解放了IT团队的生产力,让畅捷通将更多的精力投入到满足用户的业务需求中来。
案例3
需求
佐朋的营销系统是公司成立的标杆项目,公司面对的主要挑战是将营销系统快速地推向市场,进行验证与开拓。公司的IT团队的技术人员都拥有丰富的互联网经验,对系统需要的基础能力拥有以下诉求:
灵活发布应用:可以支持灰度发布、金丝雀发布和持续集成的能力,支持多种发布形式和多种应用运行形态。
智能运营监控:支持应用监控、JVM监控和调用链监控,可以根据监控进行限流降级管理,可以根据使用情况进行弹性伸缩管理。
微服务治理:支持服务查询、服务路由设置、优雅上下线、离群摘取和服务鉴权。
账号隔离管理:支持按照账号、角色和命名空间等维度来设置资源访问权限。
分布式任务调度:支持编排定时任务、工作流任务、跑批操作和分布式任务调度。
解决方案
阿里云的EDAS 3.0是一站式企业级分布式应用服务,通过接入EDAS 3.0即可获得应用生命周期的管理能力,支持各种发布方式,可以利用应用的监控来快速定位分析,支持主流微服务框架以及服务治理,支持细粒度的隔离管理。还可以通过EDAS 3.0的组件SchedulerX来实现与管理分布式任务调度。