到底什么是EDAS?什么又是EDAS Serverless?
EDAS是阿里云的企业级分布式应用服务(Enterprise Distributed Application Service,)是一个围绕应用和微服务的PaaS平台,提供多样的应用发布和轻量级微服务解决方案,帮助用户解决在应用和服务管理过程中监控、诊断和高可用运维问题。
简单的说,EDAS是一个浓缩了阿里巴巴集团多年应用管理经验的托管平台,可以帮你解决应用的发布、运行监控、诊断、和高可用等一系列的问题,如果希望您的业务红火的像双十一那样,选择EDAS就可以让您少填“坑”,少走“弯路”。过去EDAS这个托管平台可以工作在阿里云的虚拟机ECS上,也可以和容器编排服务k8s愉快的在一起工作。现在这个EDAS又发布了一个新的模式:Serverless。
假如,注意是假如,您已经接受并已经在使用EDAS了,应用在EDAS上发布和运维,按照DevOps的不断进精进的理念,你就会有这样的疑问:既然我的应用依赖的是EDAS,那么还要ECS以及容器何用?按照DevOps的理念,部署和管理ECS及容器就变成了交付价值流中的多余环节,是“额外工序”,在开发团队不断走向精益的过程中这些都是需要被“优化”掉的环节。这时,当你再看到EDAS Serverless 就会发出:“可算让我找到了!”的惊叹。
通过下图(来自阿里云官网)可以看出,EDAS Serverless可以节省2个步骤,3个操作:
那么关键问题来了,您为什么要接受EDAS?
这就涉及另一个非常重要的产品 Spring Cloud Alibaba。
除了Dubbo,Spring Cloud中负责服务注册和发现的Eureka已经闭源不再更新,阿里的Nacos正好可以顶上,Nacos同时支持RPC和DNS两种方式的服务发现。
Sentinel是一个服务限流和降级插件,当面对突发的流量洪峰时,可以通过Sentinel的限流功能临时拒绝掉一部分请求来保证服务不被冲垮,在此期间中可以进行动态资源扩展,待新的资源就位后再正常提供服务。假如这时流量继续增加,已经无法保证服务的安全稳定运行,一些服务已经出现超时等异常现象了,这时就可以考虑使用Sentinel的降级功能,就是临时让这些不正常的服务快速失败,以实现类似保险丝的“熔断”功能,从而保证业务系统的整体可用性。
RocketMQ是阿里开源的另一个顶级项目,在Spring Cloud Alibaba中将提供插件让您更方便的使用它。
此外,对于像阿里云OSS(对象存储)、ARMS(服务监控)、ACM(配置服务)、ANS(服务发现服务)、SchedulerX(分布式调度服务)等服务都将提供插件支持。当Spring Cloud Alibaba流行起来,您再看到EDAS,就会惊呼:“可算让我找到了!”
因为您所需要的一切,都已经准备好了。