传统应用现代化:不止于异构应用治理
在传统单体式架构向微服务架构迁移的过程中,随着应用微服务数量的增加,微服务间的通信、监控以及安全性管理成为新的挑战。服务网格作为应用与基础设施的桥梁,突破传统的 SDK 接入方式,以对应用透明的方式处理服务之间、服务与基础设施间的通信,实现应用研发和基础设施最大程度的解耦,让应用研发只需专注于业务开发。
异构兼容标准管控
SOFA Mesh 提供平台无关、语言无关、轻量无侵入特性的云原生方案,实现了传统应用平滑上云,支持异构系统之间的互联互通,传统应用向分布式架构平滑升级,提供了既支持基于 ESB 的传统 SOA 架构又支持 Spring Cloud 和 Dubbo 分布式架构的双模服务管理和治理能力。传统应用无须改造即可互联互通,实现了分布式应用和传统应用体系融合,构建高可扩展、高性能、低成本、轻量无侵入的分布式系统。
消息 Mesh:传统应用平滑上云
云原生 Mesh 技术让传统应用能够以零成本或低成本的方式享受到分布式架构的技术红利:去中心化、可观测性、异构系统服务治理等。通过消息 Mesh 接管 IBMMQ 流量,实现平滑上云享受分布式架构红利的同时逐步去除 ESB 依赖,最终实现分布式转型和信创架构双重目标,构建企业级的通信网络。
统一控制平面,适配多注册中心
SOFA Mesh 不仅支持 K8s 的服务注册发现,也适配了业界通用的注册中心 ZooKeeper、SOFA Registry、Nacos、Eureka、Consul,最大限度兼容企业现存的基础设施,最小化落地成本。
应用交付敏捷化:双模应用运维管控
SOFAStack 应用 PaaS 平台(CAFE)充分考虑企业现有的运维流程及利旧 IT 资产的诉求,提供双模 IT 架构下的精细化应用运维管控能力,保障企业从传统运维体系向容器化运维的平滑演进。
双模混合发布:传统 VM 到云原生容器化
SOFA 的应用 PaaS 平台(CAFE)同时提供虚机应用和容器应用两种发布模式,应用元数据、监控对接、中间件配置等无缝切换。通过保留经典应用运维交付体系的包发布模式,减少日常开发者与运维人员的镜像改造与构建成本,同时提供“技术栈”选择与自定义能力,轻松关联基础镜像,实现准实时镜像构建。
实例灰度:精细控制分组滚动
应用 PaaS 平台支持自定义拓扑的精细化分组发布,是线上应用发布变更的重要保险绳,这使得容器实例层面的变更能够做到足够的可控和灰度。每一个阶段都能暂停,经过充分的线上验证后继续发布,如果验证遇到异常,可以及时回滚,以降低变更风险。
全链路灰度治理:单元化流量调拨与隔离
通过应用 PaaS 平台提供的单元化流量调拨能力,保证微服务全调用链路的整体引流和逐步验证。
灰度发布:灵活调拨灰度流量
灰度蓝绿发布:新旧版本按权重分配流量 – 七层负载,流量百分比
通过小规模的生产流量来充分验证新版本,可以及时的回切应急,避免问题被放大,保证新产品的平滑上线,提高发布效率。
蓝绿发布:新老调用单元隔离
A/B 发布:版本并存,按业务语义分配流量 – 七层负载,HTTP 标签
通过逻辑发布单元、中间件(微服务调用控制等)逻辑上下文封闭,隔离单元间调用,避免发布期间东西向流量新老兼容。
生产运维智能化:技术风险体系保障业务连续性
TRaaS (Tech Riskdefend as a Service)技术风险防控平台,以蚂蚁内部 SRE 长期实践方法论和内部工具沉淀为依托,解决用户上云和分布式改造过程中所面临的可观测、故障应急、容灾、混沌工程、资金安全、压测等运维问题。
“人-事件-过程”统一的风险应急能力
TRaaS 技术风险防控平台风险应急能力是以用户风险(故障)处置为核心,通过应急响应将用户的“人”、“事”、“平台能力”进行有效串联,实现应急拉起、应急人员通知、诊断推送、预案执行,将应急过程可视化,有效提升应急效率。
三位一体的业务可观测能力
TRaaS 技术风险防控平台提供多元框架协议,采集监控、链路、日志等多样数据,并支持按业务场景进行多维聚合,以业务监控为核心建立业务连续性保障体系,通过监控下钻、链路分析、日志关联、故障决策树诊断,共同建立故障定位分析体系,覆盖业务、应用、基础资源、云原生等各种视角的全方位实时监控,提供一站式运维能力。
高效的资金安全风险保障能力
任何资损问题对于公司品牌都是灾难,必须采用准实时、非侵入的工程化系统解决防范,实时发现、实时告警、实时熔断、实时止血。TRaaS 资金安全风险保障平台建立旁路资金安全监控体系对金融行业生命线进行保障,确保实时发现资金错误,并基于蚂蚁和网商经验,提供核对规则建设和落地咨询服务。
高仿真的性能与容量风险识别能力
TRaaS 全链路压测是以全链路业务模型为基础,将前端系统、后端应用、中间适配层、数据库等整个系统环境,完整地纳入到压测范围中,以 HTTP 请求为载体,模拟真实的用户行为,在线上构造出真实的超大规模的访问流量,以全链路压测模型施压,直至达到目标峰值,在压测过程中发现系统瓶颈和验证系统能力。对比单应用或单链路压测,全链路压测的优势在于能够从更加宏观的视角去看待业务场景,更加全面真实地反应当前业务支撑能力。
端到端的容灾切换能力
TRaaS 技术风险平台提供端到端的容灾切换能力,支持 IaaS、PaaS、SaaS 等容灾预案的通过统一编排及日常演练,通过统一平台,完成不同容灾场景下的切换动作。
基于混沌工程的红蓝攻防能力
TRaaS 基于混沌工程、建立演练机制,提供故障注入、演练编排体系能力,支持在不同环境、不同阶段,主动对业务系统进行故障注入,从而在主动观测单应用健壮性的同时,验证整个体系的故障发现能力、应急响应能力、自愈能力等。
混合云异地多活:单元化架构解决容灾容量问题
SOFAStack 以云原生为载体输出蚂蚁多年沉淀的金融级单元化架构,包括敏捷研发、分布式架构、发布运维、监控分析、容灾应急等方面的能力,支持多个关键场景(同城双活/两地三中心/异地多活/异构基础设施下的混合云等),并提供可持续演进的架构升级路径。
异地多活单元化容灾
异地多活单元化容灾架构致力在分布式架构应用拆分和数据拆分的基础上解决以下问题:
异地场景下的访问延时问题,实现异地多活。
单机房数据库连接限制问题,突破物理限制。
容量预估和扩容复杂问题,按单元预估和扩容。
发布变更灰度问题,支持灰度发布。
混合云:异构基础设施下多活应用联邦发布管控
混合云狭义上指公有云+私有部署的混合形态,通过平台能力抽象统一、自动化部署、配置管理等方面的技术和产品,淡化开发和运维人员对底层基础设施的关注,使应用和数据能够在混合数据中心环境中进行部署和运维。
混合云异地多活架构
SOFAStack 混合云通过 PaaS 的统一化和标准化,提供涵盖 DevOps 工作流、多活灾备、应用和工作负载运维部署管理的综合解决方案。通过 Kubernetes 屏蔽底层 IaaS 差异性,提高用户跨云的资源利用率,催生出新的业务,更好地为业务服务。
业务价值
扩展数据中心边界:全球化交付、多数据中心冗余多活、通过公有云降低成本。
多云纳管:针对 IT 和云资产多样化,一套解决方案进行多云纳管。
统一视角下的应用发布管控、CICD 流水线对接。
跨域集群、机房、地域的高可用容灾能力。
满足金融安全域隔离场景下的多集群治理需求。
弹性扩容:结合异地多活架构,使业务能够按需进行机房级的无限水平扩展。
统一容器网络 RAMA:支持复杂场景部署,兼顾灵活性与高性能
在专有云 PaaS 输出场景,落地的重点往往是底层异构基础设施的适配,比如网络、存储等,K8s 虽然定义了通用的容器网络接口 CNI,但却把实现的复杂度留给了具体的网络插件。为了解决专有云 PaaS 输出在网络层面的性能、适配性、灵活的 IP 管理等需求,阿里内部孵化了跨部门合作共建的容器网络项目 RAMA。
RAMA 于 2019 年 10 月启动,一期于 2020 年 2 月 GA,迭代至今,已经支持多 asw /多 vlan /多网段的复杂场景部署、IP 指定/固定等高阶策略分配、ARP 保护、MAC 地址伪装、高效网络性能、完美兼容原生的 kube-proxy 等能力。在最新的规划中,rama 后续会完成双栈网络的支持、进一步优化数据平面、尝试支持 overlay 混部、引入 ebpf 提升网络可观测性等。
核心优势
网络性能高:underlay 不存在封包/解包开销,相比 flannel-ipip、kube-ovn 等方案具有明显的性能优势,有助于用户以容器的方式落地生产应用,能以最贴近传统网络运维的方式,耦合进用户的存量网络设施。
适配能力强:具备 MAC Nat 和 ARP Protection 特性,能够“穿透”底层云平台的 MAC 地址过滤限制且隔离恶意 ARP 请求,经验证可以跑在物理机和 OpenStack/Vmware 虚拟机的异构环境上。
灵活的网络模型:自定义 Network/Subnet/IPInstance 多级模型,与底层的多 asw 对应,且支持预占用/黑名单 IP,可以更灵活地规划和使用网络。
高阶 IP 管理策略:支持有状态容器组(Workload)的 IP 指定和 IP 固定策略,能够帮助用户更友好地将有“IP 不变”限制的应用迁移上云。
兼容 k8s Service 语义:通过策略路由和透明网桥等内核特性,实现了 underlay 网络兼容 k8s 里基于 iptables 的 ClusterIP,能够让用户更深度和友好地体验 k8s。
支持 IPv4/6 双栈
社区/行业对比
功能对比
从功能的角度来讲,RAMA 由于 underlay 网络的选型,在 IP 固定、IP 指定、多网段多交换机支持、存量网络打通上具备得天独厚的优势,可以说基本对标和超越了很多业界标杆容器网络方案。除此之外,作为一个 underlay 网络方案,我们还在适配性、安全性和对 K8s 的兼容性上做了很多改进,也因此衍生出了更多的功能点,比如 Mac Nat、ARP Protection、完全兼容 kube-proxy 等。
性能对比
从性能的角度来讲,RAMA 基于 linuxbrdige、vlan、iptables、ip rule、ebtables 等基础内核网络能力,数据链路简单且高效,与宿主机网络基本仅有 10% 左右的性能损耗,超过大多数业界标杆容器网络方案。