极致体验!基于阿里云 Serverless 快速部署 Function

简介: 云计算的不断发展,涌现出很多改变传统 IT 架构和运维方式的新技术,而以虚拟机、容器、微服务为代表的技术更是在各个层面不断提升云服务的技术能力,它们将应用和环境中很多通用能力变成了一种服务。但无论这些技术应用在哪里,帮助企业 “降本增效” 是技术变革永恒的主题。

作者:凌云Cloud


本文来源:Serverless 函数计算征集令活动


Serverless 前世今生


Serverless 背景介绍


云计算的不断发展,涌现出很多改变传统 IT 架构和运维方式的新技术,而以虚拟机、容器、微服务为代表的技术更是在各个层面不断提升云服务的技术能力,它们将应用和环境中很多通用能力变成了一种服务。但无论这些技术应用在哪里,帮助企业 “降本增效” 是技术变革永恒的主题。


Serverless 架构的出现,带来了跨越式的变革。Serverless 下主机管理、操作系统管理、基础软件的部署运维、资源分配和扩缩容能力全部由云厂商提供,把计算能力做成像水电煤一样的公共服务,这就意味着基于 Serverless 服务构建应用,开发者只需要专注在产品代码上,而无需管理和操作云端服务运行环境,计算资源从过去购买 “服务器” 转向购买对应的 “服务”。


Serverless = Faas (Function as a service) + Baas (Backend as a service)


1.png


Serverless 处理模型:


2.png


Serverless 开发模式


Serverless 真正做到了部署应用无需涉及基础设施的建设,自动构建、部署和启动服务。


以大数据应用开发举例:


3.png


在传统开发流程中,我们需要先根据大数据实际应用从采集,存储,清洗,关联,到分析挖掘全链路所涉及的组件列表,完成后端大数据平台一系列组件的安装部署,再等到大数据应用完成后,进行应用功能调试、应用+平台性能调优,最终测试、上线后,还需要大数据平台运维工程师对整个大数据平台进行维护。


整个过程涉及多个角色,而本身大数据平台的运维和调优具备一定的技术门槛,调优效果完全取决于自有员工的能力,而一个好的调优人员,就像一个好的数据库 DBA 一样,需要长期项目实践积累,属于关键稀缺人才。


基于 Serverless,所有事情变得非常简单了,云厂商以服务的形式对外提供大数据组件能力,以往复杂的平台搭建过程得到完全解放,只需要写完大数据应用程序后部署到 Serverless 服务即可,后续也不需要关心任何服务器以及大数据平台组件的运维、调优操作。


云厂商在对外提供服务的同时,背后都有一个完备的团队 7*24 提供专业的支撑。因此只需要大数据应用开发工程师即可完成所有工作。当然,如果具备一定的大数据平台能力,对大数据应用侧的性能调优也是非常有利的,往往可以事半功倍。


Serverless 核心价值


  • 降低运营复杂度
     

Serverless 架构使软件应用和服务器实现了解耦,服务器不再是用户开发和运营应用的焦点。在应用上线前,用户无须再提前规划服务器的数量和规格。在运维过程中,用户无须再持续监控和维护具体服务器的状态,只需要关心应用的整体状态。应用运营的整体复杂度下降,用户的关注点可以更多地放在软件应用的体验、改进以及其他能带来更高业务价值的地方。


  • 降低运营成本
     

服务器不再是用户关注的受管资源,运营的复杂度下降,应用运营所需要投入的时间和人力大大降低。在最好的情况下,可以做到少数几个应用管理员即可管理一个处理海量请求的应用系统。


  • 缩短产品的上市时间
     

在 Serverless 架构下,应用的功能被解构成若干个细颗粒度的无状态函数,功能与功能之间的边界变得更加清晰,功能模块之间的耦合度大大减小。这使得软件应用的开发效率更高,应用开发的迭代周期更短。


Serverless 实战项目体验


登录阿里云控制台


进入阿里云官网后,点击右上角登陆按钮,输入用户名和密码后登陆进入 Dashboard


4.png


进入函数计算 FC 服务


5.png


创建服务


6.png


输入服务名称再点击确定


7.jpeg


创建函数


8.png


输入函数名,选择运行时,点击创建;这里以 Node14 作为例子:


9.jpeg

10.jpeg


测试 hello world


11.png


看到 hello world 的返回,点击测试即可看到返回结果。

创建 API 网关:找到阿里云 API 网关服务


12.png

创建分组:

13.png

输入分组名称:


14.png


创建 API:


15.png


输入 API 名称,点击下一步:


16.png


选择 https,输入路由:


17.png


点击下一步,选择刚刚创建的函数计算:


18.png


输入发布描述,点击发布。


19.png


进入分组,找到 API 网关的临时地址:


20.png


通过 Postman 调用,即可获取到函数计算的返回值:


21.png


结语


一般来说,社会越发达、越成熟,社会分工就越明确,技术亦是如此。云计算经过这么多年的发展,逐渐进化到用户仅需关注核心业务和业务运行所需的资源,基础设施及平台统一由云厂商来负责看护。


阿里云 Serverless 让我们不需要再操心服务端的运维,不需要关心我们不熟悉的领域,只需要专注于业务的开发、专注于产品的实现。我们需要关心的事情变少了,也意味着我们能做的事情更多了。


可以说,随着 Serverless 架构的兴起,真正的云计算时代才算到来了。相信随着技术的飞速发展,Serverless 在未来还有无限可能!




阿里云 Serverless 近期热门活动


22.jpeg


2022 阿里云 Serverless Developer Meetup 杭州站火热报名中!


本次沙龙特别邀请到阿里云、高德地图的 Serverless 一线技术专家,分享当前 Serverless 架构 CICD 的最新探索研究;带来 Serverless 在高德业务体系中的降本增效实践;全视角解析 Serverless 原子化能力是如何提升研发效能,增强开发幸福感。更有 Serverless Workshop 等你来玩,手把手带你体验 1 分钟极速部署的乐趣,感受 Severless 算力之美。免费报名即可参加活动,我们准备了超多周边礼品,等你一起来 Serverless!


  • 时间:9月17日(周六)13:00
  • 地点:阿里巴巴西溪园区B区访客中心


点击此处,立即报名!

相关实践学习
【玩转ComfyUI】基于函数计算一键部署AI生图平台ComfyUI
本次实验将带大家通过使用阿里云产品函数计算FC,快速使用ComfyUI实现更高质量的图像生成。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
相关文章
【Azure 应用服务】Azure Function 部署槽交换时,一不小心把预生产槽上的配置参数交换到生产槽上,引发生产错误
【Azure 应用服务】Azure Function 部署槽交换时,一不小心把预生产槽上的配置参数交换到生产槽上,引发生产错误
225 0
|
Java Windows
【Azure Function】部署Java Function失败:报错deploy [ERROR] Status code 401和警告 'China North 3' may not be a valid region
1:deploy [ERROR] Status code 401, (empty body). 2: China North 3 may not be a valid region,please refer to https://aka.ms/maven_function_configuration#supported-regions for values. 3:  <azure.functions.maven.plugin.version>1.36.0</azure.functions.maven.plugin.version>
638 11
|
Linux Python
【Azure Function】Python Function部署到Azure后报错No module named '_cffi_backend'
ERROR: Error: No module named '_cffi_backend', Cannot find module. Please check the requirements.txt file for the missing module.
565 2
|
Python
【Azure 应用服务】Python Function App重新部署后,出现 Azure Functions runtime is unreachable 错误
【Azure 应用服务】Python Function App重新部署后,出现 Azure Functions runtime is unreachable 错误
236 2
|
Java Maven
【Azure Function App】Java Function部署到Azure后出现中文显示乱码问题
【Azure Function App】Java Function部署到Azure后出现中文显示乱码问题
227 1
【Azure Function App】在VS Code中,创建好Function App后部署到Azure中,无法选择Subscriptions
【Azure Function App】在VS Code中,创建好Function App后部署到Azure中,无法选择Subscriptions
206 0
|
API C++
【Azure 应用服务】Azure Function App在部署时候遇见 503 ServiceUnavailable
【Azure 应用服务】Azure Function App在部署时候遇见 503 ServiceUnavailable
239 0
|
Linux C++ Docker
【Azure Developer】在Github Action中使用Azure/functions-container-action@v1配置Function App并成功部署Function Image
【Azure Developer】在Github Action中使用Azure/functions-container-action@v1配置Function App并成功部署Function Image
351 0
|
C++ Python
【Azure 应用服务】Azure Function Python函数部署到Azure后遇见 Value cannot be null. (Parameter 'receiverConnectionString') 错误
【Azure 应用服务】Azure Function Python函数部署到Azure后遇见 Value cannot be null. (Parameter 'receiverConnectionString') 错误
351 0

相关产品

  • 函数计算