我的 Serverless 实战 — Serverless 架构理念 ( 后端服务器发展 | Serverless 与 ServerFul | Serverless 定义 | 架构优缺点 )

本文涉及的产品
函数计算FC,每月15万CU 3个月
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
简介: 我的 Serverless 实战 — Serverless 架构理念 ( 后端服务器发展 | Serverless 与 ServerFul | Serverless 定义 | 架构优缺点 )

文章目录

一、后端服务器架构发展

二、Serverless 与 ServerFul

三、Serverless 定义

四、Serverless 优缺点

【本文正在参与 “100%有奖 | 我的Serverless 实战”征稿活动】活动链接






一、后端服务器架构发展


后端服务器架构发展 :


物理机 + 应用 : 初期是由开发者 自己购买服务器 , 托管在机房 , 部署运行环境 , 然后为其申请 IP 地址并绑定服务器 , 在服务器上运行相关服务器软件 , 如 Tomcat , Oracle 等 ; 该方案 , 除了开发之外 , 还要有硬件维护相关工作 ;


虚拟机 + 云平台 + 应用 : 将一台物理上的主机 , 分割为多个虚拟主机进行使用 , 服务器等硬件设备由云平台厂商提供 , 如阿里云 , 腾讯云等 ; 开发者可以直接购买虚拟机 , 如亚马逊的 EC2 , 阿里云的 ECS , 腾讯云的 CVM ; 在云平台中 , 可以将 数据库运行在云数据库中 , 相关的 文件资源可以存储在对象存储中 , 这样使用维护起来 , 使用更方便 , 风险更低 , 性能可以弹性伸缩 ; 服务器只需要处理业务逻辑 , 存储于功能分离开来 , 更加安全 ; 开发者不需要维护硬件 , 但是相关软件维护工作 , 还是需要花费很多精力 ;


容器 + 应用 : 使用虚拟机时 , 服务器每次扩容 , 都需要初始化先关的运行环境 , Docker 技术出现后 , 在虚拟化基础上 , 将运行环境和部署的业务绑定在一起 , 这样每次初始化服务器时 , 直接使用 Docker 容器直接部署即可 ;


容器编排 : 如果需要短时间内对服务器进行扩容 , 增加服务器吞吐量 , 那么就需要加入很多 Docker 容器 , 管理这些容器对应的技术就是容器的编排技术 , 进行容器编排工作 ;



Serverless 架构 , 就是为了解决上述运行环境问题而提出的 , 开发者可以只关心业务实现 , 不用再服务器 , 运维等方面花费太多的时间和成本 ,






二、Serverless 与 ServerFul


传统的后端开发方式可以理解成为 ServerFul , 服务器的一切细节 , 软件 , 硬件 , 数据库 , 网络 , 空间 等都需要开发者来关注 , 如果任意一个方面出现故障 , 都有可能造成整个系统宕机 ;


ServerFul 架构中 , 开发者需要关注 服务器弹性伸缩 , 负载均衡 , 异地容灾备份 , 性能监控 , 网络安全 , 负载均衡 , 数据 / 文件存储 , 等各种细节 , 这些需要投入大量的成本 ;



Serverless 是后端架构的一种概念 , 思维 ;


并不代表没有后台服务器 , 只是说将相关的服务器工作 , 尽最大可能托管给云平台 , 开发者不用关心服务器运维相关的工作 ;


借用该架构 , 开发者只需要开发相关应用业务逻辑 ; 后端的服务器 , 资源等的管理维护工作 , 交给云平台即可 ; 云平台负责调度管理上述服务器运维工作 ;



云平台基于上述理念 , 提供 Serverless 服务 , 由于没有统一的标准 , 每家云平台提供的云服务都略有差异 ;






三、Serverless 定义


Serverless 的定义 : 采用 Faas 和 Baas 服务解决问题的设计 ;


Faas : Function as a Service 函数即服务 , 云平台提供平台 , 开发者只负责开发运行管理业务逻辑 , 无需相关维护操作 ;


Bass : Backend as a Service 后端即服务 , 云平台提供整合云后端服务 , 如文件/数据存储 , 推送 , 登录验证等 ;


开发者只需要开发业务逻辑代码即可 , 相关的登录 , 注册 , 存储 , 使用 Bass 提供的服务即可 , 同时开发者将写好的代码提交到 Serverless 中 , Serverless 有一个专门运行逻辑代码的空间 , 这个空间就是 Faas ;


Faas 的本质就是函数运行平台 , 该平台支持各种主流语言 , 如 Java , Python , JavaScript 等 ; 开发者对 Fass 平台底层的服务器 , 硬件配置 , 系统环境 等无感知 ;






四、Serverless 优缺点


Serverless 特点 :


没有运维 : 开发者 不需要关心服务器的运维工作 ; 运维工作由云平台提供 ;


事件驱动 : Serverless 上部署的函数 , 不是随时都在运行 , 而是通过条件触发 , 如用户的 HTTP 请求 , GET / POST 请求等 ; 这些触发事件 , 称为触发器 , 集成在 Faas 平台 , 开发者可以直接调用 ; 传统的服务器 , 需要一直运行一个 Tomcat 服务器 , 如果该服务器宕机 , 用户则无法访问网站 ;


按量付费 : 按照 Faas 函数执行时所消耗的资源进行付费 , 如 CPU 性能占用及时长 , 内存使用量 , 显卡计算量 , 磁盘空间 等 ; 上述资源使用多少 , 就支付相应费用 , 如果不用 , 就不需要支付费用 ;


弹性伸缩 : Faas 的函数实例可以自动进行创建 / 销毁 , 其可以根据当前的需求并发量 , 自动创建 / 销毁函数实例 ; 每个函数的资源调用量不设上限 , 如果需要可以实时申请很多资源 ;


计算存储分离 : Serverless 的架构 计算 与 存储 分离 , Faas 负责计算 , Baas 负责存储 ;



Serverless 缺点 :


云平台依赖性强 : 对 云平台 依赖性很强 , 不同的云平台之间的标准不统一 , 一旦开发部署完毕 , 就 无法更换云平台 ,


调试困难 : 本地开发环境无法模拟云平台运行环境 , 相关的开发环境也不完善 ;




【本文正在参与 “100%有奖 | 我的Serverless 实战”征稿活动】活动链接


相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
相关文章
|
1月前
|
弹性计算 监控 负载均衡
|
22天前
|
运维 监控 负载均衡
slb后端服务器故障
slb后端服务器故障
41 13
|
22天前
|
存储 监控 调度
云服务器成本优化深度解析与实战案例
本文深入探讨了云服务器成本优化的策略与实践,涵盖基本原则、具体策略及案例分析。基本原则包括以实际需求为导向、动态调整资源、成本控制为核心。具体策略涉及选择合适计费模式、优化资源配置、存储与网络配置、实施资源监控与审计、应用性能优化、利用优惠政策及考虑多云策略。文章还通过电商、制造企业和初创团队的实际案例,展示了云服务器成本优化的有效性,最后展望了未来的发展趋势,包括智能化优化、多云管理和绿色节能。
|
1月前
|
负载均衡 监控 应用服务中间件
配置Nginx反向代理时如何指定后端服务器的权重?
配置Nginx反向代理时如何指定后端服务器的权重?
63 4
|
1月前
|
JavaScript
使用node.js搭建一个express后端服务器
Express 是 Node.js 的一个库,用于搭建后端服务器。本文将指导你从零开始构建一个简易的 Express 服务器,包括项目初始化、代码编写、服务启动与项目结构优化。通过创建 handler 和 router 文件夹分离路由和处理逻辑,使项目更清晰易维护。最后,通过 Postman 测试确保服务正常运行。
63 1
|
1月前
|
监控 负载均衡 算法
slb管理后端服务器
【10月更文挑战第18天】
39 5
|
1月前
|
关系型数据库 API 数据库
后端开发的艺术:从零到一构建高效服务器
在数字化时代,后端开发是支撑现代互联网应用的基石。本文旨在探讨后端开发的核心概念、关键技术以及如何构建一个高效的服务器。我们将从基础的编程语言选择开始,逐步深入到数据库设计、API开发和性能优化等关键领域。通过实际案例分析,我们将揭示后端开发的复杂性和挑战性,同时提供实用的解决方案和最佳实践。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的见解和启发。
|
23天前
|
弹性计算 API 持续交付
后端服务架构的微服务化转型
本文旨在探讨后端服务从单体架构向微服务架构转型的过程,分析微服务架构的优势和面临的挑战。文章首先介绍单体架构的局限性,然后详细阐述微服务架构的核心概念及其在现代软件开发中的应用。通过对比两种架构,指出微服务化转型的必要性和实施策略。最后,讨论了微服务架构实施过程中可能遇到的问题及解决方案。
|
1月前
|
Cloud Native Devops 云计算
云计算的未来:云原生架构与微服务的革命####
【10月更文挑战第21天】 随着企业数字化转型的加速,云原生技术正迅速成为IT行业的新宠。本文深入探讨了云原生架构的核心理念、关键技术如容器化和微服务的优势,以及如何通过这些技术实现高效、灵活且可扩展的现代应用开发。我们将揭示云原生如何重塑软件开发流程,提升业务敏捷性,并探索其对企业IT架构的深远影响。 ####
44 3
|
1月前
|
Cloud Native 安全 数据安全/隐私保护
云原生架构下的微服务治理与挑战####
随着云计算技术的飞速发展,云原生架构以其高效、灵活、可扩展的特性成为现代企业IT架构的首选。本文聚焦于云原生环境下的微服务治理问题,探讨其在促进业务敏捷性的同时所面临的挑战及应对策略。通过分析微服务拆分、服务间通信、故障隔离与恢复等关键环节,本文旨在为读者提供一个关于如何在云原生环境中有效实施微服务治理的全面视角,助力企业在数字化转型的道路上稳健前行。 ####

热门文章

最新文章

相关产品

  • 函数计算