Serverless For Frontend 前世今生

  尤其是到了 2019 这个时间点,未来一段时间内,有一个词 — Serverless 你会听到想吐。

  在 Web 1.0 的时代,大部分的 B/S 系统都采用的是 集中式架构,分为标准的三层(MVC):

  此时的主要矛盾在于:如何把那些有像素眼的 『美工』的天马行空的点子,高还原度的实现出来。

  然而艺术和代码之间的 Gap,对于很多缺乏艺术细胞的直男程序猿来说,是一件非常头疼的事。如何更好的提升用户交互体验,如何像素级的还原设计稿,都需要更高专业度的投入。

  同时,由于互联网的迅猛增长,集中式架构已经逐渐无法满足海量的访问,从而演进出 分布式架构 ,对研发的能力要求也进一步提升。

  前后端分离 一定程度上解决前后端的耦合问题,约定好接口后,前端可以直接 Mock 然后进行开发。

  前端第一次翻身,如火如荼的投入到 前端框架 和 前端工程化 的建设中,矛盾在一定程度上弱化了。

  随着后端 微服务化 的演进,开始走向深水区,服务下沉,趋向稳定,业务被划分为很多独立的微服务。

  前端框架 和 前端工程化 趋向稳定,同时前端也进入了移动时代,出现了跨平台、跨终端适配的场景,对用户体验提出的更高的要求,对首屏时间等性能指标越来越重视,且发布频度越来越快。

  简称之为 BFF,最重要的是:服务自治 ,谁使用谁开发,带来了灵活与高效。

  BFF 根据团队的技术栈来选型,在我们的业务场景中,相对较优,生态最活跃,最能被前端接受的 Node.js。

  BFF 层一直都存在,因为 领域模型 - UI 模型 的转换是必然会存在的,区别只是在于维护者是谁。

  BFF 的实践,在社区的分化严重,在大公司和创业公司比较受欢迎,但在话语权不强的中型公司,则举步维艰。

  作为国内前端的引航者,过去几年,我们蚂蚁体验技术部工程产品的同学,产出了很多效能产品,包括:

  但这些大部分还局限在 Pro Code 领域,离我们愿景中的终局还有很长的路要走。

  全栈人才的培养成本不低,包括前端需要学习后端 DevOps,后端需要学习前端的用户交互。

  像 DRM 的配置、Mobilegw 的配置,需要在每种环境中单独配置一遍。

  在 BFF 场景下,服务器水位较低(10% ~ 30%),基于微服务的高可用诉求导致了服务器资源的浪费。

  譬如在蚂蚁容灾要求下,至少需要 11 台 4C8G 的容器。据此估算,支撑内部上千个中台应用,则就至少需要约 2000 台 32 核物理机!!!

  全栈人才的培养成本不低,包括前端需要学习后端 DevOps,后端需要学习前端的用户交互。

  像 DRM 的配置、Mobilegw 的配置,需要在每种环境中单独配置一遍。

  在 BFF 场景下,服务器水位较低(10% ~ 30%),基于微服务的高可用诉求导致了服务器资源的浪费。

  譬如在蚂蚁容灾要求下,至少需要 11 台 4C8G 的容器。据此估算,支撑内部上千个中台应用,则就至少需要约 2000 台 32 核物理机!!!

  幸而阿里开始吹响了 云通未来 的号角,各集团军协同作战,让我们能借助兄弟团队的协作,向未来迈进一大步。

  作为『云通未来』的子战场之一,我们的目标依旧不变:提升前端的研发效能,以一当百。

  场景化:根据不同业务场景做垂直领域定制,减少不必要的干扰,专注于业务逻辑的开发。

  轻流程化:打破基建墙,一站式的接入三方服务,减少各种不必要的流程和工单,以代码为中心,声明即接入。

  Serverless 化:让应用能利用云平台实现资源的按需分配和弹性伸缩,从而减少资源浪费。

  自动化运维:DevOps → noops,减少研发对基础措施和运维的关注,交给我们这些专业的框架维护者。

  一句话阐述:让纯前端开发者,只需写几个 Function 即可使用到后端相关的能力。

  此时的研发角色划分,似乎又兜兜转转回到最初,但其实历史是螺旋上升的,表象一样,内在已然不同。

  未来已来,与其耳听八方,不如眼见为实,一起参与进来把生米煮成熟饭。返回搜狐,查看更多