产品战略专家梁宁确认出席AICon北京站,分享AI时代下的商业逻辑与产品需求 了解详情
写点什么

Cloud Native App:阿里推出的移动开发新范式

  • 2017-10-22
  • 本文字数:3880 字

    阅读完需:约 13 分钟

什么是云原生(Cloud Native)App

云原生的话题近期异常火热,对于它的概念,大家也有不同的解读。从我个人的视角而言,云原生代表了一种应用构建的方法论:如何最大程度地利用云计算服务模型的优势低成本、快速地构建一款弹性的应用。本质上而言,云原生的研发模型旨在降低业务的技术风险,让开发者的形态更单纯、专注:

  • 所有的运行环境透明化,按需扩展;
  • 所有的研发流程流水化,高效交付;
  • 所有的基础设施服务化,按量付费;

我们通常意义下的云原生应用意指传统的后端应用,Container、Microservice、DevOps 构成了云原生研发架构的铁三角。对于移动 App 这类呈现重前端轻后端形态的产品而言,云原生有另一种诠释方式。移动 App 对比传统的后端应用研发有着较大的形态差异,应用本身构建在异构的 OS 平台之上,运行环境约束较多,依赖大量的后端服务支撑,应用本身的持续交付过程也包含了许多移动场景特有的元素,比如编译环境(iOS)、兼容测试、内测分发、渠道打包、灰度发布等等。从基础环境的支撑视角,云计算服务商面向移动 App 需要解决的几个核心问题包括:

  • 跨平台:

移动 App 需要面对多个 OS 平台,在研发资源和迭代周期上都会带来巨大的挑战。一站式跨平台研发框架将有助于应用进入市场的节奏把控,屏蔽不同 OS 平台对 App 的影响。

  • 松耦合:

移动 App 本身同样是一个非常庞大的体系工程,想象一下类似手机淘宝这样的航母级 App 所承载的服务内容,数十个团队并发协同一个版本的迭代是大型 App 的常态,所以一个松耦合结构的应用容器 / 脚手架是应用高速迭代的基础底座。

  • 服务化组件:

基础组件的功能纯粹,通过云化的中间件和后端服务构建弹性的终端基础能力是性价比最高的一种软件构建方式。

  • 快速迭代:

移动 App 特有的流程元素决定了开源的 CI/CD 服务不能完全满足移动 App 快速迭代的场景诉求。另一方面持续交付流程与云上的后端服务存在大量的交互,云化的持续交付 / 研发支撑平台将会是移动 App 生命周期管理的终极杀器。

  • 按需扩展:

移动 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 与传统研发模型的核心差异点。

阿里云对云原生 App 的支持

目前国内真正能够提供云原生 App 完整技术栈支持的供应商并不多,绝大多数都是以 BaaS 形态进行服务的垂直厂商。由于缺少 App 研发支撑解决方案以及和 IaaS 层的联动,这种类型的服务无法彻底利用移动 App 开发强内聚的场景特性,沦为单点的工具支撑,为开发者带来的效率提升也是相对有限和独立的。

阿里巴巴在移动互联网领域有近 7 年的研发经验积累,在移动技术不断深化的同时,移动开发范式也在快速演进,以支撑整个阿里巴巴体系内移动 App 的快速迭代和品质保障。下图展示了阿里巴巴 Cloud Native App 的架构范式。除了端 + 云的硬能力栈支撑外,阿里巴巴也开放了包括 Android/iOS 平台研发规约,移动研发 DevOps 规约在内的一系列软能力栈。软、硬能力栈背后蕴含的是对移动行业的深层认知与理解,绝非一朝之功。

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

跨平台 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 个具体的职能域,如下图所示。

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

结语

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

本文已获原文作者方授权发布。

原文链接: https://yq.aliyun.com/articles/217376


感谢徐川对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-10-22 19:002944

评论

发布
暂无评论
发现更多内容

数字孪生搭高台,温控节能唱新戏

鲸品堂

数字孪生 建模 智慧机房

【升职加薪秘籍】我在服务监控方面的实践(1)-监控蓝图

蓝胖子的编程梦

elasticsearch 性能优化 Grafana 服务监控 #Prometheus

软件测试 | MySQL存储引擎

测吧(北京)科技有限公司

测试

软件测试 | MyISAM是什么

测吧(北京)科技有限公司

测试

亚信安慧荣获第二届“鼎信杯”优秀技术支撑奖

亚信AntDB数据库

数据库 AntDB AntDB数据库 企业号 7 月 PK 榜

安全文件传输:如何降低数据丢失的风险

镭速

文件传输 安全文件传输

DevOps国际峰会 | 采访龙智总经理,分享DevOps见解与行业趋势

龙智—DevSecOps解决方案

DevOps 金融行业 devops国际峰会

软件测试 | MySQL字符集的设置

测吧(北京)科技有限公司

测试

软件测试 | MySQL字符集的修改步骤

测吧(北京)科技有限公司

测试

2023年秋招最新版牛客网Java面试题及答案整理(持续更新)

架构师之道

Java 面试

香港中文大学携手PingCode打造运维管理解决方案

爱吃小舅的鱼

PingCode 香港中文大学

比AD更好用的“PCB设计文件转生产文件”工具

华秋PCB

软件 工具 AD PCB PCB设计

Docker的架构与安装

timerring

Docker

出海是产业互联网发展的必然趋势之一

用友BIP

产业互联网 中企出海

全网最强分布式事务详解

程序员小毕

Java 分布式 分布式事务 后端 架构师

数字孪生(Digital Twin)快速入门:简介以及应用示例

龙智—DevSecOps解决方案

数字孪生 digital twin

第二届粤港澳大湾区(黄埔)国际算法算例大赛正式开启报名

ModelWhale

算法大赛 琶洲 院士 数据科学竞赛 算法赛

我也创业了!

Serverless Devs

人工智能 Serverless 云原生

网关改造正当时,跟学 HigressOps 夏季营

阿里巴巴云原生

西安航天基地人才创新创业大赛正式启动

华为云PaaS服务小智

西安 大赛 比赛 西安航天 企业人才

第二届“鼎新杯”数字化转型应用大赛-全国入围赛结果公示及最佳人气案例投票启动

信通院IOMM数字化转型团队

数字化转型 IOMM 鼎新杯

一份数据满足所有数据场景?腾讯云数据湖解决方案及DLC内核技术介绍

腾讯云大数据

数据湖

故障注入的方法与工具

DevOps和数字孪生

故障注入 汽车行业

和鲸 ModelWhale 与麒麟系统适配认证,打造自主安全、性能可靠的信创 AI 基础软件

ModelWhale

人工智能 信创 国产 麒麟软件 数据科学平台

容灾切换时间减少 99%,“云边协同”如何提升影演服务效率与稳定性

阿里巴巴云原生

阿里云 云原生

MySQL能用OFFSET分页查询吗

fm

MySQL

户外LED显示屏怎样在5G时代下发展?

Dylan

5G 广告 数字化 城市 户外LED显示屏

别再说调试器不好用了!

高端章鱼哥

前端 调试器

Stepn跑鞋/Jogger慢跑者NFT系统开发案例

薇電13242772558

NFT

业财税档融合:大企业管理升级的必然选择

用友BIP

税务云 业财税档融合

Cloud Native App:阿里推出的移动开发新范式_语言 & 开发_Apsara Mobile_InfoQ精选文章