前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【技术创作101训练营】说说 Ruby 与 Serverless

【技术创作101训练营】说说 Ruby 与 Serverless

原创
作者头像
donghui
修改2021-01-18 11:13:22
9750
修改2021-01-18 11:13:22
举报
文章被收录于专栏:donghui的博客
PPT 第一页:封面
PPT 第一页:封面

PPT 第一页演讲文稿

大家好,我是 donghui,今天我分享的话题是:说说 Ruby 与 Serverless。

从2020年下半年开始,一直关注与研究 Serverless。最近查阅 Serverless 相关资讯,注意到一个 Ruby Serverless 框架——Jets。心中便有一些疑问:为什么会有这个项目?它是用来做什么的?作为一门小众语言,有哪些 Serverlss 平台支持了 Ruby 语言?既然有这么多疑问,于是就想理一理 Ruby 与 Serverless 之间的关系,随之自然而然就有了这次分享。

PPT 第二页:目录
PPT 第二页:目录

PPT 第二页演讲文稿

本次分享主要分为以下四部分:

  • Ruby 简介;
  • 哪些流行的项目是用 Ruby 开发的?
  • Ruby Serverless 框架——Jets;
  • Faas 平台对 Ruby 的支持情况。

本次分享会着重介绍 Faas 平台对 Ruby 的支持情况。

第三页:Ruby 简介
第三页:Ruby 简介

PPT 第三页演讲文稿

首先介绍下 Ruby,它由日本的松本行弘于1993年创立,它的 logo 是一颗闪亮、美丽的红宝石。

第四页:Ruby 3.0.0 发布
第四页:Ruby 3.0.0 发布

PPT 第四页演讲文稿

最近关于 Ruby 的最大新闻是:2020年12月25日,Ruby 3.0.0 正式发布。

Ruby 3.0.0 的目标是更高的性能、并发性和更安全的类型。尤其是在性能上,官方表示「Ruby 3 会比 Ruby 2 快 3 倍」。

第五页:哪些流行的项目是用 Ruby 开发的?
第五页:哪些流行的项目是用 Ruby 开发的?

PPT 第五页演讲文稿

有哪些流行的项目是用 Ruby 开发的呢?这里首先要提的是全球著名的代码社交平台 Github,它是开源项目的沃土。

GitHub 最初就是使用 Ruby on Rails 构建的,它是 Ruby 社区创建的一个项目,Github 的流行 Ruby 社区功不可没。

值得一提的是,近些年,开发者在找工作时,有时 GitHub 开源项目经历也成了一个加分项。

类似的,作为 GitHub 的开源替代产品,Gitlab 支持私有化部署,它也是使用 Ruby on Rails 构建的。

如果要在内网搭建代码管理平台,GitLab 绝对是首选;曾经工作过的公司代码管理平台无一例外都是使用 GitLab 搭建的。

比较流行的 CI 服务,Travis CI 也是由 Ruby 开发的,它是一个托管的 CI 服务平台,与 GitHub 紧密集成。

使用过 GitHub 的开发者应该知道它,如果你在 GitHub 上有开源项目,就可以免费使用 Travis CI 构建自己的 CI 流水线。

Jekyll 是一个简单的博客形态的静态站点生成器,它也是使用 Ruby 开发的。使用 GitHub Pages + Jekyll,可以轻而易举地在 GitHub 上免费发布网站。

当然还有很多使用 Ruby 开发的项目,一些 Ruby 开发的其他服务或应用,可以关注 PPT 页面给出的 URL。

第六页:Ruby Serverless 框架——Jets
第六页:Ruby Serverless 框架——Jets

PPT 第六页演讲文稿

下面说说 Jets, 它是一个 Ruby serverless 框架,可以让你轻松创建和部署服务。

它包括了构建 API 并将其部署到 AWS Lambda 所需要的一切。

Jets 是一个脚手架,你只需要专注编写代码,Jets 会将代码转换为 Lambda 函数和其他 AWS 资源(如:API Gateway、S3、DynamoDB)。

第七页:Jets 轻松构建 Serverless 架构应用
第七页:Jets 轻松构建 Serverless 架构应用

PPT 第七页演讲文稿

Jets 可以构建许多体系结构。PPT 图中所展示的传统 Web 架构示例,可以使用 Jets 轻松完成。

此外,Jets 的文档特别丰富,上手成本也低,对于 Ruby 开发者来说,绝对值得一试。

第八页:哪些 Serverless Faas 平台支持 Ruby?
第八页:哪些 Serverless Faas 平台支持 Ruby?

PPT 第八页演讲文稿

平心而论,Ruby 是一门小众的编程语言,尤其是在国内,日常工作中很少用到。

据统计,Serverless Faas 最常用的语言是 NodeJS,其次是 Python,Ruby 用的少。

有哪些公有云 Serverless Faas 平台支持 Ruby 语言呢?

公有云 Serverless Faas 平台一般不会支持所有语言,但是它们大多支持 Custom Runtime(自定义语言)。

对于官方不支持的语言,就可以通过 Custom Runtime 来实现。

这里对各个公有云 Serverless Faas 平台支持的语言做一个梳理。

这些公有云 Serverless Faas 平台包括:AWS Lambda、Azure Functions、IBM Cloud Functions、腾讯云云函数 SCF、阿里云函数计算、百度智能云函数计算 CFC、华为云函数工作流 FunctionGraph。

从 PPT 的图表可以看出,众多公有云 Faas 平台中 AWS Lambda 和 IBM Cloud Functions 官方提供了对 Ruby 的支持。

第九页:AWS Lambda 与 Ruby
第九页:AWS Lambda 与 Ruby

PPT 第九页演讲文稿

AWS Lambda 应该是最早支持 Ruby 的。其中,在2018年11月29日,AWS Lambda 正式支持了 Ruby 2.5;2020年2月19日,支持了 Ruby 2.7。

第十页:We Want Faas for Ruby
第十页:We Want Faas for Ruby

PPT 第十页演讲文稿

这里还有一个 关于 Ruby 与 Serverless 的故事:在 AWS Lambda 未支持 Ruby 之前,Ruby 社区曾于2018年3月9日在 serverless-ruby.org 发布了一个请愿书,请求 Faas 平台支持 Ruby,共有1602个开发者签署了这个请愿书。

第十一页:AWS Lambda Custom Runtime
第十一页:AWS Lambda Custom Runtime

PPT 第十一页演讲文稿

此外,在 GitHub awslabs 组织的仓库中,有三个与 AWS Lambda Custom Runtime 相关的仓库,分别提供了对 Rust、C++ 和 Dart 的支持。

第十二页:Azure Functions 与 Ruby
第十二页:Azure Functions 与 Ruby

PPT 第十二页演讲文稿

关于 Azure Functions 对 Ruby 的支持,开发者在 GitHub 的 Azure-Functions 仓库提交了一个相关 issue 请求支持 Ruby,有 Azure 的官方人员回复它将使用 Custom Runtime 实现对 Ruby 的支持并在那个 issue 公开。或许不久的将来,将会看到基于 Custom Runtime 对 Ruby 的支持。

第十三页:IBM Cloud Functions 与 Ruby
第十三页:IBM Cloud Functions 与 Ruby

PPT 第十三页演讲文稿

IBM Cloud Functions 基于 Apache OpenWhisk 搭建的,因为 Apache OpenWhisk 支持 Ruby,所以 IBM Cloud Functions 也是支持 Ruby 的。

第十四页:腾讯云 SCF Custom Runtime
第十四页:腾讯云 SCF Custom Runtime

PPT 第十四页演讲文稿

腾讯云云函数 SCF,在官网上有一个关于 Custom Runtime 的示例,讲述的是使用 Custom Runtime 创建 Bash 示例函数。

在 GitHub 上有两个开发者实现的 Custom Runtime 仓库,分别提供了对 Swift 和 .NET 的支持。

目前没有在 GitHub 上找到关于 Ruby 的实现。

第十五页:阿里云函数计算 Custom Runtime
第十五页:阿里云函数计算 Custom Runtime

PPT 第十五页演讲文稿

阿里云函数计算在官方文档中列出了一些基于 Custom Runtime 实现的语言,其中包含了 Ruby。

第十六页:开源的 Faas 平台支持 Ruby
第十六页:开源的 Faas 平台支持 Ruby

PPT 第十六页演讲文稿

除了公有云的 Serverless Faas 平台,一些开源的 Faas 平台也提供了对 Ruby 的支持,如:Apache OpenWhisk、Kubeless、OpenFaas、Fission 等。

第十七页:相信未来
第十七页:相信未来

PPT 第十七页演讲文稿

最后,做个总结,本次分享首先介绍了 Ruby 以及使用 Ruby 构建的流行项目,紧接着介绍了 Ruby Serverless 框架——Jets,最后主要阐述了 Serverless Faas 平台对 Ruby 的支持情况,相信未来会有更多的 Faas 平台支持 Ruby。

谢谢!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • PPT 第一页演讲文稿
  • PPT 第二页演讲文稿
  • PPT 第三页演讲文稿
  • PPT 第四页演讲文稿
  • PPT 第五页演讲文稿
  • PPT 第六页演讲文稿
  • PPT 第七页演讲文稿
  • PPT 第八页演讲文稿
  • PPT 第九页演讲文稿
  • PPT 第十页演讲文稿
  • PPT 第十一页演讲文稿
  • PPT 第十二页演讲文稿
  • PPT 第十三页演讲文稿
  • PPT 第十四页演讲文稿
  • PPT 第十五页演讲文稿
  • PPT 第十六页演讲文稿
  • PPT 第十七页演讲文稿
相关产品与服务
云函数
云函数(Serverless Cloud Function,SCF)是腾讯云为企业和开发者们提供的无服务器执行环境,帮助您在无需购买和管理服务器的情况下运行代码。您只需使用平台支持的语言编写核心代码并设置代码运行的条件,即可在腾讯云基础设施上弹性、安全地运行代码。云函数是实时文件处理和数据处理等场景下理想的计算平台。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档