当前位置: 首页 > 后端技术 > Java

EDAS 4.0 助力企业一站式实现微服务架构转型与 K8s 容器化升级

时间:2023-04-01 18:00:47 Java

EDAS4.0帮助企业一站式实现微服务架构改造和K8s容器化升级,发布云原生应用研发运维PaaS产品族,助力企业应用架构现代化升级。作者:安少飞前言近年来,随着互联网的普及,企业数字化发展越来越快,技术架构也发生了数次变化,尤其是线上业务部分。一开始,企业的需求是让业务尽可能线上化,这就产生了早期的线上业务应用架构,即单体应用,主要是将业务逻辑和后台数据从web添加到数据库中应用。随着线上业务的增多,更多的接入增长,发现单体应用已经无法支撑业务,逐渐向分布式应用演进。同时在前端增加了负载均衡来处理越来越多的请求,中间引入了更多的消息、缓存等中间件和数据库。随着云计算的发展演进到云原生时代,企业应用也开始面向云构建容器和微服务。在这个过程中,带来了不同于前一阶段的变化。应用开发设计、应用交付、在线运维等方面的变化。image.gif云原生应用服务新需求在云原生应用日益成为主流的技术架构下,云原生应用如何更好地利用云服务,实现面向云服务的架构设计,让业务更高效敏捷研发,快速联调验证尤为重要。这就需要平台提供一站式的PaaS产品支持。1)首先是开发设计:从原来的分层/模块化单体架构到综合微服务,使用SpringCloud、Dubbo、Servicemesh等技术栈构建微服务,在这个过程中,研发人员需要面向微服务架构设计,测试人员需要针对微服务架构设计测试用例,编写并实现自动化测试,同时随着环境上云,也需要开发环境和云环境能够实现联通调试.2)接下来是应用交付:从之前的虚拟机&批处理脚本完成部署交付,到通过容器、K8s等技术实现通用的标准化交付,在这个过程中,也出现了一些新的需求,比如批处理通过跨集群应用实现快速部署交付、多场景管理交付的应用模板。3)第三部分是线上运维的变化:从原来的虚拟机维度运维到容器集群维度运维,需要有更高的视角来帮助企业的开发维护同学.这里我们提出一个基于运维鸟瞰图的概念,从应用的角度可以看到所有的K8s资源。运维管理不再仅仅针对Deployment、Service、Ingress等K8s原子资源进行。EDAS4.0全面升级&ADD1.0大发布针对上述生命周期三个阶段新场景演进的新需求,EDAS正式发布4.0版本,新增多集群应用管理、微服务API管理和测试、端云联调3.0等新能力。同时发布了新产品——云原生应用开发设计平台ADDv1.0,大大提升了云原生应用的开发效率。接下来,我们将详细介绍它们中的每一个。云原生应用设计开发平台ADD1.0发布针对开发设计阶段的需求,云原生应用设计开发平台ADD应运而生。ADD产品的设计初衷是为了提高企业在云原生应用开发设计阶段的工作效率和生产力。具有6大特点:可视化应用架构设计:帮助企业在离线白板上便捷地解决和维护原有的架构讨论设计;前端web应用拖拽拉拽设计:实现前端“无代码”开发;后台代码在线开发调试:确保代码安全;一站式集成面向接口的测试用例管理和自动化执行配置能力:实现在线自动化测试;整合主流项目管理工具:提升云原生开发项目的管理效率;高效复用业务应用组件:借助应用组件库,实现全面的资产复用;EDAS4.0全新升级——微服务API管理与测试在微服务流程场景中,我们总结了以下三个挑战:多环境适配挑战:微服务有不同的研发团队,环境也多种多样。当面对相应的微服务环境时,需要做特殊的配置适配,比如测试参数、自动化用例的选择等。应用可测试性挑战:随着企业资源逐渐上云管理,大部分应用部署在公有云或当前的私有云环境中,这带来了诸多可测试性挑战。比如阿里云的VPC环境不能直接外网访问,需要弹性IP或者其他连接方案;而随着应用容器化,K8s中的网络拓扑也会带来相应的复杂性。用例生成的挑战:很多时候,开发会专注于业务研发,这无形中给测试生带来了沟通协作的成本。因为不了解微服务接口的契约,无法快速实现用例生成。针对以上挑战,我们提供云端微服务一键式测试工具(API管理与测试),针对性解决相应问题:通过API快速测试能力,直接开启EDAS应用、发起测试,以及测试历史可以快速生成API模板。然后通过测试环境管理,连接云端的微服务,提供API模板和测试环境参数设置能力,让一套测试配置直接映射到微服务环境下的应用。提供用例管理功能,将用例管理在统一的模板中,实现用例的自适应,即该用例可以根据微服务运行环境的相应配置执行。因此,EDAS的微服务一键式测试工具相当于为用户提供了一个面向微服务的云专网Postman,一键自动执行用例,在云端完成微服务测试,提高微服务测试效率.EDAS4.0全新升级——端云联调3.0针对开发测试部署架构的变化,EDAS4.0全面升级微服务端云联调能力,这也是2020年以来的第三次升级。本次升级可以支持企业用户在容器化开发过程中快速运行本地代码,对接云端微服务。本地可以是容器也可以是进程,这是在云端实现微服务环境,多研发协同开发微服务需求场景的好方法。端云联调3.0主要升级三大能力:微服务双向联调:在日常开发中,研发本地可能会写Consumer服务消费者或者Provider服务提供者,所以实现双向互调非常重要。必要的。本地应用上线后,借助工具提供的通道服务,很容易打通云端的代理进行互调。横向产品支持:由于微服务应用在启动或运行时往往需要依赖DB、MQ、Redis等资源,所以端云联调3.0也提供了相应的支持。除了微服务,还支持数据库、缓存和消息队列。可以授予本地访问权限。PaaS层能力支持:针对开发中常用的一些诊断和观察能力,端云联调3.0还提供了服务鉴权、流控、链路诊断等能力,更好地提升开发联调效率。EDAS4.0全新升级——多集群应用管理我们看到,随着业务的发展,一些企业逐渐有了应用集群级容灾、多地域部署、业务同时分布等挑战和需求。需要部署在海外以保证合规,部分政企客户需要中央统一管控各地的应用。为了应对这种新的应用交付场景的挑战,EDAS4.0还提供了全新的多集群应用管理支持,使用统一的应用模板实现通用的跨集群应用部署管理。比如左边原来单集群下的创建应用、更新应用、更改应用配置等管理能力,全部升级为多集群维度能力。也就是说,从多集群应用的角度,可以统一管理和观察一个多集群的应用实体,不需要在多个集群之间来回跳转,从而解决新的应对上述业务场景的挑战,帮助客户实现集群容灾、多站点部署的需求。EDAS4.0全新升级——“鸟瞰”运维最后,针对线上运维的变化,EDAS4.0升级提供了鸟瞰运维支持。云原生应用在微服务和容器化之后,粒度会更小,不再适合进行细粒度的管控,需要重新进货,需要鸟瞰管理和运维.我们认为鸟瞰运维可以从业务、应用、资源三个维度逐层展开。业务维度:通过提供无损流量和流控能力保障业务应用的稳定运行,进而提供面向业务的灰度发布能力,实现在线应用可控,加上根据业务指标灵活触发,实现业务负载灵活。应用维度:支持根据应用拓扑观察上下游调用,通过应用观察告警,确保及时发现应用级服务接口问题。而且,应用层面的统一变更可以直接进行,无需深入到底层的工作负载维度去操作。资源维度:提供一键式搜索,快速定位与EDAS中任意应用关联的资源。还增加了资源画像能力。应用的资源画像与应用实例直接关联,可以帮助用户一键检测错误配置或闲置的特定实例资源,并提供动态调度,实现更可靠的资源动态分配。综上所述,EDAS是一个非常成熟的产品。从1.0到2.0时代,都是围绕企业业务中台搭建的。可以更好的帮助企业实现资源集群化和业务弹性扩展,提供标准的面向服务的开发框架。这也很好。有效支撑了部分企业业务的线上化和集中化。2020年我们将发布EDAS3.0,将对业务应用的监管和控制进行整合,提供非侵入式双模微服务(即Java+多语言微服务)的支持。现在,EDAS正式进入4.0时代,并发布了多项新能力;同时,联合新品——云原生应用设计开发平台ADD1.0,共同发布云原生应用开发运维PaaS产品家族,助力企业应用架构现代化升级。原文链接本文为阿里云原创内容,未经许可不得转载。