云原生(Cloud Native)- 移动App研发新范式

简介: 什么是云原生(Cloud Native)App 云原生的话题近期异常火热,对于它的概念,大家也有不同的解读。从我个人的视角而言,云原生代表了一种应用构建的方法论:如何最大程度地利用云计算服务模型的优势低成本、快速地构建一款弹性的应用。

什么是云原生(Cloud Native)App
云原生的话题近期异常火热,对于它的概念,大家也有不同的解读。从我个人的视角而言,云原生代表了一种应用构建的方法论:如何最大程度地利用云计算服务模型的优势低成本、快速地构建一款弹性的应用。本质上而言,云原生的研发模型旨在降低业务的技术风险,让开发者的形态更单纯、专注:
所有的运行环境透明化,按需扩展;
所有的研发流程流水化,高效交付;
所有的基础设施服务化,按量付费;
image1
云原生应用

我们通常意义下的云原生应用意指传统的后端应用,Container、Microservice、DevOps构成了云原生研发架构的铁三角。对于移动App这类呈现重前端轻后端形态的产品而言,云原生有另一种诠释方式。移动App对比传统的后端应用研发有着较大的形态差异,应用本身构建在异构的OS平台之上,运行环境约束较多,依赖大量的后端服务支撑,应用本身的持续交付过程也包含了许多移动场景特有的元素,比如编译环境(iOS)、兼容测试、内测分发、渠道打包、灰度发布等等。从基础环境的支撑视角,云计算服务商面向移动App需要解决的几个核心问题包括:
跨平台;
移动App需要面对多个OS平台,在研发资源和迭代周期上都会带来巨大的挑战。一站式跨平台研发框架将有助于应用进入市场的节奏把控,屏蔽不同OS平台对App的影响。
松耦合;
移动App本身同样是一个非常庞大的体系工程,想象一下类似手机淘宝这样的航母级App所承载的服务内容,数十个团队并发协同一个版本的迭代是大型App的常态,所以一个松耦合结构的应用容器/脚手架是应用高速迭代的基础底座。
服务化组件;
基础组件的功能纯粹,通过云化的中间件和后端服务构建弹性的终端基础能力是性价比最高的一种软件构建方式。
快速迭代;
移动App特有的流程元素决定了开源的CI/CD服务不能完全满足移动App快速迭代的场景诉求。另一方面持续交付流程与云上的后端服务存在大量的交互,云化的持续交付/研发支撑平台将会是移动App生命周期管理的终极杀器。
按需扩展;
移动App的流量波动将更剧烈和频繁,按需扩展、弹性伸缩的基础服务支撑将有助于灵活的业务运营和成本的降低。
image2
云原生App架构

我们把基于上述云计算模型构建的移动App称为云原生App。在大家比较熟悉的概念中,围绕移动App衍生的一个很典型的云计算架构即Serverless。

Serverless
Serverless是当前软件架构领域非常火热的话题。从字面上看,大家或许会比较困惑,没有服务器,如何来托管服务实体?事实上Serverless是从用户视角出发的一种应用架构范式,即基于云服务的计算模型实现对业务逻辑的抽象封装、管理,而无需关心底层资源的运维管理和扩展。我们所熟知的BaaS(Backend as a Service)以及FaaS(Function as a Service)即是Serverless架构模型的实体化服务形态。比如,当你想创建一个天气服务,方便自己的应用或第三方的应用能够很方便的获取即时的天气数据时,你就可以基于FaaS + API Gateway快速构建一个独立的天气微服务,并对外开放,这就是一种非常典型的Serverless服务场景。
Serverless架构模型的核心价值体现在三个方面:
成本
传统的研发支出模型需要预先购置一批服务器设备,并按照使用周期内的预估业务峰值来量化预算的大小,不确定性因素较多,服务器资源的空置也会带来非常巨大的成本浪费。而Serverless的架构模型则实现了按需扩展、按量付费的弹性模型,让企业成本更高效可控。由于Serverless服务粒度的进一步打细,基于高效的bin-packing算法甚至可以获得对比弹性伸缩的虚拟机集群更高的使用效率。
运维
开发者不必再关心底层计算资源的容量与日常运维问题,所有基础设施维护将会由云计算服务商负责解决并对开发者透明。
效率
细粒度的Serverless计算模型非常适用运算密集型的场景,能够低成本地实现瞬时高强度脉冲计算能力。而传统架构为这样的脉冲计算场景则需要付出高昂成本的准备工作,环境搭建、容量压测、计算存储扩容、应用上线部署等等,这些隐性的时间资源成本更佐证了Serverless的核心价值。
Serverless意图把服务运行时封装在服务本身的交付体系中,面向开发者屏蔽与业务无关的基础环境支撑细节,是你能想象到的对应用逻辑最高等级的抽象。

云原生App对比传统研发架构的收益
基于Serverless的介绍,我们应该已经能看到云原生架构范式带来的不同,接下来我们一起系统化地对比一下云原生App与传统研发模型的核心差异点。
e
e2

阿里云对云原生App的支持
目前国内真正能够提供云原生App完整技术栈支持的供应商并不多,绝大多数都是以BaaS形态进行服务的垂直厂商。由于缺少App研发支撑解决方案以及和IaaS层的联动,这种类型的服务无法彻底利用移动App开发强内聚的场景特性,沦为单点的工具支撑,为开发者带来的效率提升也是相对有限和独立的。
阿里巴巴在移动互联网领域有近7年的研发经验积累,在移动技术不断深化的同时,移动开发范式也在快速演进,以支撑整个阿里巴巴体系内移动App的快速迭代和品质保障。下图展示了阿里巴巴Cloud Native App的架构范式。除了端+云的硬能力栈支撑外,阿里巴巴也开放了包括Android/iOS平台研发规约,移动研发DevOps规约在内的一系列软能力栈。软、硬能力栈背后蕴含的是对移动行业的深层认知与理解,绝非一朝之功。
image3
阿里巴巴Cloud Native App Paradigm

在阿里云平台上,我们很高兴通过ApsaraMobile(移动云)为大家开放阿里巴巴Cloud Native App的完整能力栈。阿里云ApsaraMobile(移动云)是阿里巴巴移动技术的开放平台,沉淀了阿里巴巴多年移动互联网系统架构积累,近期也和阿里百川进行了深度整合,是阿里生态移动技术与理念对外输出的主窗口。ApsaraMobile目前向开发者开放的能力如下图所示,已基本覆盖完整了云原生App的核心中轴。
image4
ApsaraMobile体系图

跨平台UI开发框架:WEEX-based MADP(Mobile App Development Platform)
WEEX是阿里巴巴开源的跨平台移动UI开发框架,并于16年底正式捐赠给Apache基金会进行孵化。WEEX
具备一次开发,三端(Android,iOS,H5)运行的能力,相对于H5来说,在使用相同的web化开发模式,保持较高的研发效率、较低的研发成本的同时,又具备接近Native的性能体验,非常适合需要快速迭代又对性能体验有一定要求的APP开发者。
移动App应用容器:Atlas
Atlas是阿里巴巴开源的Android端应用容器,提供解耦的组件化/插件化模块框架及动态化支持。帮助工程师解决在工程编码期、Apk运行期以及运维修复期面临的各种棘手问题。
在工程期,实现工程独立开发,调试的功能,工程模块独立。
在运行期,实现完整的组件生命周期的映射,类隔离等机制。
在运维期,提供快速增量的更新修复能力,快速升级。
目前,Atlas在阿里巴巴体系内部的应用十分广泛,手淘自身超过60+业务组件、20个协作团队,以及百万行级别代码都在Atlas上运行,其快速迭代能力让应用的发布周期从每月到每周再到随时发布,在过去半年里就发布了446次。另外Atlas本身非常轻量,只有90多个类,支持大小型App开发,从大型的手淘到相对小型的阿里健康等都在使用该框,其稳定性也接受了考验,兼容Android 4.x以上系统版本。整体手淘的Crash率一直维持在万分之五左右,因为容器导致的crash占比小于百分之一。
研发支撑平台:MobileHub
对于企业而言,单纯的购买虚机替代传统的物理机仅仅实现了基础资源的云化,这是云计算最初阶的使用模式。企业互联网+的真正标志应该是研发体系的互联网化,如何通过敏捷、DevOps、容器、分布式、Serverless等互联网形态的思维和架构来真正影响企业内部的产品体系结构和研发的日常运转形态,这才是云计算更高阶的价值传递。
MobileHub是阿里巴巴多年移动互联网行业沉淀、打磨的移动App研发支撑平台,支撑了阿里巴巴数个亿级App的完整生命周期全流程管理,从项目管理、持续集成、持续构建到自动化测试、版本管理、灰度发布、监控运维、用户运营等环节,整个工作流融入了阿里巴巴在移动互联网领域的深层认知与理解,是移动App研发体系中软能力栈的几个关键元素(机制、流程、方法论)的重要载体。
移动中间件与BaaS服务矩阵
移动中间件与BaaS服务负责了移动App基础设施能力的支撑,与App业务解耦,适合以云服务的形态帮助业务快速完成从0至1的基础建设。云化的移动中间件与BaaS服务本质上即是移动App Serverless架构的具象化实现。ApsaraMobile按照组件职能范畴把移动中间件划分为5个具体的职能域,如下图所示。
image5
ApsaraMobile移动中间件服务矩阵

对于绝大多数企业而言,中间件的建设并非位于业务的核心发展路径上,缺少持续深耕的源生动力。而云服务则可以通过规模化的服务来平摊基础技术研发的成本,在人才聚敛、资源投入、产品稳定性与性能等方面都具备绝对的优势,是整个移动生态分工细化和生产效率提升的重要表现。阿里巴巴在移动网络、移动高可用、消息、移动数据等领域积累了大量的场景能力,可以有效地帮助企业规避重复的能力建设和繁重的维护、演进成本。

结语
移动超越PC成为第一大流量入口,业务移动化已经成为几乎所有企业的核心战略之一,如何抓住时间窗口,以最快速度把产品推向市场,往往成为决定产品最终命运的关键元素。云计算带来的研发模式变化是巨大的,对于快速成长期的团队和企业而言,云原生的研发范式将带来较低的试错创新成本,真正助力创业进入“快消时代”。在整个移动开发生态的自然进化选择中,云原生势必将成为一种主流形态。

作者:阿里云 ApsaraMobile 杨镔(泠茗)

相关实践学习
【AI破次元壁合照】少年白马醉春风,函数计算一键部署AI绘画平台
本次实验基于阿里云函数计算产品能力开发AI绘画平台,可让您实现“破次元壁”与角色合照,为角色换背景效果,用AI绘图技术绘出属于自己的少年江湖。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
相关文章
|
8月前
|
人工智能 监控 数据可视化
微信养号脚本插件,全自动化工具,【autojs实现框架】
这是一套微信养号自动化脚本,包含主脚本`wechat_auto.js`和配置文件`config.json`。脚本实现自动浏览朋友圈、订阅号新闻文章及指定公众号历史文章三大功能,支持自定义滚动次数、阅读时长与运行时间等参数。特点包括随机化操作、多种浏览模式交替及完善的日志记录。配套UI模块提供可视化控制界面,方便监控任务状态与调整参数。下载地址:https://www.pan38.com/share.php?code=n6cPZ,提取码:8888(仅供学习参考)。
|
10月前
|
Cloud Native Serverless 流计算
云原生时代的应用架构演进:从微服务到 Serverless 的阿里云实践
云原生技术正重塑企业数字化转型路径。阿里云作为亚太领先云服务商,提供完整云原生产品矩阵:容器服务ACK优化启动速度与镜像分发效率;MSE微服务引擎保障高可用性;ASM服务网格降低资源消耗;函数计算FC突破冷启动瓶颈;SAE重新定义PaaS边界;PolarDB数据库实现存储计算分离;DataWorks简化数据湖构建;Flink实时计算助力风控系统。这些技术已在多行业落地,推动效率提升与商业模式创新,助力企业在数字化浪潮中占据先机。
534 12
|
人工智能 Cloud Native Java
从云原生视角看 AI 原生应用架构的实践
本文核心观点: • 基于大模型的 AI 原生应用将越来越多,容器和微服务为代表的云原生技术将加速渗透传统业务。 • API 是 AI 原生应用的一等公民,并引入了更多流量,催生企业新的生命力和想象空间。 • AI 原生应用对网关的需求超越了传统的路由和负载均衡功能,承载了更大的 AI 工程化使命。 • AI Infra 的一致性架构至关重要,API 网关、消息队列、可观测是 AI Infra 的重要组成。
54049 110
|
SQL 关系型数据库 MySQL
[ MySQL ] 使用Navicat进行MySQL数据库备份 / 还原(Part 2:备份.sql文件方式)
本文主要讲解如何用Navicat(Navicat Premium ,或者Navicat for mysql)进行MySQL备份和恢复数据库。 本文主要大纲为:使用Navicat备份.sql文件的方式进行备份和还原,其中包括还原自身数据库和还原到其他目标库。
1800 0
[ MySQL ] 使用Navicat进行MySQL数据库备份 / 还原(Part 2:备份.sql文件方式)
|
15天前
|
人工智能 自然语言处理 Shell
🦞 如何在 OpenClaw (Clawdbot/Moltbot) 配置阿里云百炼 API
本教程指导用户在开源AI助手Clawdbot中集成阿里云百炼API,涵盖安装Clawdbot、获取百炼API Key、配置环境变量与模型参数、验证调用等完整流程,支持Qwen3-max thinking (Qwen3-Max-2026-01-23)/Qwen - Plus等主流模型,助力本地化智能自动化。
29150 101
🦞 如何在 OpenClaw (Clawdbot/Moltbot) 配置阿里云百炼 API
|
4天前
|
应用服务中间件 API 网络安全
3分钟汉化OpenClaw,使用Docker快速部署启动OpenClaw(Clawdbot)教程
2026年全新推出的OpenClaw汉化版,是基于Claude API开发的智能对话系统本土化优化版本,解决了原版英文界面的使用壁垒,实现了界面、文档、指令的全中文适配。该版本采用Docker容器化部署方案,开箱即用,支持Linux、macOS、Windows全平台运行,适配个人、企业、生产等多种使用场景,同时具备灵活的配置选项和强大的扩展能力。本文将从项目简介、部署前准备、快速部署、详细配置、问题排查、监控维护等方面,提供完整的部署与使用指南,文中包含实操代码命令,确保不同技术水平的用户都能快速落地使用。
3995 0
|
10天前
|
人工智能 安全 机器人
OpenClaw(原 Clawdbot)钉钉对接保姆级教程 手把手教你打造自己的 AI 助手
OpenClaw(原Clawdbot)是一款开源本地AI助手,支持钉钉、飞书等多平台接入。本教程手把手指导Linux下部署与钉钉机器人对接,涵盖环境配置、模型选择(如Qwen)、权限设置及调试,助你快速打造私有、安全、高权限的专属AI助理。(239字)
5771 16
OpenClaw(原 Clawdbot)钉钉对接保姆级教程 手把手教你打造自己的 AI 助手
|
9天前
|
人工智能 机器人 Linux
OpenClaw(Clawdbot、Moltbot)汉化版部署教程指南(零门槛)
OpenClaw作为2026年GitHub上增长最快的开源项目之一,一周内Stars从7800飙升至12万+,其核心优势在于打破传统聊天机器人的局限,能真正执行读写文件、运行脚本、浏览器自动化等实操任务。但原版全英文界面对中文用户存在上手门槛,汉化版通过覆盖命令行(CLI)与网页控制台(Dashboard)核心模块,解决了语言障碍,同时保持与官方版本的实时同步,确保新功能最快1小时内可用。本文将详细拆解汉化版OpenClaw的搭建流程,涵盖本地安装、Docker部署、服务器远程访问等场景,同时提供环境适配、问题排查与国内应用集成方案,助力中文用户高效搭建专属AI助手。
4169 9
|
11天前
|
人工智能 机器人 Linux
保姆级 OpenClaw (原 Clawdbot)飞书对接教程 手把手教你搭建 AI 助手
OpenClaw(原Clawdbot)是一款开源本地AI智能体,支持飞书等多平台对接。本教程手把手教你Linux下部署,实现数据私有、系统控制、网页浏览与代码编写,全程保姆级操作,240字内搞定专属AI助手搭建!
5241 17
保姆级 OpenClaw (原 Clawdbot)飞书对接教程 手把手教你搭建 AI 助手