Serverless,云计算3.0阶段

简介: Serverless是一种云计算服务模式,让开发者只需专注于编写业务逻辑代码,无需管理底层基础设施如服务器、存储和网络。相比传统Serverful架构,Serverless降低了运维成本,提高了开发效率,并通过弹性伸缩应对流量峰谷,按实际资源消耗付费,显著降低资源浪费和费用开销。

Hi~各位读者朋友们,感谢您阅读本文,我是笠泱,本期简单分享下Serverless。Serverless是一种云计算服务模式,为业务代码提供运行环境及调度服务。开发者只需专注于编写业务逻辑代码,无需管理底层基础设施(如服务器、存储和网络)。

什么是Serverless

“Serverless无服务器”术语最早出现在 2012 年,这一词的出现意味着开发人员不再需要考虑那么多的物理容量或其他基础设施资源管理责任,通过消除后端基础设施的复杂性,让开发人员可将注意力从服务器级别转移到任务级别。

Serverless无服务器被广泛关注,要追溯到亚马逊云科技2014 年推出的 Amazon Lambda 服务,随后各大厂商纷纷进入无服务器市场,Serverless逐渐被更多开发者所熟知,并逐渐成为一个发展“热词”。

Serverful架构

在传统Serverful架构下,产品架构复杂度较高,并伴随着固定成本的投入,运维成本高,开发效率低。

serverfull.png

Serverless架构

相对于Serverful,Serverless可以让业务人员无需关注服务器,仅聚焦于业务逻辑代码,平台为您准备好计算资源,可靠地运行任务,并通过弹性伸缩应对流量峰谷,只需为任务实际消耗的资源付费。

serverless.png

Serverless优势

Serverless分类

各大云平台的Serverless产品类型大同小异,以阿里云为例,主要分为函数计算(Function Compute,简称FC)和应用引擎 (Serverless App Engine,简称SAE)。

函数计算FC 是事件驱动的全托管计算服务。使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码或镜像。函数计算为您准备好计算资源,可靠地运行任务,通过弹性伸缩应对流量峰谷,并提供日志查询、性能监控和报警等功能。

应用引擎SAE 是一款零代码改造、极简易用、自适应弹性的应用全托管平台。SAE能够让您免运维IaaS和K8s,秒级完成从源代码、代码包、Docker镜像部署任意语言的在线应用(例如微服务、Job任务)到SAE,并自动伸缩实例按使用量计费,开箱即用日志、监控、负载均衡等配套能力。

计费方式

CU :全称Cost Unit,单位为CU,是阿里云推出的一种计费单位,其他计费项的资源使用量可以转换成CU使用量。

vCPU、内存等资源使用量与CU使用量的转换逻辑为:CU使用量=资源使用量×CU转换系数

具体计费规则详见:https://help.aliyun.com/zh/sae/serverless-app-engine-upgrade/product-overview/measurement-method

从上图我们可以看到Serverless采用了阶梯单价、按量付费模式,并且还支持根据活跃或闲置、昼夜分时灵活计价,将云的弹性几乎做到了极致。

工作流程

SAE 常用架构

SAE使用流程如下:

  1. 在首次部署SAE应用前,需要完成规划VPC、vSwitch、命名空间(区分测试、预发、生产等环境)的准备工作。除通过控制台部署应用外,SAE还支持通过Jenkins、IDE插件、Maven插件、Terraform、OpenAPI和云效等多种方式来部署应用。
  2. 通过以下方式访问SAE应用。
  1. SAE应用配置更多进阶功能。

例如,企业级权限控制、弹性(降本增效)、Java微服务增强、高可用、存储等功能。

FC 工作流程

函数计算(Function Compute,简称FC)是事件驱动的全托管计算服务。


FC使用流程如下:

  1. 开发者使用编程语言编写应用和函数。函数计算支持的开发语言,请参见代码开发概述
  2. 开发者上传应用到函数计算

上传途径包括以下方式。

  1. 触发函数执行。可以通过控制台或调用API触发,开发者也可以给函数计算配置事件源,终端用户执行事件发生时,自动触发函数执行。
  2. 函数计算支持根据用户请求量自动扩缩容。
  3. 根据实际执行时长和资源使用量进行计费。函数执行结束后,可以通过账单来查看函数执行产生的费用。

如何迁移

Serverless实践

开通

以阿里云的函数计算为例https://www.aliyun.com/product/fc

创建

基于基础环境

基于自定义镜像

Demo演示

以Web函数为例创建一个示例代码的函数

测试通过后,点击部署代码

可以根据提供的URL在公网访问

实现灰度发布

需注意的是JAVA 为编译型语言,直接修改代码不能直接生效!需要在FC的控制台右上角“导出代码”,然后根据 HELP.md 中的说明编译代码并重新上传。修改源代码让请求返回"Hello World - v2.0版本",然后mvn clean package重新编译。

上传v2.0版本的代码

创建别名,启用灰度发布

curl测试发现v1.0和v2.0版本各有50%概率被访问到

另外值得注意的是实例是阿里云函数计算 FC 用来运行函数的最小单元。您的请求就是通过函数实例来进行处理的。请求开始执行前,函数计算会为每个请求分配一个最合适的实例。注意:当前列表中仅展示了当前版本或别名的实例,您可以通过页面上方的版本或别名下拉框进行切换。提示:按量实例在处理完请求后会被冻结,如果一段时间内(一般为3~5分钟)不再处理请求,会自动销毁。点击这里了解如何手动停止实例。

通过函数计算平台可以快速创建各式各样的应用,并相互组合调用构成完整的业务链。

本期总结

本期内容简要介绍了Serverless技术,传统的Serverful模式下企业需要参照流量峰值长期保留固定IaaS资源,导致日常业务中的资源浪费,Serverless可以做到最小化闲置资源为原则,根据应用实际使用的资源按量计费,避免业务在不活跃时段的费用开销,大大降低资源成本,做到灵活策略,其底层技术就是容器、容器编排、K8S、HPA/VPA等技术,减少服务器租赁和运维成本以及基础环境的搭建成本,同时能获取业务极致弹性。。

最后,感谢您的阅读!系列文章会同步更新在微信公众号@云上的喵酱、阿里云开发者社区@云上的喵酱、CSDN@笠泱,您的点赞+关注+转发是我后续更新的动力!

相关实践学习
【AI破次元壁合照】少年白马醉春风,函数计算一键部署AI绘画平台
本次实验基于阿里云函数计算产品能力开发AI绘画平台,可让您实现“破次元壁”与角色合照,为角色换背景效果,用AI绘图技术绘出属于自己的少年江湖。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
相关文章
|
监控 Serverless 数据库
探索 Serverless 架构:云计算的新浪潮
【10月更文挑战第18天】Serverless架构,即无服务器架构,是一种新兴的云计算模式,让开发者无需管理服务器即可构建和运行应用。本文探讨了其核心概念、优势、挑战及最佳实践,强调了按需付费、自动扩展和开发效率等优点,同时也指出了冷启动、状态管理和调试监控等挑战。
|
监控 Serverless 数据库
探索 Serverless 架构:云计算的新浪潮
【10月更文挑战第23天】Serverless 架构是一种新兴的云计算范式,允许开发者构建和运行应用程序而无需管理服务器。本文深入探讨了 Serverless 的核心概念、优势、挑战及最佳实践,帮助开发者更好地理解和应用这一技术。
|
机器学习/深度学习 监控 Serverless
探索Serverless架构:云计算的新前沿
【10月更文挑战第26天】本文探讨了Serverless架构作为新兴的云计算范式,如何改变应用的构建和部署方式。文章介绍了Serverless的核心概念、优势和挑战,并提供了开发技巧和实用工具,帮助开发者更好地理解和利用这一技术。
|
运维 监控 Serverless
揭秘云计算中的Serverless架构:优势、挑战与实践
揭秘云计算中的Serverless架构:优势、挑战与实践
487 0
|
分布式计算 Serverless MaxCompute
Serverless 架构问题之Serverless架构助力云计算如何解决
Serverless 架构问题之Serverless架构助力云计算如何解决
130 1
|
运维 监控 Serverless
Serverless架构下的函数计算:重塑云计算的未来
【7月更文挑战第16天】Serverless架构下的函数计算作为云计算领域的一项重大创新,正以其独特的优势改变着应用开发和运维的方式。随着技术的不断成熟和完善,函数计算将在更多领域发挥重要作用,推动云计算技术向更加高效、灵活和智能的方向发展。对于开发者和企业来说,掌握函数计算技术将是把握未来云计算机遇的关键所在。
|
Web App开发 缓存 Serverless
Serverless 架构问题之云计算的形态演进如何解决
Serverless 架构问题之云计算的形态演进如何解决
156 0
|
运维 监控 Serverless
【专栏】无服务器架构,一种云计算模型,让开发者专注编写代码而不必管理服务器(Serverless)
【4月更文挑战第28天】无服务器架构,一种云计算模型,让开发者专注编写代码而不必管理服务器。它基于事件驱动,自动扩展资源并按需计费。优势包括缩短开发周期、优化资源利用、降低成本、提高可用性及简化维护。然而,冷启动延迟、调试困难、性能监控、安全性和学习曲线等挑战仍需解决。随着技术进步,无服务器架构将在科技发展中发挥更大作用。
339 2
|
物联网 数据挖掘 Serverless
Serverless 开拓无服务器时代:云计算的新趋势(下)
Serverless 开拓无服务器时代:云计算的新趋势(下)
Serverless 开拓无服务器时代:云计算的新趋势(下)
|
消息中间件 Serverless 云计算
Serverless 开拓无服务器时代:云计算的新趋势(上)
Serverless 开拓无服务器时代:云计算的新趋势(上)
Serverless 开拓无服务器时代:云计算的新趋势(上)

相关产品

  • 函数计算