微服务过时了 - Serverless了解一下 | 🏆 技术专题第七期征文

本文涉及的产品
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
函数计算FC,每月15万CU 3个月
简介: 微服务过时了 - Serverless了解一下 | 🏆 技术专题第七期征文

一、2020年的服务端革命


你知道吗我们天天使用的石墨文档、微博、芒果TV都在全部或部分使用Serverless技术。


其实知乎也是用的leancloud。


技术的发展使我们有可能不花一分钱、不雇佣一个只强大的后端团队也可以建立一个媲美大厂的高可用服务端。


1. 石墨文档案例


网络异常,图片无法展示
|


石墨文档并不是使用了常规意义上的服务器或者微服务架构所支持的。而是通过Serverless架构生长在云端的。


阿里云函数计算(Function Compute)作为中国发展较早的事件驱动的全托管计算服务,已经落地了码隆科技、微博、芒果 TV、石墨文档等多个客户。我们一起看看中国的头部互联网企业是如何利用函数计算助力业务发展的。


客户需求


多位石墨文档的用户在同一文档 / 表格上协同编辑时,有可能对同一内容进行了修改,产生冲突。石墨文档需要实现一套服务来实时处理文档编辑冲突,并能在合理的成本下平滑处理峰值负载。


解决方案


将文档实时协作等计算密集型的逻辑实现为函数,通过 HTTP 请求触发函数执行。


使用效果


借助函数计算毫秒级别的资源伸缩能力,解决了早晚高峰用量突增的计算资源扩容问题,并节省了 58% 的服务器成本。 由于不用再考虑 CPU 密集型计算的负载均衡问题,大大提高了开发效率和进程稳定性。


2. Nodersurvey年度报告


Nodersurvey是由阿里巴巴、腾讯等公司领先的Node年度趋势报告。


网络异常,图片无法展示
|


nodersurvey.github.io/reporters/


在未来关键词中Serverless成为最被关注的话题。


网络异常,图片无法展示
|


二、什么是Serverless


服务器端服务就是为我们提供稳定可靠的服务,另外还要减低成本,提高效率。


比如:


  • 动态扩容 - 不需要的机器及时关掉


  • 减低成本 - 人员越少越好 能租的就不要买


为了达到这个目的,后端的目的不断的升级演进。


1. 互联网架构演进


网络异常,图片无法展示
|


互联网架构的演进大概分为以下三个阶段:


  • 单体时代


  • 微服务时代


  • Serverless


1.1 单体时代


相当于所有应用都安装在一台服务器中比如最早的网易和搜狐也许都是从一台Unix主机开始的。


网络异常,图片无法展示
|

网络异常,图片无法展示
|


这个有点像最原始的街机游戏 从硬件 + 软件 + 操作系统都是一个公司做的。


网络异常,图片无法展示
|


1.2 微服务时代


微服务架构是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦。它的主要作用是将功能分解到离散的各个服务当中,从而降低系统的耦合性,并提供更加灵活的服务支持。


网络异常,图片无法展示
|


简单的讲就是将复杂的事情拆开做。需要有庞大的团队。


这个有点像腾讯的王者荣耀团队。从年终奖的数额你就可以看到他们组织架构的庞大


网络异常,图片无法展示
|


网络异常,图片无法展示
|


网络异常,图片无法展示
|


1.3 Serverless


无服务器架构,并不是说不需要服务器,而是指由第三方云计算供应商以服务的方式为开发者提供所需功能,例如数据库、消息,以及身份验证等。它的核心思想是让开发者专注构建和运行应用,而无需管理服务器。


网络异常,图片无法展示
|


这相当于开发游戏我们只需要专注于程序逻辑就好了。其他全部外包。


让我想起了蓝洞开发吃鸡的时候,基本上3D模型、游戏引擎、都是从游戏市场购买然后组装。整个蓝洞的组织规模并不大。


网络异常,图片无法展示
|


2. 云服务架构演进


为了达到让我们的服务资源可以达到自动伸缩的目的,目前绝大多数数应用都是使用云技术完成的。


![image-20201114184313929](/Users/xiaran/Library/Application Support/typora-user-images/image-20201114184313929.png)


大家知道吗?其实后端程序员编写代码的比例不足百分之三十那么其余时间都在干什么?


随着云计算时代的到来传统的IT架构和运维方式带来了很多新的技术、其中包括虚拟机、容器、微服务。


这些技术为了一下目的:


  • 减低成本


  • 提高效率


网络异常,图片无法展示
|


如何能达到这个目的呢?答案应该是尽量减少业务用户的运维和IT架构工作量,专注构建自己的业务应用,剩下的交给云服务商。


前端开发 + 后端开发         =>         云开发   +   端开发


2.1 BareMetal 裸金属服务器


可以认为专属物理服务器租赁业务。这样就不需要租赁机房、拉光缆、装服务器了。


2.2 Virtual machines  虚拟机服务


用虚拟机代替实体机主要是免去了安装操作系统和基础软件的烦恼。


我们只需要租赁虚拟机就可以了。


网络异常,图片无法展示
|


2.3 Container 容器化部署


相当于轻量化虚拟机,主要是以Docker技术为代表。


网络异常,图片无法展示
|


2.4 Serverless


无服务器架构,并不是说不需要服务器,而是指由第三方云计算供应商以服务的方式为开发者提供所需功能,例如数据库、消息,以及身份验证等。它的核心思想是让开发者专注构建和运行应用,而无需管理服务器。


简单的说只需要上传代码就好了。


网络异常,图片无法展示
|


最终的结论就是


BareMetal Virtual machines Container Serverless
函数 业务代码
Layer eggjs/spring
运行时 Node/Java/Python
基础设施 Kubeless
硬件设备 网络、硬件


可以看到目前为止的最优解就是Serverless。


三、Serverless架构


有人说,


编程 = 算法 + 数据结构


那么,


应用 = 逻辑 + 存储 ,


我们可以将应用分为无状态的业务逻辑 和 状态服务组成。


Serverless(应用) =  Faas(业务逻辑) + Baas (状态保持)


如果想要在Serverless上面构建一个完整的服务我们就需要将程序分解为这两个部分。

我们以小程序为例


网络异常,图片无法展示
|


1. Faas


Faas即Function as a service ,我们一般会叫做函数计算,或者是函数运行服务。其实就是将云平台上的计算量打包转卖。只需要用户上传函数就好。


网络异常,图片无法展示
|


特点


  • Stateless 无状态


  • 代码 + 依赖配置


案例


网络异常,图片无法展示
|


  • 亚马逊 AWS lamabda


  • 谷歌 Google Cloud Functions


  • 阿里云 Aliyun FC



另外如果要函数可以通过Http请求调用还需要网关


  • AWS API网关


2. Baas


Bass即Backend as a Service, 后端即服务的意思是说我们可以租用远程的后端服务而无需自己编写。这里面用的比较多的就是状态保持服务,比如类MongoDB这样的存储服务、鉴权服务等。


特点


  • 有状态


  • 提供服务API


服务商


网络异常,图片无法展示
|


- LeanCloud


  • Firebase


四、应用场景


最后我们说说serverless的应用场景。


首先我认为所有想创业的朋友可以考虑直接将项目放在Serverless上面。


1. 创业项目


以一个toC的项目为了在获得融资前你的项目用户数量不会很多。及时有突发性的场景也可以很容易动态扩容。关键是可以有效的剩下一笔后端人员的费用。要知道如果找一个能够完整搭建微服务架构的后端团队一定是一个不菲的数字。而且团队是否靠谱和高效也是一个问题,给项目的推进带来很多不确定因素。


等有了投资,再说。


甚至你都不用花钱


网络异常,图片无法展示
|


链接在此


cloud.tencent.com/act/pro/ser…


网络异常,图片无法展示
|


2. 事件请求场景


  • 定制图片


  • 物联网


  • 埋点记录


  • 定时脚本


3. 高运维成本场景


  • 网页截图 - pupteer截图 + SSR渲染


  • 大数据计算


4.流量突发场景


  • 活动、大促


  • 规律场景 (外卖 每天有明显的峰谷)


网络异常,图片无法展示
|



  • 一个支持 vue3 的前端组件库


🏆 技术专题第七期 |万物皆可 Serverless


相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
5天前
|
运维 Kubernetes Cloud Native
云原生技术:容器化与微服务架构的完美结合
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术以其灵活性和高效性成为企业的新宠。本文将深入探讨云原生的核心概念,包括容器化技术和微服务架构,以及它们如何共同推动现代应用的发展。我们将通过实际代码示例,展示如何在Kubernetes集群上部署一个简单的微服务,揭示云原生技术的强大能力和未来潜力。
|
13天前
|
运维 持续交付 API
从零构建微服务架构:一次深度技术探索之旅####
【10月更文挑战第28天】 本文记录了作者在从零开始构建微服务架构过程中的深刻技术感悟,通过实战案例详细剖析了微服务设计、开发、部署及运维中的关键要点与挑战。文章首先概述了微服务架构的核心理念及其对企业IT架构转型的重要性,随后深入探讨了服务拆分策略、API网关选型、服务间通信协议选择、容器化部署(Docker+Kubernetes)、以及持续集成/持续部署(CI/CD)流程的设计与优化。最后,分享了在高并发场景下的性能调优经验与故障排查心得,旨在为读者提供一套可借鉴的微服务架构实施路径。 ####
52 3
|
5天前
|
监控 API 微服务
后端技术演进:从单体架构到微服务的转变
随着互联网应用的快速增长和用户需求的不断演化,传统单体架构已难以满足现代软件开发的需求。本文深入探讨了后端技术在面对复杂系统挑战时的演进路径,重点分析了从单体架构向微服务架构转变的过程、原因及优势。通过对比分析,揭示了微服务架构如何提高系统的可扩展性、灵活性和维护效率,同时指出了实施微服务时面临的挑战和最佳实践。
24 7
|
1月前
|
存储 运维 监控
Elasticsearch Serverless 高性价比智能日志分析关键技术解读
本文解析了Elasticsearch Serverless在智能日志分析领域的关键技术、优势及应用价值。
Elasticsearch Serverless 高性价比智能日志分析关键技术解读
|
6天前
|
Kubernetes Cloud Native Docker
云原生技术探索:容器化与微服务的实践之道
【10月更文挑战第36天】在云计算的浪潮中,云原生技术以其高效、灵活和可靠的特性成为企业数字化转型的重要推手。本文将深入探讨云原生的两大核心概念——容器化与微服务架构,并通过实际代码示例,揭示如何通过Docker和Kubernetes实现服务的快速部署和管理。我们将从基础概念入手,逐步引导读者理解并实践云原生技术,最终掌握如何构建和维护一个高效、可扩展的云原生应用。
|
19天前
|
监控 安全 Serverless
"揭秘D2终端大会热点技术:Serverless架构最佳实践全解析,让你的开发效率翻倍,迈向技术新高峰!"
【10月更文挑战第23天】D2终端大会汇聚了众多前沿技术,其中Serverless架构备受瞩目。它让开发者无需关注服务器管理,专注于业务逻辑,提高开发效率。本文介绍了选择合适平台、设计合理函数架构、优化性能及安全监控的最佳实践,助力开发者充分挖掘Serverless潜力,推动技术发展。
41 1
|
28天前
|
Cloud Native API 持续交付
利用云原生技术优化微服务架构
【10月更文挑战第13天】云原生技术通过容器化、动态编排、服务网格和声明式API,优化了微服务架构的可伸缩性、可靠性和灵活性。本文介绍了云原生技术的核心概念、优势及实施步骤,探讨了其在自动扩展、CI/CD、服务发现和弹性设计等方面的应用,并提供了实战技巧。
|
30天前
|
人工智能 文字识别 Java
SpringCloud+Python 混合微服务,如何打造AI分布式业务应用的技术底层?
尼恩,一位拥有20年架构经验的老架构师,通过其深厚的架构功力,成功指导了一位9年经验的网易工程师转型为大模型架构师,薪资逆涨50%,年薪近80W。尼恩的指导不仅帮助这位工程师在一年内成为大模型架构师,还让他管理起了10人团队,产品成功应用于多家大中型企业。尼恩因此决定编写《LLM大模型学习圣经》系列,帮助更多人掌握大模型架构,实现职业跃迁。该系列包括《从0到1吃透Transformer技术底座》、《从0到1精通RAG架构》等,旨在系统化、体系化地讲解大模型技术,助力读者实现“offer直提”。此外,尼恩还分享了多个技术圣经,如《NIO圣经》、《Docker圣经》等,帮助读者深入理解核心技术。
SpringCloud+Python 混合微服务,如何打造AI分布式业务应用的技术底层?
|
1月前
|
缓存 前端开发 Serverless
前端技术新趋势:从PWA到Serverless架构
【10月更文挑战第1天】前端技术新趋势:从PWA到Serverless架构
47 3
|
1月前
|
Kubernetes Cloud Native 云计算
云原生时代的技术演进:Kubernetes与微服务架构的完美融合
随着云计算技术的飞速发展,云原生概念逐渐深入人心。本文将深入探讨云原生技术的核心——Kubernetes,以及它如何与微服务架构相结合,共同推动现代软件架构的创新与发展。文章不仅剖析了Kubernetes的基本工作原理,还通过实际案例展示了其在微服务部署和管理中的应用,为读者提供了一条清晰的云原生技术应用路径。
73 2

热门文章

最新文章

相关产品

  • 函数计算