干货推荐 : 华为应用市场 AppGallery Connect Serverless 全面解析

来源:IT之家2020-11-25 16:07:21

作为云计算产业公认的下一个技术风口,Serverless对于应用开发者来说已经是耳熟能详的概念了。根据第三方调研机构分析预测,2020年全球Serverless市场规模将达到76亿美元,而到2025年则会猛增到211亿美元,年均复合增长率高达22.7%。如今,云计算商业用户中有超过半数开发者在采用Serverless构建技术架构,可以看到Serverless将成为应用发展创新业务必备的技术之一。

那么,究竟什么才是Serverless的核心概念?Serverless诞生以来走过了怎样的路线?有哪些特征?在2020年11月24日举办的华为应用市场AppGallery Connect研习社·沙龙西安站上,华为Serverless资深架构师们为大家带来了Serverless的业界洞察与发展趋势展望。

一、Serverless概况与历史轨迹

1、Serverless特征

·低成本。开发者用函数编写应用后部署在云端,出现请求之后云端资源才会按需收费,显著降低了开发者的交付成本与使用成本。

·免运维。在Serverless方案中,云端服务的部署、升级、在线缩扩容等微服务时代的复杂操作都由后端服务来完成,大大减轻了开发者的运维负担。

·上线快。Serverless分为两大部分,一是FaaS,通过开发Function(函数)的形式实现业务逻辑;二是BaaS,也就是云存储、云数据库等后端服务。通过端侧直接访问后端服务、事件触发、端云同步、函数粒度的服务上线等机制,可极大缩短应用的迭代周期,提升业务的上线速度。

2、Serverless发展历史与驱动要素

自单体服务架构普遍转向微服务架构后,虽然传统存在的一些问题,诸如代码变更困难、维护成本高、上线周期长等障碍得到了解决,但由于微服务需要将架构解耦成众多独立的小模块,因此对这些模块进行部署、监控、弹性伸缩等生命周期运维工作就成为了一大挑战。

基于这样的背景,云服务厂商开始利用Serverless技术来帮助开发者解决微服务的运维需求。Serverless以云函数作为业务逻辑的基本计算单元,围绕云函数还有对象存储、数据库等队列实现BaaS后端服务,组成完整的Serverless应用来帮助开发人员的应用快速上线,并将开发者的精力从运维工作中解放出来,更多投入业务创新层面。

随着Serverless技术的发展,开源领域也有许多项目为开源FaaS贡献力量,从而使整个Serverless生态逐渐成长壮大。

3、从微服务到Serverless的演进

当下的微服务架构中,首选的架构设计方法就是领域驱动设计。领域驱动设计方法在落地时需要相当复杂的过程,拆分出来的时间、领域,所做的聚合都可能不够理想。随着架构演进,前期服务的解耦再组合也会产生相应的成本。相比之下,Serverless最大的优势是可以根据业务快速创新函数。业务流程的每一个步骤都可以映射为一个函数,从而实现一个业务逻辑来部署到云端,实现快速上线交付。现有微服务也可以将接口转换为函数,实现免运维的成果。

在编码测试层面,Serverless可以提供比微服务更小、更细粒度的代码实现,对应的测试单元体积也会更小,这些都能加快开发与测试的速度,缩短交付周期。

在交付和运维层面,Serverless架构中函数的发布与治理由平台负责,进一步加快了业务逻辑上线;运维的部署、升级、弹性缩扩容也是平台完成,因而可以从传统的DevOps演进为NoOps的状态。

二、AppGallery Connect Serverless服务

AppGallery Connect,简称AGC,是华为面向全球应用开发者的一站式服务平台。在沙龙上,华为团队为开发者们呈现AppGallery Connect Serverless服务的技术愿景与特色。

1、AppGallery Connect Serverless现状与愿景

AppGallery Connect Serverless的整体方案分为三大层面:

最上层对接行业解决方案,包括华为内部的音乐、视频等应用,以及第三方的快应用、快服务等。针对这些行业方案,华为Serverless生态会提供一些便捷的软件开发包。

中间层是AGC Serverless Framework,其中包括云函数、云存储、云数据库,形成BaaS+FaaS的综合体,共同帮助开发人员快速实现业务逻辑,卸除运维压力。

底层依赖华为云自身的IaaS和PaaS能力,提供坚实可靠的基础设施支持。

针对开发者的各种需求,华为Serverless提供了一系列Kit(云服务SDK),例如Auth ServiceKit、Function Kit、CloudDB Kit、Cloud Storage Kit等等。通过这些Kit,开发人员可以在端侧开发过程中专注于业务逻辑,并引用Kit完成对云端Serverless服务的调用。

针对行业的未来需求,华为Serverless也做了很多探索和创新:

为了提升开发效率,华为提供了统一的开发平台和云函数的市场,使开发者可以直接下载所需的能力来改进升级应用。

针对ARM、x86、GPU等不同类型的基础设施,华为通过异构计算的机制来分配函数调用,确保Serverless函数都可以在最合适的硬件上运行,从而提升效率、降低成本。

为了降低每次请求后的函数冷启动延迟,华为通过沙箱和代码压缩等技术,努力做到启动延迟低于100毫秒的目标。对于函数间调用,华为希望通过内部通信机制将现有的10毫秒左右延迟降低到1毫秒左右。

通过这些探索,华为希望使开发者更聚焦于业务创新,从而更好地拥抱技术风口,利用技术红利来实现业务升级,创造更多价值。

介绍完AppGallery Connect Serverless整体方案特点之后,华为应用市场团队又详细介绍了认证服务、云函数、云数据库、云存储和云托管五大服务的优势与使用方式。

2、认证服务

为简化开发者的认证系统构建过程,AppGallery Connect提供了托管式的认证服务,可以全方位保护开发者的数据安全。应用认证过程中涉及到的基础设施、登录逻辑、密码加密、网关对接与交付、可靠性、隐私、安全和性能优化等工作,都被华为认证服务包装成为了简单的接口调用。开发者只需在应用内集成SDK即可调用这些能力,轻松组装成适应各种需求的认证系统。认证服务在安卓、iOS、Web端,以及快应用端都提供了SDK,实现了跨平台支持。认证服务还支持邮箱、微信、QQ、微博、华为帐号、Facebook、Google等主流账户的认证集成。

华为认证服务提供了端侧和云侧SDK、管理配置门户界面。当应用的用户访问云数据库、云存储时,可基于认证服务的用户凭据进行数据访问安全控制。开发者在云函数内可以方便地从参数获取访问用户的凭据及身份信息。

认证服务的验证短信和验证邮件可自动适配全球78种语言,无需开发者干预;华为每月为开发者提供3万条免费短信,进一步降低了运营成本。

3、云函数服务

华为希望为开发者提供极简开发模式,简化微服务开发测试难度;同时帮助开发者实现免运维和自动弹性伸缩,降低运维和资源使用成本。

在华为云函数服务体系中有一个触发器概念,负责在业务状态数据变化时驱动函数自动执行。开发者只需完成函数开发并上传,绑定好触发器,全部工作就已经完成;剩余操作全部由Serverless自动处理,并向开发者通过多种监控指标呈现函数的运行状况。

云函数面向通用场景设计,移动应用绝大多数后端逻辑均可基于云函数开发。云函数还可快速对接第三方服务和API,并通过触发器和函数自定义代码整合AGC服务构建。

4、云存储服务

针对开发者的存储需求,华为云存储提供了方便易用的端侧和云侧SDK,使开发者将更多精力聚焦于业务场景。华为云存储可以帮助应用向全球分发内容。针对安全性和成本控制等需求,华为还提供了边缘节点、断点续传和网络加速能力,以及弹性伸缩、按需计费和自动运维等能力。

华为云存储在各个移动平台都提供了封装好的SDK,开发者只需集成并调用SDK即可实现业务能力。开发者无需关心服务器物料、CDN环境等即可自动完成运维工作。相比传统自行搭建存储平台的方式,华为云存储可以节约开发团队的大量人力、资金和时间,还能更好地监控应用运行状况,更弹性地应对峰值流量冲击。

5、云数据库服务

云数据库是一种可扩展的Serverless数据库,提供简单易用的端云SDK,适用于移动、网页和服务器开发。它可以使应用数据在端端、端云间自动同步,帮助开发者快速构建安全可靠和高度协同的应用。

开发者使用云数据库,只需集成简单的SDK即可完成业务实施,免去开发部署和运维的工作负担;云数据库还提供了接入安全、端云全密态数据管理、安全防护和攻击监测等安全能力,以及用户数据的离线支持;在性能方面,华为云数据库支持百万端侧用户并发,以及数据并发同步等。

6、云托管服务

华为云托管服务是另一项Serverless服务,使开发者可以在无云侧设备情况下向用户提供网页应用和静态页面访问,并依托云托管管理平台的一站式操作来完成版本部署。云托管服务具备历史版本回退能力,同时可以将自有品牌关联到华为网站。

华为云托管服务提供了丰富的CDN节点,可以自动分发资源满足流畅访问需求;服务内置配置证书以实现可信接入,并可对接云函数提供动态网页内容。

7、AppGallery Connect的其他服务

除上述Serverless服务外,华为应用市场AppGallery Connect平台还提供了质量服务来为开发者解决应用上线的质量控制难题。质量服务通过跟踪测量随时捕捉应用指标,并通过测试实验室的大规模自动测试来提早发现应用的问题隐患。

质量服务中的崩溃服务还可以自动监测线上用户的崩溃情况,生成可视化报告,方便开发者解决问题。

另一项关键服务是性能管理服务(APM),提供分钟级的应用性能监控能力。开发者可以在AppGallery Connect平台查看性能数据,快速发现并修复性能问题。开发者只需在应用内集成APM SDK即可自动开启性能分析。性能管理服务具有全流程、场景化、易集成、实时性和可视化几大特点,可以很好地满足开发者对于应用性能监测的各种需求。

通过本次沙龙的精彩分享,与会者不仅了解了Serverless技术的前世今生,对Serverless的各项优势有了深度认知,还全方位体会到了华为应用市场AppGallery Connect技术体系的强大能力。如今,随着华为应用市场在全球的快速成长,AppGallery Connect的Serverless服务也将迎来持续增长与进化,成为国内Serverless应用领域的佼佼者和领导品牌。

责任编辑:詹哲

标签: 华为 市场 应用 推荐 干货

相关文章

要闻

原创

最新

取消