应用场景
使用 SOFA 技术栈的传统研发运维体系
这类体系的应用使用 SOFABoot 进行开发或直接使用 SOFA Mesh,系统间关系复杂,有依赖关系,并且深度使用了 SOFAStack 产品,需要和现有 PaaS 的发布部署能力做无缝对接:
多应用同时发布运维,可做应用分组、应用依赖关系调整等高阶发布运维能力。
需要蓝绿发布,单元化发布能力。
这类系统的特点为:
应用架构较复杂,且应用间有依赖,需要在发布单中做协调,并做细粒度控制,包括:Pod 分组(包含 beta)、分组重试、单 Pod 重试、Pod 上单任务重试/忽略等现在已有的功能。
存在虚拟机和容器混布(迁移)的场景。
对蚂蚁中间件强依赖,需要做无损发布(切负载均衡流程流量、切软负载流量、加白名单、发布等流程必须有序操作)。
该场景下,您需要在 AKS 中创建应用服务,使用 SOFABoot 运行时镜像作为基础镜像构建应用镜像,以原地升级方式进行发布单级别的部署,就可使应用服务在 AKS 上运行,与虚拟机提供的服务进行交互,并与现有 SOFAStack 产品做无缝对接。
使用 SOFA 技术栈的轻量级研发运维体系
这类体系的应用使用 SOFABoot 进行开发或者使用 SOFA Mesh,和 SOFAStack 产品有紧密结合。这类应用的特点为:
不需要多应用同时发布,即应用可以进行独立发布。
需要做无损发布。
没有历史包袱,可接受 CloudNative 方式运维。
该场景下,您只需在 AKS 中创建应用服务,使用 SOFABoot 运行时镜像作为基础镜像构建应用镜像,以原地升级方式进行部署管理,即可使应用服务在 AKS 上运行,并和现有蚂蚁科技云产品无缝对接。
使用云原生技术体系
这类体系的应用通常采用传统 Spring 或者 SpringBoot 技术栈,配合 Eureka,ZooKeeper 做服务注册与发现,并配套 CNCF 生态的监控,链路工具,自成一体。这类的应用的特点为:
业务对错误容忍性高,或非关键链路系统。
进行独立发布。
没有历史包袱,可接受 CloudNative 方式运维。
不需要和 SOFAStack 产品结合,比如监控,弹性伸缩,容灾,中间件等。
该场景下,直接在 AKS 中创建应用服务并对现有代码或者镜像进行管控,以原生发布方式进行部署管理,其周边使用的配置中心、监控、链路、Service Mesh 等工具可以和原先的方式保持一致,直接通过 Kubernetes 支持的方式,比如 Helm Charts 进行部署和管理。