WO2020124459A1 - Method employing hybrid-cloud computing platform to provide serverless function as a service - Google Patents

Method employing hybrid-cloud computing platform to provide serverless function as a service Download PDF

Info

Publication number
WO2020124459A1
WO2020124459A1 PCT/CN2018/122167 CN2018122167W WO2020124459A1 WO 2020124459 A1 WO2020124459 A1 WO 2020124459A1 CN 2018122167 W CN2018122167 W CN 2018122167W WO 2020124459 A1 WO2020124459 A1 WO 2020124459A1
Authority
WO
WIPO (PCT)
Prior art keywords
function
service
serviceless
storage
cloud computing
Prior art date
Application number
PCT/CN2018/122167
Other languages
French (fr)
Chinese (zh)
Inventor
吴楚楠
刘阳
温书豪
马健
赖力鹏
Original Assignee
深圳晶泰科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 深圳晶泰科技有限公司 filed Critical 深圳晶泰科技有限公司
Priority to PCT/CN2018/122167 priority Critical patent/WO2020124459A1/en
Publication of WO2020124459A1 publication Critical patent/WO2020124459A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Definitions

  • the present invention belongs to the technical field of serviceless service services, and specifically relates to a serviceless service method based on a hybrid cloud computing platform.
  • the first type is used to describe that some applications host the business logic of the server on a third-party cloud service, or directly establish a connection with the third-party cloud service through the client to complete the logic and state control of the server.
  • Applications with "rich client” type mostly use this kind of architecture.
  • some mobile software implements a complete serviceless application architecture by hosting the data storage logic to Google Firebase service and the authentication logic to the third-party authentication service AuthO .
  • This type of serviceless architecture is also commonly referred to as "(Mobile) Backend as a Service” (hereinafter collectively referred to as BaaS).
  • the second type of serviceless architecture is distinguished from the first type in that the logic on the server side is no longer fully hosted by a third-party cloud service provider, but can be designed and written by application developers.
  • this type of server is completely triggered by a stateless container environment through event-driven logic execution, and developers do not need to pay attention to the operation and maintenance of the container environment and resource scheduling issues.
  • This method is usually called "Function as a Service” (hereinafter referred to as FaaS).
  • FaaS “Function as a Service”
  • FaaS A WS Lambda service, Tencent Cloud SCF service and Facebook Cloud function computing service are all encapsulation and implementation of this design.
  • the present invention provides a service method based on a hybrid cloud computing platform without service function, applicable to the field of high-performance computing, through the method can integrate different types of cloud computing services or self-built open source containerization Cluster and provide solutions without service functions.
  • a service method without a service function based on a hybrid cloud computing platform includes the following steps: a submission process without a service function, an operation process without a service function, a result without service function, and a state recovery process.
  • the submission process of the serviceless function includes the following steps:
  • the running process of the serviceless function includes the following steps:
  • the serviceless function result and state recovery process includes the following steps:
  • the result file can be downloaded from the place specified by the storage ID and the content is obtained in reverse sequence; [0023] If the operation fails, the operation error information can be downloaded in the same manner.
  • the service method based on a hybrid cloud computing platform without service functions provided by the present invention has the following technical effects:
  • Shell script implements the configuration management of the server-side environment; at the same time, when docking the containerized cluster, it is integrated into any container in the form of a plug-in, turning the container into a running environment without service functions.
  • the unified object storage platform persists the state and operation results of all serviceless functions, and helps the serviceless function users to recover the calculation results through the unified object serialization method and SDK.
  • FIG. 1 is a flowchart of a submission process of a serviceless function of the present invention
  • FIG. 2 is a flowchart of the operation process of the serviceless function of the present invention.
  • FIG. 3 is a flowchart of the result of the serviceless function and state recovery process of the present invention.
  • FIG. 4 is a schematic diagram of an architecture for docking different cloud services and self-built container clusters of the present invention.
  • a service method based on a hybrid cloud computing platform without a service function can be mainly divided into three processes: a submission process, a running process, a result, and a state recovery process of a serviceless function.
  • the function and parameters are converted into character strings through object serialization and stored in the form of a file, and there are also definition functions that need to be serialized
  • the programming environment parameter is used to restore the environment dependency during programming development when the server executes the function in reverse sequence.
  • the server type that initializes the serviceless function can be a specified third-party cloud service such as AWS
  • Any specified server needs to be equipped with a storage service that can be used, which can be AWS S3, Tencent Cloud COS, or within the cluster Hard disk storage service.
  • a storage service that can be used, which can be AWS S3, Tencent Cloud COS, or within the cluster Hard disk storage service.
  • the serialized functions, parameters, environment configuration scripts and programming environment parameter files can be uploaded to the cloud storage service of the specified server, and trigger the operation of the serviceless function.
  • a successful start of operation will return a unique serverless function storage ID, that is, the address of the storage instance of the serverless function, which contains the serialized file of the serverless function, running status, running results and other related data.
  • the state recovery end of the serviceless function may not be the task submitting end
  • the serviceless function instance equivalent to the original submitting end can be recovered through the storage ID of the serviceless function, and then the current serviceless Query the running status of the function. If the operation is successful, the result file can be downloaded from the location specified by the storage ID and the content is obtained in reverse sequence; if the operation fails, the operation error information can be downloaded in the same way.
  • a service method based on a hybrid cloud computing platform without a service function is an architecture that interfaces with different cloud services and self-built container clusters.
  • the user serializes the custom function and the parameter list according to the description method of the submission process of the serviceless function, and uploads it to the specified cloud storage through the storage adapter module.
  • the storage adapter module abstracts the addition, deletion, modification and inspection interfaces in the storage process to realize the connection of object storage services of different cloud service providers, or the hard disk storage process of self-built containerized clusters.
  • the scheduling adapter module is used to abstract the relevant interfaces of different cloud services and self-built containerized clusters in the process of task submission and management. Therefore, users can specify the cloud services or containerized cluster resources that need to be used during the initialization process of the storage adapter and the scheduling adapter, and the hybrid cloud computing platform without service functions can be supported without modifying custom functions and parameters.
  • This service method based on a hybrid cloud computing platform without service functions, mainly based on AWS Lambda and self-built Mesos containerized cluster, based on Python 2.7.13 developed without service function storage adapter and scheduling adapter to complete the above two A hybrid serviceless architecture for cloud computing platforms.
  • AWS Lambda's cloud service storage uses AWS S3, and the self-built Mesos cluster is built on the AWS EC2 virtual machine, so it can also use AWS S3 as its storage service without service functions.
  • the user can configure and install the entire client through the Python environment. After the user finishes writing the custom functions and parameters of Python on the machine, the user can call the storage adapter stomgiengine of the client to change the current environment. Lay relationships, custom functions, custom parameter lists, and running environment configuration scripts are serially uploaded to the designated bucket of AW S S3.
  • the directory name of the bucket is a randomly assigned global unique string ID, which is used to help users mark different Instance of a serviceless function call. After completing the above serviceless function storage process, you can submit the serviceless function through the scheduling adapter Executor.
  • the executor encapsulates the underlying scheduling interface for docking with different cloud services and containerized clusters, and the scheduling interface is abstracted through Invoker and exposed to the Executor for invocation. .
  • the user can submit the unique ID returned by the serverless function to monitor the status of the serverless function, and after the operation is successfully completed, download and deserialize the operation result of the serverless function through the storage adapter storage_engin e, that is, the user
  • the local custom function is consistent with the result of the parameter execution. Otherwise, the operation error information is obtained to help the user to troubleshoot the function definition and runtime errors

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

The present invention relates to the technical field of serverless function services. Provided is a method employing a hybrid-cloud computing platform to provide serverless function as a service, comprising the following steps: a serverless function submission process; a serverless function operation process; and a serverless function result and state recovery process. The method employing a hybrid-cloud computing platform to provide serverless function as a service of the present invention is applicable to the field of high-performance computation. The method enables integration of different types of cloud computing services or establishment of an open-source containerized cluster, and provides a serverless function solution.

Description

发明名称:基于混合云计算平台的无服务函数的服务方法 技术领域 Invention Name: Service method without service function based on hybrid cloud computing platform
[0001] 本发明属于无服务函数服务技术领域, 具体涉及基于混合云计算平台的无服务 函数的服务方法。 [0001] The present invention belongs to the technical field of serviceless service services, and specifically relates to a serviceless service method based on a hybrid cloud computing platform.
背景技术 Background technique
[0002] 现今无服务式架构成为软件架构设计中非常热门的话题, 包括世界三大云服务 提供商— Amazon, Google和微软都在无服务架构的产品及生态打造上投入相 对较大的研发成本, 而国内也不乏例如阿里云函数计算平台、 腾讯云 SCF无服务 平台在科学计算与无服务架构上的产品推广与实践。 同时, 我们也逐步看到越 来越多的文献、 资料以及开源社区开始致力于各种类型的无服务架构设计的探 索。 我们可以将典型的无服务类型架构划分为两大类: [0002] Today, serviceless architecture has become a very popular topic in software architecture design, including the world's three largest cloud service providers-Amazon, Google and Microsoft have invested relatively large R & D costs in the product and ecological construction of serviceless architecture And there are also many domestic products such as Alibaba Cloud Function Computing Platform and Tencent Cloud SCF Serviceless Platform for product promotion and practice on scientific computing and serviceless architecture. At the same time, we have gradually seen more and more literature, materials and open source communities begin to explore various types of serviceless architecture design. We can divide the typical serviceless architecture into two categories:
[0003] 第一类用于描述某些应用将服务端的业务逻辑托管于第三方云服务, 亦或者通 过客户端直接与第三方云服务建立连接共同完成服务端的逻辑与状态控制。 具 有“富客户端”类型的应用多采用此类架构, 例如一些手机软件通过将数据存储逻 辑托管给 Google Firebase服务, 而将认证逻辑托管给第三方认证服务 AuthO, 实 现一个完整的无服务应用架构。 此类型的无服务架构也通常被称为” (Mobile) Backend as a Service” (以下统称 BaaS) 。 [0003] The first type is used to describe that some applications host the business logic of the server on a third-party cloud service, or directly establish a connection with the third-party cloud service through the client to complete the logic and state control of the server. Applications with "rich client" type mostly use this kind of architecture. For example, some mobile software implements a complete serviceless application architecture by hosting the data storage logic to Google Firebase service and the authentication logic to the third-party authentication service AuthO . This type of serviceless architecture is also commonly referred to as "(Mobile) Backend as a Service" (hereinafter collectively referred to as BaaS).
[0004] 第二类无服务架构区别于第一类的特点是服务端的逻辑不再完全托管于第三方 云服务提供商, 而是可以由应用开发人员参与设计与编写。 区别于传统的服务 端架构设计, 此类服务端完全由一个无状态的容器环境通过事件驱动方式触发 逻辑执行, 而开发人员无需关注容器环境的运维与资源调度问题。 通常成此类 方法为“Function as a Service” (以下统称 FaaS) 。 例如, A WS Lambda服务、 腾 讯云 SCF服务以及阿里云函数计算服务都属于此类设计的封装与实现。 [0004] The second type of serviceless architecture is distinguished from the first type in that the logic on the server side is no longer fully hosted by a third-party cloud service provider, but can be designed and written by application developers. Different from the traditional server-side architecture design, this type of server is completely triggered by a stateless container environment through event-driven logic execution, and developers do not need to pay attention to the operation and maintenance of the container environment and resource scheduling issues. This method is usually called "Function as a Service" (hereinafter referred to as FaaS). For example, A WS Lambda service, Tencent Cloud SCF service and Alibaba Cloud function computing service are all encapsulation and implementation of this design.
[0005] 无论以上两种方式, 目前都存在以下缺陷与不足: [0005] Regardless of the above two methods, there are currently the following defects and deficiencies:
[0006] ( 1) 云平台或者云服务提供商架构绑定, 无论 BaaS服务还是 FaaS服务, 其平 台设计实现与服务商的服务栈绑定较强, 而对于跨服务、 跨云以及本地存储的 支持较弱。 从而增加了在同时使用不同类型云服务提供商时的资源伸缩和成本 评估难度。 [0006] (1) Cloud platform or cloud service provider architecture binding, regardless of BaaS service or FaaS service, its platform design and implementation is strongly tied to the service provider's service stack, but for cross-service, cross-cloud and local storage Support is weak. This increases the difficulty of resource scaling and cost evaluation when using different types of cloud service providers at the same time.
[0007] (2) 两种类型的产品对于后端运行环境的要求颇为严格, 环境依赖配置的修 改与管理均较为复杂, 且对于自定义环境的支持不足。 [0007] (2) The requirements of the two types of products for the back-end operating environment are quite strict, the modification and management of environment-dependent configurations are relatively complicated, and the support for custom environments is insufficient.
[0008] (3) 两类产品的数据结构与存储模型无统一标准, 各自云服务提供商有不同 的解决方案与存储服务提供给用户, 导致用户在同时使用不同类型的无服务系 统构建应用时很难统一配置和调度不同云服务的计算资源及计算结果聚合。 [0008] (3) There is no unified standard for the data structure and storage model of the two types of products. Each cloud service provider has different solutions and storage services to provide users, resulting in users using different types of serviceless systems to build applications at the same time. It is difficult to uniformly configure and schedule computing resources and aggregation of computing results of different cloud services.
[0009] (4) 两类云服务产品均不支持对接自建的容器化集群, 无法给那些既有自建 容器化集群系统 (例如开源的 Mesos, Kubemetes容器管理平台)或对于计算资源有 特殊隔离性要求的用户提供无服务架构解决方案。 [0009] (4) Both types of cloud service products do not support docking with self-built containerized clusters, and cannot provide those with self-built containerized cluster systems (such as open source Mesos, Kubemetes container management platform) or special computing resources. Users with isolation requirements are provided with no-service architecture solutions.
发明概述 Summary of the invention
技术问题 technical problem
问题的解决方案 Solution to the problem
技术解决方案 Technical solution
[0010] 针对上述技术问题, 本发明提供一种基于混合云计算平台的无服务函数的服务 方法, 适用于高性能计算领域, 通过方法可集成不同种类的云计算服务或自建 开源的容器化集群, 并提供无服务函数的解决方案。 [0010] In view of the above technical problems, the present invention provides a service method based on a hybrid cloud computing platform without service function, applicable to the field of high-performance computing, through the method can integrate different types of cloud computing services or self-built open source containerization Cluster and provide solutions without service functions.
[0011] 具体技术方案为: [0011] The specific technical solution is:
[0012] 基于混合云计算平台的无服务函数的服务方法, 包括以下步骤: 无服务函数的 提交过程、 无服务函数的运行过程、 无服务函数的结果及状态回收过程。 [0012] A service method without a service function based on a hybrid cloud computing platform includes the following steps: a submission process without a service function, an operation process without a service function, a result without service function, and a state recovery process.
[0013] 具体的, 所述的无服务函数的提交流程, 包括以下步骤: [0013] Specifically, the submission process of the serviceless function includes the following steps:
[0014] ( 1) 用户编写好自定义函数后与函数运行时的环境配置脚本后, 通过对象序 列化方式将函数与参数转换成字符串并以文件形式存储, 同时需要序列化的还 有定义函数的编程环境参数, 用于在服务端反序列执行该函数时可以还原编程 开发时的环境依赖关系 [0014] (1) After the user writes the environment configuration script after the custom function and the function runtime, the function and parameters are converted into character strings through the object serialization method and stored in the form of files, and the definitions that need to be serialized are also defined The programming environment parameters of the function, used to restore the environment dependency during programming development when the server executes the function in reverse sequence
[0015] (2) 初始化无服务函数的服务端类型, 任意一个指定的服务端需要配属一个 可供使用的存储服务; 进而可以将序列化好后的函数、 参数、 环境配置脚本与 编程环境参数文件上传到指定服务端的云存储服务中, 并触发无服务函数的运 行; 成功开始运行会返回一个唯一的无服务函数存储 ID, 即无服务函数的存储 实例地址, 其中保存有无服务函数的序列化文件、 运行状态、 运行结果相关数 据。 [0015] (2) Initialize the server type without service function, any specified server needs to be allocated with a storage service available; and then the serialized functions, parameters, environment configuration scripts and programming environment parameters The file is uploaded to the cloud storage service of the specified server, and the operation of the serviceless function is triggered OK; a successful start of operation will return a unique serviceless function storage ID, that is, the address of the storage instance of the serviceless function, which contains the serialized file of the serviceless function, operation status, and operation-related data.
[0016] 所述的无服务函数运行过程, 包括以下步骤: [0016] The running process of the serviceless function includes the following steps:
[0017] ( 1) 通过解析提交参数中的无服务函数存储 ID, 到对应的存储服务中下载到 所有的用户序列化上传文件; [0017] (1) By parsing the service-free function storage ID in the submission parameters, download all user serialized upload files to the corresponding storage service;
[0018] (2) 按照“恢复编程开发环境依赖关系”- >“执行环境配置脚本”- >“反序列化用 户自定义函数与参数” ->“执行用户自定义函数与参数”的顺序以此执行, 并将自 定义函数的结果序列化后存储成文件, 最终上传回无服务函数存储 ID所指定的 地址; [0018] (2) In accordance with the order of "restore programming development environment dependencies" -> "execution environment configuration script" -> "deserialize user-defined functions and parameters" -> "execute user-defined functions and parameters" This is executed, and the result of the custom function is serialized and stored as a file, and finally uploaded back to the address specified by the storage ID of the no-service function;
[0019] 若运行失败, 则将错误信息捕获后序列化, 通过同样的方式回传给存储服务中 [0019] If the operation fails, the error information is captured and serialized, and passed back to the storage service in the same way
[0020] 所述的无服务函数结果及状态回收过程, 包括以下步骤: [0020] The serviceless function result and state recovery process includes the following steps:
[0021] 通过无服务函数的存储 ID, 可以恢复出与原提交端等同的无服务函数实例, 继 而可通过该实例对当前无服务函数的运行状态进行查询; [0021] Through the storage ID of the serviceless function, an instance of the serviceless function equivalent to the original submitter can be recovered, and then the running state of the current serviceless function can be queried through the instance;
[0022] 若运行成功, 可从存储 ID所指定的地方下载结果文件并进行反序列获取内容; [0023] 若运行失败, 可用同样方式下载运行错误信息。 [0022] If the operation is successful, the result file can be downloaded from the place specified by the storage ID and the content is obtained in reverse sequence; [0023] If the operation fails, the operation error information can be downloaded in the same manner.
发明的有益效果 Beneficial effects of invention
有益效果 Beneficial effect
[0024] 本发明提供的基于混合云计算平台的无服务函数的服务方法, 具有以下技术效 果: [0024] The service method based on a hybrid cloud computing platform without service functions provided by the present invention has the following technical effects:
[0025] ( 1) 可以对接多种无服务产品以及开源容器管理平台, 实现混合云计算平台 的无服务函数调度。 [0025] (1) A variety of non-service products and open source container management platforms can be docked to realize the non-service function scheduling of the hybrid cloud computing platform.
[0026] (2) 对于依赖管理有独立的依赖配置模块, 支持开发人员通过典型的 Linux [0026] (2) For dependency management, there is an independent dependency configuration module to support developers through typical Linux
Shell脚本实现服务端环境的配置管理; 同时在对接容器化集群时, 以插件形式 集成到任意容器中, 将容器变成无服务函数的运行环境。 Shell script implements the configuration management of the server-side environment; at the same time, when docking the containerized cluster, it is integrated into any container in the form of a plug-in, turning the container into a running environment without service functions.
[0027] (3) 统一的对象存储平台持久化所有无服务函数的状态及运算结果, 并通过 统一的对象序列化方式与 SDK帮助无服务函数使用者回收计算结果。 [0028] (4) 能够灵活的扩展支持开源的容器管理系统, 例如 Mesos、 Kubernetes, 或 者托管的容器管理云服务例如 AWS ECS等, 将传统容器化集群封装成无服务函 数系统。 [0027] (3) The unified object storage platform persists the state and operation results of all serviceless functions, and helps the serviceless function users to recover the calculation results through the unified object serialization method and SDK. [0028] (4) It can flexibly expand and support open source container management systems, such as Mesos, Kubernetes, or managed container management cloud services such as AWS ECS, etc., to encapsulate traditional containerized clusters into a serviceless function system.
对附图的简要说明 Brief description of the drawings
附图说明 BRIEF DESCRIPTION
[0029] 图 1是本发明的无服务函数的提交过程的流程图; [0029] FIG. 1 is a flowchart of a submission process of a serviceless function of the present invention;
[0030] 图 2是本发明的无服务函数的运行过程的流程图; [0030] FIG. 2 is a flowchart of the operation process of the serviceless function of the present invention;
[0031] 图 3是本发明的无服务函数的结果及状态回收过程的流程图; [0031] FIG. 3 is a flowchart of the result of the serviceless function and state recovery process of the present invention;
[0032] 图 4是本发明对接不同云服务与自建容器集群的架构示意图。 [0032] FIG. 4 is a schematic diagram of an architecture for docking different cloud services and self-built container clusters of the present invention.
发明实施例 Invention Example
本发明的实施方式 Embodiments of the invention
[0033] 结合实施例说明本发明的具体技术方案。 [0033] The specific technical solutions of the present invention will be described in conjunction with the embodiments.
[0034] 基于混合云计算平台的无服务函数的服务方法, 主要可分为三个流程: 无服务 函数的提交过程、 运行过程、 结果及状态回收过程。 [0034] A service method based on a hybrid cloud computing platform without a service function can be mainly divided into three processes: a submission process, a running process, a result, and a state recovery process of a serviceless function.
[0035] 如图 1所示, 无服务函数的提交流程: [0035] As shown in FIG. 1, the submission process of no service function:
[0036] 首先, 用户编写好自定义函数后与函数运行时的环境配置脚本后, 通过对象序 列化方式将函数与参数转换成字符串并以文件形式存储, 同时需要序列化的还 有定义函数的编程环境参数, 用于在服务端反序列执行该函数时可以还原编程 开发时的环境依赖关系。 其次, 初始化无服务函数的服务端类型, 可以是指定 的第三方云服务例如 AWS [0036] First, after the user writes a custom function and an environment configuration script at the time of function runtime, the function and parameters are converted into character strings through object serialization and stored in the form of a file, and there are also definition functions that need to be serialized The programming environment parameter is used to restore the environment dependency during programming development when the server executes the function in reverse sequence. Secondly, the server type that initializes the serviceless function can be a specified third-party cloud service such as AWS
Lambda、 腾讯云 SCF等, 或者是自建容器花集群例如 Kubernetes、 Mesos等, 任 意一个指定的服务端需要配属一个可供使用的存储服务, 可以是 AWS S3、 腾讯 云的 COS, 或者集群内的硬盘存储服务。 进而可以将序列化好后的函数、 参数、 环境配置脚本与编程环境参数文件上传到指定服务端的云存储服务中, 并触发 无服务函数的运行。 成功开始运行会返回一个唯一的无服务函数存储 ID, 即无 服务函数的存储实例地址, 其中保存有无服务函数的序列化文件、 运行状态、 运行结果等相关数据。 Lambda, Tencent Cloud SCF, etc., or self-built container clusters such as Kubernetes, Mesos, etc. Any specified server needs to be equipped with a storage service that can be used, which can be AWS S3, Tencent Cloud COS, or within the cluster Hard disk storage service. Furthermore, the serialized functions, parameters, environment configuration scripts and programming environment parameter files can be uploaded to the cloud storage service of the specified server, and trigger the operation of the serviceless function. A successful start of operation will return a unique serverless function storage ID, that is, the address of the storage instance of the serverless function, which contains the serialized file of the serverless function, running status, running results and other related data.
[0037] 如图 2所示, 无服务函数运行过程: [0038] 首先, 通过解析提交参数中的无服务函数存储 ID, 到对应的存储服务中下载到 所有的用户序列化上传文件。 然后, 按照“恢复编程开发环境依赖关系”- >“执行 环境配置脚本”- >“反序列化用户自定义函数与参数” ->“执行用户自定义函数与参 数”的顺序以此执行, 并将自定义函数的结果序列化后存储成文件, 最终上传回 无服务函数存储 ID所指定的地址。 若运行失败, 则将错误信息捕获后序列化, 通过同样的方式回传给存储服务中。 [0037] As shown in FIG. 2, the running process of the serviceless function: [0038] First, all user serialized upload files are downloaded to the corresponding storage service by parsing the service-free function storage ID in the submission parameter. Then, follow the order of "Restoring Programming Development Environment Dependencies"->"Execution Environment Configuration Script"->"Deserialize User-Defined Functions and Parameters"->"Execute User-Defined Functions and Parameters", and The result of the custom function is serialized and stored as a file, and finally uploaded back to the address specified by the storage ID of the no-service function. If the operation fails, the error information is captured and serialized, and sent back to the storage service in the same way.
[0039] 如图 3所示, 无服务函数结果及状态回收过程: [0039] As shown in FIG. 3, the result of no service function and the state recovery process:
[0040] 因为无服务函数的状态回收端可能并非是任务提交端, 所以通过无服务函数的 存储 ID, 可以恢复出与原提交端等同的无服务函数实例, 继而可通过该实例对 当前无服务函数的运行状态进行查询。 若运行成功, 可从存储 ID所指定的地方 下载结果文件并进行反序列获取内容; 若运行失败, 可用同样方式下载运行错 误信息。 [0040] Because the state recovery end of the serviceless function may not be the task submitting end, the serviceless function instance equivalent to the original submitting end can be recovered through the storage ID of the serviceless function, and then the current serviceless Query the running status of the function. If the operation is successful, the result file can be downloaded from the location specified by the storage ID and the content is obtained in reverse sequence; if the operation fails, the operation error information can be downloaded in the same way.
[0041] 如图 4所示, 基于混合云计算平台的无服务函数的服务方法, 对接不同云服务 与自建容器集群的架构方式。 其中, 用户按无服务函数的提交流程的描述方式 将自定义函数与参数列表序列化后, 通过存储适配器模块上传到指定云存储中 。 该存储适配器模块通过抽象化存储过程中的增删改查接口, 实现对接不同云 服务提供商的对象存储服务, 亦或者自建容器化集群的硬盘存储过程。 同时, 调度适配器模块用于抽象不同云服务与自建容器化集群在任务提交与管理过程 中的相关接口。 因此, 用户可通过存储适配器与调度适配器的初始化过程中指 定需要使用的云服务或者容器化集群资源, 无需修改自定义函数和参数即可实 现无服务函数的混合云计算平台支持。 [0041] As shown in FIG. 4, a service method based on a hybrid cloud computing platform without a service function is an architecture that interfaces with different cloud services and self-built container clusters. Among them, the user serializes the custom function and the parameter list according to the description method of the submission process of the serviceless function, and uploads it to the specified cloud storage through the storage adapter module. The storage adapter module abstracts the addition, deletion, modification and inspection interfaces in the storage process to realize the connection of object storage services of different cloud service providers, or the hard disk storage process of self-built containerized clusters. At the same time, the scheduling adapter module is used to abstract the relevant interfaces of different cloud services and self-built containerized clusters in the process of task submission and management. Therefore, users can specify the cloud services or containerized cluster resources that need to be used during the initialization process of the storage adapter and the scheduling adapter, and the hybrid cloud computing platform without service functions can be supported without modifying custom functions and parameters.
[0042] 本基于混合云计算平台的无服务函数的服务方法, 实现主要基于 AWS Lambda 与自建 Mesos容器化集群, 基于 Python 2.7.13所开发的无服务函数存储适配器与 调度适配器完成以上两个云计算平台的混合无服务架构。 其中 AWS Lambda的云 服务存储采用的 AWS S3, 而自建 Mesos集群由于建立于 AWS EC2虚拟机之上, 所以也可公用 AWS S3作为其无服务函数的存储服务。 [0042] This service method based on a hybrid cloud computing platform without service functions, mainly based on AWS Lambda and self-built Mesos containerized cluster, based on Python 2.7.13 developed without service function storage adapter and scheduling adapter to complete the above two A hybrid serviceless architecture for cloud computing platforms. Among them, AWS Lambda's cloud service storage uses AWS S3, and the self-built Mesos cluster is built on the AWS EC2 virtual machine, so it can also use AWS S3 as its storage service without service functions.
[0043] 用户可通过 Python环境配置安装整个客户端, 当用户在本机编写完 Python的自 定义函数与参数后, 通过调用客户端的存储适配器 stomgiengine将当前环境依 赖关系、 自定义函数、 自定义参数列表、 运行环境配置脚本均序列化上传至 AW S S3的指定 Bucket内, Bucket的目录名称为一个随机分配的全局唯一字符串 ID, 用于帮助用户标示不同的无服务函数调用实例。 当完成以上无服务函数存储过 程后即可通过调度适配器 Executor进行无服务函数提交, executor封装了底层对 接不同云服务及容器化集群的调度接口, 并通过 Invoker进行调度接口抽象后暴 露给 Executor进行调用。 此时, 用户可通过无服务函数提交返回的唯一 ID对无服 务函数的状态进行监控, 并可在运行成功结束后, 通过存储适配器 storage_engin e下载并反序列化无服务函数的运行结果, 即用户本地自定义函数与参数执行的 结果一致。 反之, 则获取到运行错误信息帮助用户排查函数定义及运行时错误 [0043] The user can configure and install the entire client through the Python environment. After the user finishes writing the custom functions and parameters of Python on the machine, the user can call the storage adapter stomgiengine of the client to change the current environment. Lay relationships, custom functions, custom parameter lists, and running environment configuration scripts are serially uploaded to the designated bucket of AW S S3. The directory name of the bucket is a randomly assigned global unique string ID, which is used to help users mark different Instance of a serviceless function call. After completing the above serviceless function storage process, you can submit the serviceless function through the scheduling adapter Executor. The executor encapsulates the underlying scheduling interface for docking with different cloud services and containerized clusters, and the scheduling interface is abstracted through Invoker and exposed to the Executor for invocation. . At this time, the user can submit the unique ID returned by the serverless function to monitor the status of the serverless function, and after the operation is successfully completed, download and deserialize the operation result of the serverless function through the storage adapter storage_engin e, that is, the user The local custom function is consistent with the result of the parameter execution. Otherwise, the operation error information is obtained to help the user to troubleshoot the function definition and runtime errors

Claims

权利要求书 [权利要求 1] 基于混合云计算平台的无服务函数的服务方法, 其特征在于, 包括以 下步骤: 无服务函数的提交过程、 无服务函数的运行过程、 无服务函 数的结果及状态回收过程。 [权利要求 2] 根据权利要求 1所述的基于混合云计算平台的无服务函数的服务方法 , 其特征在于, 所述的无服务函数的提交流程, 包括以下步骤: Claims [Claim 1] A service method for a serviceless function based on a hybrid cloud computing platform, characterized in that it includes the following steps: submission process of a serviceless function, operation process of a serviceless function, results and status of a serviceless function Recycling process. [Claim 2] The service method without service functions based on the hybrid cloud computing platform according to claim 1, characterized in that the submission process of the serviceless functions includes the following steps:
( 1) 用户编写好自定义函数后与函数运行时的环境配置脚本后, 通 过对象序列化方式将函数与参数转换成字符串并以文件形式存储, 同 时需要序列化的还有定义函数的编程环境参数, 用于在服务端反序列 执行该函数时可以还原编程开发时的环境依赖关系 (1) After the user has written a custom function and the environment configuration script at the time of function runtime, the function and parameters are converted into character strings by object serialization and stored in the form of files. At the same time, serialization and programming of defined functions are also required Environment parameter, used to restore the environment dependency during programming development when the function is executed in reverse sequence on the server side
(2) 初始化无服务函数的服务端类型, 任意一个指定的服务端需要 配属一个可供使用的存储服务; 进而可以将序列化好后的函数、 参数 、 环境配置脚本与编程环境参数文件上传到指定服务端的云存储服务 中, 并触发无服务函数的运行; 成功开始运行会返回一个唯一的无服 务函数存储 ID, 即无服务函数的存储实例地址, 其中保存有无服务函 数的序列化文件、 运行状态、 运行结果相关数据。 (2) Initialize the server type without service function, any specified server needs to be allocated with a storage service that can be used; and then the serialized functions, parameters, environment configuration scripts and programming environment parameter files can be uploaded to Specify the server-side cloud storage service, and trigger the operation of the serviceless function; successful start will return a unique serviceless function storage ID, that is, the storage instance address of the serviceless function, which contains the serialized file of the serviceless function, Data related to operation status and operation results.
[权利要求 3] 根据权利要求 1所述的基于混合云计算平台的无服务函数的服务方法 , 其特征在于, 所述的无服务函数运行过程, 包括以下步骤: [Claim 3] The service method of service-free function based on a hybrid cloud computing platform according to claim 1, characterized in that the operation process of the service-free function includes the following steps:
( 1) 通过解析提交参数中的无服务函数存储 ID, 到对应的存储服务 中下载到所有的用户序列化上传文件; (1) By parsing the service-free function storage ID in the submission parameters, download all user serialized upload files to the corresponding storage service;
(2) 按照“恢复编程开发环境依赖关系”- >“执行环境配置脚本”- >“反 序列化用户自定义函数与参数” ->“执行用户自定义函数与参数”的顺 序以此执行, 并将自定义函数的结果序列化后存储成文件, 最终上传 回无服务函数存储 ID所指定的地址; (2) Perform this in the order of "Restoration of programming development environment dependencies" -> "Execution environment configuration script" -> "Deserialize user-defined functions and parameters" -> "Execute user-defined functions and parameters", Serialize the result of the custom function and store it as a file, and finally upload it back to the address specified by the storage ID of the no-service function;
若运行失败, 则将错误信息捕获后序列化, 通过同样的方式回传给存 储服务中。 If the operation fails, the error information is captured and serialized, and then passed back to the storage service in the same way.
[权利要求 4] 根据权利要求 1所述的基于混合云计算平台的无服务函数的服务方法 , 其特征在于, 所述的无服务函数结果及状态回收过程, 包括以下步 骤: [Claim 4] The service method of service-free function based on a hybrid cloud computing platform according to claim 1, characterized in that the process and state recovery process of the service-free function result includes the following steps Step:
通过无服务函数的存储 ID, 可以恢复出与原提交端等同的无服务函数 实例, 继而可通过该实例对当前无服务函数的运行状态进行查询; 若运行成功, 可从存储 ID所指定的地方下载结果文件并进行反序列获 取内容; Through the storage ID of the serviceless function, an instance of the serviceless function equivalent to the original submitter can be restored, and then the running status of the current serviceless function can be queried through the instance; if the operation is successful, the location specified by the storage ID can be retrieved Download the result file and get the content in reverse sequence;
若运行失败, 可用同样方式下载运行错误信息。 If the operation fails, the operation error information can be downloaded in the same way.
PCT/CN2018/122167 2018-12-19 2018-12-19 Method employing hybrid-cloud computing platform to provide serverless function as a service WO2020124459A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/122167 WO2020124459A1 (en) 2018-12-19 2018-12-19 Method employing hybrid-cloud computing platform to provide serverless function as a service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/122167 WO2020124459A1 (en) 2018-12-19 2018-12-19 Method employing hybrid-cloud computing platform to provide serverless function as a service

Publications (1)

Publication Number Publication Date
WO2020124459A1 true WO2020124459A1 (en) 2020-06-25

Family

ID=71102557

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/122167 WO2020124459A1 (en) 2018-12-19 2018-12-19 Method employing hybrid-cloud computing platform to provide serverless function as a service

Country Status (1)

Country Link
WO (1) WO2020124459A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112035228A (en) * 2020-08-28 2020-12-04 光大科技有限公司 Resource scheduling method and device
CN112363818A (en) * 2020-11-30 2021-02-12 杭州玳数科技有限公司 Method for realizing Hadoop MR task cluster independence under Yarn scheduling
US11018965B1 (en) * 2020-01-24 2021-05-25 Red Hat, Inc. Serverless function scaling

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140164048A1 (en) * 2012-12-07 2014-06-12 Xerox Corporation Scalable weight-agnostic multi-objective qos optimization for workflow planning
CN105939375A (en) * 2016-04-13 2016-09-14 福州大学 PaaS hybrid cloud construction method based on model
CN106227728A (en) * 2016-07-01 2016-12-14 江苏省广播电视集团有限公司 PaaS service ability application system and method are compiled in biography limit, a kind of limit based on mixed cloud service platform
US20170180211A1 (en) * 2015-12-18 2017-06-22 Convergent Technology Advisors Hybrid cloud integration fabric and ontology for integration of data, applications, and information technology infrastructure

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140164048A1 (en) * 2012-12-07 2014-06-12 Xerox Corporation Scalable weight-agnostic multi-objective qos optimization for workflow planning
US20170180211A1 (en) * 2015-12-18 2017-06-22 Convergent Technology Advisors Hybrid cloud integration fabric and ontology for integration of data, applications, and information technology infrastructure
CN105939375A (en) * 2016-04-13 2016-09-14 福州大学 PaaS hybrid cloud construction method based on model
CN106227728A (en) * 2016-07-01 2016-12-14 江苏省广播电视集团有限公司 PaaS service ability application system and method are compiled in biography limit, a kind of limit based on mixed cloud service platform

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11018965B1 (en) * 2020-01-24 2021-05-25 Red Hat, Inc. Serverless function scaling
CN112035228A (en) * 2020-08-28 2020-12-04 光大科技有限公司 Resource scheduling method and device
CN112035228B (en) * 2020-08-28 2024-04-12 光大科技有限公司 Resource scheduling method and device
CN112363818A (en) * 2020-11-30 2021-02-12 杭州玳数科技有限公司 Method for realizing Hadoop MR task cluster independence under Yarn scheduling
CN112363818B (en) * 2020-11-30 2024-06-07 杭州玳数科技有限公司 Method for realizing HadoopMR independence under Yarn scheduling

Similar Documents

Publication Publication Date Title
US11829742B2 (en) Container-based server environments
US11422902B2 (en) Recreating a computing environment using tags and snapshots
US11150916B2 (en) Execution of workflows in distributed systems
US11886929B2 (en) Deploying cloud-native services across control planes
US20210048995A1 (en) Conversion and restoration of computer environments to container-based implementations
US10216531B2 (en) Techniques for virtual machine shifting
Kumar et al. Economically efficient virtualization over cloud using docker containers
US10013491B2 (en) Methods and systems of workload mobility across divergent platforms
WO2022037612A1 (en) Method for providing application construction service, and application construction platform, application deployment method and system
CN110532074B (en) Task scheduling method and system for multi-tenant mode SaaS service cluster environment
US11086662B2 (en) Method and system of migrating applications to a cloud-computing environment
US20090271498A1 (en) System and method for layered application server processing
JP2013540314A (en) System and method for providing flexible storage and retrieval of snapshot archives
WO2020124459A1 (en) Method employing hybrid-cloud computing platform to provide serverless function as a service
CN109753302B (en) Service method without service function based on hybrid cloud computing platform
WO2023185058A1 (en) Method and system for deploying chain code in consortium blockchain
US10592277B2 (en) System and method for determining the success of a cross-platform application migration
Nguyen et al. A generic development and deployment framework for cloud computing and distributed applications
Luan et al. Exoshuffle: An extensible shuffle architecture
WO2022109932A1 (en) Multi-task submission system based on slurm computing platform
WO2023185055A1 (en) Method and system for deploying chaincode in alliance chain
CN113326098B (en) Cloud management platform supporting KVM virtualization and container virtualization
Lufei et al. vStarCloud: An operating system architecture for Cloud computing
Shiau et al. A bittorrent mechanism-based solution for massive system deployment
WO2024012101A1 (en) Distributed-service generation method and system, and computing device and storage medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18943457

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18943457

Country of ref document: EP

Kind code of ref document: A1