当前位置:首页 > 股票资讯 - 正文

无服务器如何在阿里巴巴实现规模落地? 建信股权投资基金

阿里巴巴,落地,规模,服务器时间:2021-03-06 14:03:35浏览:136
后台-插件-广告管理-内容页头部广告位(手机)

原标题:无服务器如何在阿里巴巴实现规模落地?

介绍:2020年,我们在无服务器的底层基础设施上做了非常大的升级,比如计算升级到神龙架构第四代,存储升级到盘古2.0,网络进入100 G洛神网络。整体升级后,性能提升2倍;BaaS级别也有了很大的扩展,如支持事件桥和无服务器工作流,进一步提高了系统能力。

一、无服务器大型登陆群的成就 2020年,我们对无服务器基础设施进行了一次非常大的升级。比如计算升级到第四代神龙架构,存储升级到盘古2.0,网络进入100 G洛神网络。整体升级后,性能翻倍;BaaS级别也有了很大的扩展,如支持事件桥和无服务器工作流,进一步提高了系统能力。

此外,我们还与集团内十几家BUs合作,帮助业务方登陆无服务器产品,包括双11的核心应用场景,并帮助他们成功通过双11流量峰值测试,证明无服务器在核心应用场景中的表现仍然非常稳定。

第二,两个背景两个优势——加速无服务器落地 1.无服务器两种背景

为什么能在集团内快速实现无服务器大规模落地?首先,我们有两个前提背景:

第一个背景是上云,这是集团的重要前提。只有上云才能享受云上的弹性红利。如果本身还是云,其实很难达到后续的效果和降低成本。所以2019年核心系统100%上云,在上云的前提下,无服务器有发挥非常重要作用的空间。

第二个背景是全面的云生物化学,它创建了一个强大的云原生产品云家族,增强了集团内部业务的能力,并帮助业务实现了基于云的两个主要目标:提高效率和降低成本。2020年天猫双十一核心系统将全面云原生化,效率提升100%,成本降低80%。

2.无服务器有两个优点

提高效率

对于一个标准的云原生应用,从R&D到上线到运维,需要完成上图中所有标为橙色的工作项,才能上线正式的微服务应用。一是建立CI/CD代码,二是系统运维可视化工作项,不仅需要配置对接,还需要整个数据链路的流量评估、安全评估、流量管理,显然需要非常高的人力门槛。此外,为了提高资源利用率,还需要混合各种业务,门槛会进一步提高。

可以看出,在整个云原生传统应用中,开发人员很难在线完成微服务所需的工作项,这些工作项需要多个角色来完成。但是在无服务器时代,开发者只需要完成上图中的蓝框编码,并跟进所有剩余的工作项。无服务器R&D平台可以直接帮助企业在线完成。

削减成本 提高效率主要是指节省人工成本,降低成本是针对应用资源的利用率。在常见的应用中,我们需要为高峰预留资源,但是低谷会造成很大的浪费。在无服务器场景下,我们只需要按需付费,拒绝为峰值预留资源,这是无服务器在降低成本方面最大的优势。

以上两个背景和优势符合云技术的趋势,所以集团内部的业务方一拍即合。一些大型BUs将无服务器升级到战斗级别,以加速业务着陆。目前群内无服务器场景已经很丰富了,涉及到一些核心应用,个性化推荐,视频处理,AI推理,业务检查等等。

第三,无服务器着陆场景——前端灯光应用 目前群内前端场景是使用最快、最广泛的场景,包括桃溪、高德、朱非、优酷、闲玉等10+ BUs以上。那为什么前端场景适合无服务器?

上图是全栈工程师的能力模型图。在一般的微应用中,有三个角色:前端工程师、后端开发工程师和运维工程师,他们共同完成应用的在线发布。为了提高效率,近年来出现了全栈工程师的角色。作为一个全栈工程师,他需要这三个角色的能力,这不仅需要前端应用开发技术,还需要后端系统层面的开发技巧,并注重底层内核和系统资源管理,对于前端工程师来说显然是非常高的。

近年来Node.js技术的兴起,可以取代后端开发工程师的角色。只要前端工程师有前端开发的能力,就可以扮演前端工程师和后端开发工程师两个角色,但是运维工程师是不可替代的。

无服务器平台解决了上面三角形结构中最底层的三层,大大降低了前端工程师换成全栈工程师的门槛,对前端业务开发人员很有吸引力。

还有一个原因是业务特点一致,大部分前端应用都有流量高峰的特点,这就需要对业务进行预评估,而且有评估成本;同时前端场景更新迭代快,上下快,运维成本高;并且缺乏动态伸缩能力,资源碎片化,资源浪费。而且如果使用无服务器的话,平台会自动帮你解决上面的所有烦恼,所以无服务器对前端场景很有吸引力。

1.前端着陆场景

上图列出了前端落地的几个主要场景和技术要点:

把BFF改造成SFF层:BFF主要是后端对前端,前端工程师做主要的运维。但是在无服务器时代,运维完全交给无服务器平台,前端工程师只需要写业务代码就可以完成这项工作。

瘦身:前端业务逻辑下沉到SFF层,重用逻辑,把运维能力交给无服务器平台,实现客户端轻量级,下沉效率提升功能。

云集成:一个多代码的应用,是一个非常流行的开发框架,也需要SFF作为支撑。

CSR/SSR:无服务器满足服务器端渲染和客户端渲染的要求,实现前端首屏快速显示。无服务器结合CDN整体可以作为前端加速解决方案。

NoCode:相当于无服务器平台上的打包。可以通过拖放几个组件来构建前端页面。每个组件都可以用无服务器进行打包和功能聚合,以达到无节点的效果。

中后台场景:主要是单一的富应用场景。单个应用可以完全在无服务器模式下管理,中后台应用可以启动,也可以节省运维能力,降低成本。

2.前端编码发生了变化

无服务器应用于前端场景后,编码发生了哪些变化?

了解前端的人都知道,前端一般分为三层:状态、视图和逻辑引擎。同时,一些抽象的业务逻辑会沉入FaaS层云功能,然后云功能作为FaaS API提供服务。在代码编写中,可以抽象出各种动作,每个动作都可以有FaaS函数API来提供服务。

以一个简单的页面为例,页面左侧有一些渲染界面,可以获取产品详情、发货地址等。,基于Faas API右边是一些交互逻辑,比如购买和添加,这些都是Faas API可以继续完成的任务。

在页面设计中,所有Faas API不仅可以被一个页面使用,还可以被多个页面重用。重用或者拖拽这些API之后,就可以组装前端页面了,对前端来说非常方便。

3.前端照明应用研发提高效率:1-5-10

在前端应用无服务器后,我们简单总结一下无服务器对前端R&D效率的提升为1-5-10,也就是说:

1分钟快速上手:我们总结各种主要场景,归类为应用模板。当每个用户或业务方开始新的业务时,只需要选择相应的应用启动模板,这将有助于用户快速生成业务代码。用户只需要编写自己的业务功能代码就可以快速启动。

5分钟在线应用:完全重用无服务器的运维平台,利用平台的自然能力帮助用户完成灰度发布等功能;并配合前端网关和流量切割完成加那利测试等功能。

10分钟故障排除:基于上线后的无服务器功能,提供业务指标或系统指标的显示,不仅可以设置报警,还可以在控制台上向用户推送错误日志,帮助用户快速定位和分析问题,并在10分钟内掌握整个无服务器功能的健康状态。

4.前端着陆无服务器效应

前端实现无服务器场景后效果如何?将传统应用R&D模式下的三个应用与Faas场景下的性能和所需工时进行比较,我们可以清楚地看到,在原始云的基础上,效率可以提高38.89%,这对于无服务器应用或前端应用非常有效。目前,无服务器场景几乎覆盖了整个集团,帮助业务方实现无服务器,实现提高效率和降低成本两大目标。

第四,技术输出,拓展新场景 在无服务器在集团落地期间,我们发现了许多新的业务需求,例如如何快速迁移现有业务和节省成本。执行时间可以增加或延长吗?资源配置可以上调吗?等等,我们针对这些问题提出了一些解决方案。基于这些解决方案,我们抽象出产品的一些功能,然后引入几个更重要的功能:

1.自定义镜像

自定义镜像的主要目的是实现股票业务的无缝迁移,帮助用户实现零代码转换,将业务代码完全迁移到无服务器平台。

股票业务的迁移是一个很大的痛点,一个团队不可能长期有两种R&D模式,会造成很大的内耗。为了让业务方迁移到无服务器R&D系统,有必要引入一个彻底的转换计划来帮助用户实现无服务器系统转换,这不仅需要支持新业务使用无服务器,还需要帮助现有业务实现零成本快速迁移,所以我们引入了定制容器功能。

传统网络单一应用场景的特点:

应用现代细粒度的责任划分、服务治理和其他运维负担; 历史包袱不易无服务器:云上云下的业务代码在依赖和配置上不统一; 容量规划、自建运维、监控系统; 资源利用率低(低流量服务垄断资源)。 函数计算+容器镜像优势:

低成本迁移单体的应用; 免操作维护; 无需容量规划的自动扩展; 100%资源利用率,优化闲置成本。 有了自定义容器功能,传统的单一Web应用(如SpringBoot、Wordpress、Flask、Express、Rails等。)可以镜像方式迁移到函数计算,无需任何修改,避免了低流量服务垄断服务器造成的资源浪费。同时还可以享受容量规划、自动缩放、免费送货等好处。

2.性能示例

高性能示例,减少使用限制,扩展更多场景。比如代码包从50M增加到500M,执行时间从10min增加到2h,性能规格比原来增加了4倍以上。它可以支持16G和32G的大规模例子,帮助用户运行一些耗时长的任务。

功能计算服务于很多场景,我们在服务过程中收到了很多需求,比如约束多、使用门槛高、计算场景资源不足等等。所以针对这些场景,我们引入了性能实例功能,目标是降低功能计算应用场景的使用限制和使用门槛,用户可以在执行时间和各种指标上根据需要灵活配置和配置。

目前我们支持的16核32G与同规格的ECS具有完全相同的计算能力,可以应用于AI推理、音视频转码等高性能业务场景。这个功能对于以后扩展应用场景非常重要。

挑战:

弹性实例的约束条件很多,有一定的使用阈值,比如执行时间、实例规格; 在传统的单一应用、音视频等重算场景下,需要对业务进行拆分和改造,增加负担; VCPU,内存,带宽和其他资源方面,灵活的例子没有给出明确的承诺。 目标:

降低函数计算的使用极限,降低企业使用门槛; 与传统应用程序和重新计算场景兼容; 给用户明确的资源承诺。 练习:

引入规格更高、资源承诺更明确的性能示例; 未来,性能实例将具有更高的稳定性SLA和更丰富的功能配置。 主场景:

计算任务,长时间运行的任务,灵活不敏感的任务。

音视频转码处理; AI推理; 其他要求高的计算场景。 优点:

除了放宽限制之外,性能示例还保留了当前功能计算产品的所有功能:按容量付费、预订模式、单实例和多请求、多事件源集成、多个可用区域的容灾、自动扩展、应用构建和部署,以及无需操作和维护。

3.链接跟踪

链路跟踪功能包括链路恢复、拓扑分析和问题定位。

一个正常的微服务可以在没有功能的情况下完成所有的工作,并且需要依赖于上游和下游服务。当上下游服务都正常时,一般不需要链路跟踪,但如果下游服务出现异常,如何定位问题?此时,您可以依靠链路跟踪功能来快速分析上下游性能瓶颈或定位问题的发生点。

功能计算还调查了该小组内外的许多开源技术解决方案。目前已经支持X-trace功能,并且兼容开源解决方案,拥抱开源,提供与OpenTracing兼容的产品功能。

上图是链接追踪的演示图。通过计算跟踪,可以直观地看到后端服务的数据库访问成本,避免了大量服务之间复杂的验证关系所带来的问题排查困难。函数计算还支持函数代码级的链接分析功能,帮助用户优化冷启动和关键代码实现。

无服务器产品从商业角度来看带来了巨大的利益,但是包装也带来了一个阶段性的问题——黑盒问题。我们在向用户提供链接跟踪技术的同时,也向用户暴露了黑盒问题,用户可以通过这些黑盒问题来提升自己的业务能力。这也是无服务器未来提升用户体验的方向,我们会继续加大这方面的投入,降低使用无服务器的成本。

挑战:

无服务器产品在业务上收益很大,但包装带来黑箱问题; 无服务器连接到云生态系统,大量云服务造成复杂的调用关系; 无服务器开发人员仍然需要链路恢复、拓扑分析、问题定位等等。 FC+x-trace的主要优势:

功能代码级链接分析有助于优化冷启动等关键代码的实现; 服务呼叫级链路跟踪有助于串联云生态服务和分布式链路分析。 4.异步配置

在无服务器场景下,我们提供离线任务处理、消息反向消费等功能,这些功能在功能计算中的利用率约占50%。在大量的消息消耗中,有许多异步配置问题经常受到业务方的挑战。比如这些信息是从哪里来的?又去哪里?什么服务?花费的时间?消费成功率如何?等等。这些问题的可视化/配置是目前需要解决的重要课题。

上图是异步配置的工作原理。首先从用户指定的事件源触发异步调用,函数计算立即返回请求ID。同时,还可以调用执行函数,将执行结果返回给函数计算或消息队列MNS。然后通过事件源可配置的触发器等等,这些效果或者主题可以被消费掉,消息也可以被再次消费掉。例如,如果消息无法处理,可以将其配置为二次处理。

典型应用场景:

第一种是事件闭环,比如分析交付结果(比如采集监控指标和报警配置);在生产事件中,客户不仅可以通过FC消费事件,还可以通过FC主动生产事件。 另一种是常规异常处理,如失败处理和重试策略。 第三,资源回收,用户可以定制库存时间,及时丢弃无用消息,节省资源,是异步场景下的一大优化。 作者简介:

赵庆杰(陆玲),目前在阿里云韵原生无服务器团队工作,专注于无服务器、PaaS、分布式系统架构等方向,致力于打造新一代无服务器技术平台,使平台技术更具包容性。曾在百度工作,负责国内最大的PaaS平台,承担了80%的在线业务,在PaaS方向、后端分布式系统架构等领域有着丰富的经验。

本文是阿里巴巴云的原创内容。未经允许不能转载回搜狐。查看更多

负责编辑:


以上就是无服务器如何在阿里巴巴实现规模落地?建信股权投资基金的全部内容了,喜欢我们网站的可以继续关注若晓股票网其他的资讯!
后台-插件-广告管理-内容页底部广告位(手机)