BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Google CloudがCloud FunctionsでRubyをサポート

Google CloudがCloud FunctionsでRubyをサポート

原文(投稿日:2021/02/13)へのリンク

Google Cloudは最近、Ruby on Cloud Functionsの公開プレビュー版を発表した。Ruby用のオープンソース関数フレームワークは、HTTP関数とCloudEvent関数をサポートしている。

2017年にGoogleによって導入されたCloud Functionsは、クラウドサービスを構築、接続するためのサーバレス実行環境である。関数は言語固有のランタイムで実行され、Node.js、Python、Go、Java、.NET、そして現在はRubyで記述できる。実行環境には、ランタイム、オペレーティングシステム、および関数を呼び出すライブラリが含まれる。Rubyの場合、プレビュー版でサポートされるランタイムはRuby 2.6とRuby 2.7である。GoogleのシニアデベロッパーリレーションエンジニアであるDaniel Azuma氏は、デベロッパーがそれらをどのように使うかを説明している。

HTTPイベントに応答するHTTP関数を記述できます。また、Pub/Sub、Cloud Storage、FirestoreなどのさまざまなクラウドやGoogleCloudサービスから提供されるイベントを処理するCloudEvent関数を記述できます。

別の記事「Rubyサーバレスランタイムの設計」では、製品の背景にある設計上の選択と、関数構文、同時実行性とライフサイクル、テスト、依存関係、標準の5つの異なるコンポーネントへのアプローチについて説明している。彼は次のように結論づけている。

サーバレスは、コンピューティングリソースについての根本的に異なる考え方である。業界として、私たちはまだその影響についての理解が非常に早い段階にあります。私のチームがGoogle Cloud Functions用のRubyランタイムを設計したとき、サーバレスパラダイムが通常のRubyのプラクティスと相互作用させる方法に注意を払いました。場合によっては、テストと同様に、Rubyカルチャーの良い部分を強化することをお勧めします。また、これは、厳密に言えば関数がない言語で関数を表現および表記する方法と同様に、どのようにコードを提示してその意図を伝えるかについてのアイデアに対する挑戦となります。

オープンソースのFunctions Framework for RubyはGitHubで入手できる。Cloud Functionsに加えて、Cloud Run、Knativeベースの環境、ローカル開発マシンをサポートする。

Mechanical RockのシニアコンサルタントであるJK Gunnink氏は、Google CloudでのRuby関数の自動テストとデプロイに関するガイドを作成した。Googleは、サーバレスフレームワークで言語をサポートする最初のクラウドプロバイダーではない。VTEXのソフトウェアエンジニアであるRicardo Siqueira de Oliveira Leite氏は、2年前にツイートしていた。

Ruby向けのFaaS(Function as a service)が欲しい!これは、Rubyコミュニティがサーバレスに移行し、サービスプロバイダーとしての機能を示す準備ができていることを示すオンラインの嘆願です。

その嘆願は、1600人以上の開発者によって署名され、現在はRuby愛好家のためのフォーラムとなっている。2年後、2018年からAWS Lambdaをサポートし、現在はGoogle Cloudをサポートしており、コミュニティは目標を達成している。AWSサーバレスヒーローでCustom InkのプリンシパルエンジニアであるKen Collins氏は、今年初めにLambda Containers with Railsをリリースした。Azure Functionsは現在7つの言語をサポートしているが、Rubyはその1つではない。

Google Cloud FunctionsではRubyクイックスタートガイドを利用できる。他のサポート言語と同様に、GCPには月ごとの無料枠がある。無料枠には、200万回の呼び出しと、400000GB秒と200000GHz秒の計算時間の割り当てが含まれる。

この記事に星をつける

おすすめ度
スタイル

BT