开发函数计算的正确姿势 —— Fun 自动化 NAS 配置

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
函数计算FC,每月免费额度15元,12个月
简介: 开发函数计算的正确姿势 —— Fun 自动化 NAS 配置 1. 前言 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。

1. 前言

首先介绍下在本文出现的几个比较重要的概念:

函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。函数计算更多信息 参考

Fun: Fun 是一个用于支持 Serverless 应用部署的工具,能帮助您便捷地管理函数计算、API 网关、日志服务等资源。它通过一个资源配置文件(template.yml),协助您进行开发、构建、部署操作。Fun 的更多文档 参考

NAS: 阿里云文件存储NAS是一个可共享访问,弹性扩展,高可靠,高性能的分布式文件系统。在函数计算的场景中,由于其有代码包的限制,可以使用 NAS 存放一些不经常变动的文件,比如数据模型、静态资源等。参考

备注:请确保 Fun 工具版本在 2.16.0+

在很多函数计算的实战文章里,比如《开发函数计算的正确姿势——tensorflow serving》,我们都通过 NAS 存放一些体积比较大且不易变动的资源。这使得即使在依赖比较大的场景下,我们依旧可以借助于函数计算快速开发一个 Serverless 应用。 NAS 在帮助函数计算解决大依赖问题的同时,由于其自身 NAS 本身的配置也比较复杂,也增加了函数计算的使用难度。

为了简化使用 NAS 的体验,我们在 Fun 2.16.0 添加了一个新的配置项 NasConfig: Auto 。通过该属性,可以一键将 nas 及其依赖的 vpc 资源一同创建出来。

下面,我们先回顾下传统的 NAS 配置方法,再介绍下新的 NAS 配置方法,看新的配置方法是如何实现简化 NAS 配置步骤的效果的。

2. 传统的配置方式

《开发函数计算的正确姿势 —— 本地运行、调试、发布 NAS 函数》中,我们已经介绍过,如何在配置、调试、发布函数计算与 NAS 服务。

从文章中的介绍来看,通常情况下,为了在函数计算中使用 NAS 服务,我们通常需要经过以下几个步骤:

  1. 登陆 vpc 控制台,依次创建

    1. 专有网络
    2. 创建交换机
    3. 创建安全组
  2. 登陆 nas 控制台,依次创建

    1. 文件系统
    2. 添加挂载点
  3. 编写 template.yml,复制上面步骤创建好的资源,并编写 [VpcConfig]() 以及 NasConfig 的配置

完成上面的步骤后,template.yml 的内容如下:

ROSTemplateFormatVersion: '2015-09-01'
Transform: 'Aliyun::Serverless-2018-04-03'
Resources:
  nasDemo:
    Type: 'Aliyun::Serverless::Service'
    Properties:
      VpcConfig:
        VpcId: 'vpc-bp12hm92gdpcjtai7ua82'
        VSwitchIds: [ 'vsw-bp1gitru7oicyyb4uiylj' ]
        SecurityGroupId: 'sg-bp1243pi65bw4cjj4bks'
      NasConfig: 
        UserId: 10003
        GroupId: 10003
        MountPoints: 
          - ServerAddr: '012194b28f-ujc20.cn-hangzhou.nas.aliyuncs.com:/'
            MountDir: '/mnt/nas'

最后使用 fun local 或者 fun deploy 就可以进行调试以及部署了。

3. 新的配置方式

如果仅仅想使用 nas,但又不想关心专有网络、交换机、挂载点等相关概念,可以直接使用 Fun 2.16.0 提供的新的配置 NasConfig: Auto 。

一个使用了 NasConfig 的服务示例如下:

ROSTemplateFormatVersion: '2015-09-01'
Transform: 'Aliyun::Serverless-2018-04-03'
Resources:
  nasDemo:
    Type: 'Aliyun::Serverless::Service'
    Properties:
      NasConfig: Auto

有了 NasConfig: Auto ,不需要声明 VPC 的配置以及 NAS 的配置,在使用 fun deploy 时,Fun 会自动生成相关的配置。

部署日志类似如下: 

Waiting for service nasDemo to be deployed...
    ... ...
    using 'VpcConfig: Auto', Fun will try to generate related vpc resources automatically
        ... ...
    generated auto VpcConfig done:  {"vpcId":"vpc-bp1pcr7o8ksmgojt4rfws","vswitchIds":["vsw-bp13qdw9qe1i2it4y0700"],"securityGroupId":"sg-bp161u0547x0lq5k6i5x"}
    using 'NasConfig: Auto', Fun will try to generate related nas file system automatically
        ... ...
    generated auto NasConfig done:  {"UserId":10003,"GroupId":10003,"MountPoints":[{"ServerAddr":"0294c4a7ac-vrk7.cn-hangzhou.nas.aliyuncs.com:/nasDemo","MountDir":"/mnt/auto"}]}
    Checking if nas directories /mnt/auto/nasDemo exists, if not, it will be created automatically
    Checking nas directories done ["/mnt/auto/nasDemo"]
    ... ...
service nasDemo deploy success

从上面的部署日志可以发现,由于多了 NasConfig: Auto 的配置,部署操作会自动比传统配置方式多几步:

  1. 自动创建 VPC 相关的资源
  2. 自动创建 NAS 相关的资源
  3. 检测在函数计算配置的挂载目录是否存在,如果不存在,则自动创建

经过上面三步自动化的操作,我们就可以直接在函数计算使用 NAS 服务了。 

注意:

  1.  NasConfig: Auto 的部署效果是幂等的,即,如果依赖的相关资源不存在,则会自动创建,如果相关资源已经存在,则会直接使用相关资源。
  2. fun local、fun deploy 均支持 NAsConfig: Auto 配置
  3. 使用 NasConfig: Auto 时,NAS 文件系统会被自动挂载到函数计算运行环境的 /mnt/auto 目录

4. 总结

相对于传统的 NAS 配置方法,新的配置方法可以极大的减少了用户配置 NAS 服务与函数计算的步骤。通过新的配置方法,用户可以更方便的在函数计算中使用 NAS 服务存放数据模型、语言依赖等资源。

5. 更多参考

  1. Fun 首页 
  2. 开发函数计算的正确姿势——tensorflow serving
相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
相关文章
|
4天前
|
JSON JavaScript 开发者
Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
【8月更文挑战第7天】Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
|
20天前
|
运维 Serverless API
函数计算产品使用问题之如何配置单实例的并发数
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
20天前
|
存储 Java Serverless
函数计算产品使用问题之Custom Runtime函数的详细配置包括哪些
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
20天前
|
存储 运维 Serverless
函数计算产品使用问题之NAS文件管理在什么地方
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
20天前
|
存储 运维 监控
函数计算产品使用问题之如何在控制台配置HTTP触发器并使用HTTP请求触发
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
21天前
|
存储 Serverless API
函数计算产品使用问题之部署SD后,如何配置自己的域名
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
20天前
|
运维 Serverless 测试技术
函数计算产品使用问题之如何配置一个应用对应多个函数
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
4天前
|
Shell 网络安全 Python
网络工程师如何在ensp模拟器上玩python自动化配置交换机。
网络工程师如何在ensp模拟器上玩python自动化配置交换机。
|
6天前
|
运维 监控 大数据
深入探讨网络自动化的魅力所在,以及如何利用Python这一强大工具,实现网络设备的批量配置与监控
在信息洪流的浪潮中,网络自动化如同一盏明灯,引领着我们穿越复杂网络管理的迷雾。它不仅简化了网络运维人员的工作,更是在大数据、云计算等技术飞速发展的背景下,成为了构建高效、稳定网络环境的关键。本文将深入探讨网络自动化的魅力所在,以及如何利用Python这一强大工具,实现网络设备的批量配置与监控,以此展现网络自动化在简化复杂网络管理中的重要作用。
17 0
|
20天前
|
人工智能 运维 Serverless
函数计算产品使用问题之如何实现NAS的挂载
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。

热门文章

最新文章

相关产品

  • 函数计算