Deno Deploy Beta 4がリリース
2022年5月24日、Deno Deploy Beta 4がリリースされました。このリリースでは、ダッシュボードの改善や課金機能の追加、3つの新しい地域の追加・分析の改善が行われています。発表内容から見てみると、2022年第3四半期の正式版リリースに向けて1歩近づいている印象があります。 【参考】:Deno Deploy Beta 4
Deno Deployの概要と特徴
Deno Deployとは、JavaScript・TypeScript・WebAssemblyをエッジで実行する分散システムを指します。Denoのコードを簡単にデプロイでき、世界34地域で利用可能です。サーバーサイドJavaScriptをホストするサーバーレス環境を目指しています。 【参考】:Deno Deploy
Deno Deployは、ウェブ上でビルドすることができます。URLを指定するだけでコードをデプロイすることができ、リージョンを活用して世界中のユーザ向けの高速デプロイを実現します。
Denoとは
Denoとは、V8 JavaScriptエンジン上に構築された実行環境を指し、JavaScriptやTypeScriptの実行を行います。この考え方はNode.jsと同じで、Node.jsの作者であるライアン・ダール氏が考案したものです。Node.js考案後、その経験と反省を生かしDenoを開発しました。2022年6月時点の最新版は、1.23.3です。 【参考】:Deno 【参考】:GitHub Deno
Deno Deployの日本での提供
Deno Deployは、世界の34地域でデプロイすることができます。アメリカが9か所、ヨーロッパが10か所でアジアは9か所となります。日本は東京と大阪にアクセス拠点があり、デプロイ速度を向上させることができます。 【参考】:Deno Deploy Regions
Deno Deploy Beta版のアップデート内容
Deno Deployは、2021年6月23日にリリースしたBeta 1から順次改良を進めています。当初から25のリージョンで提供を進め、Deno CLIのワークフローを補完するために、提供開始しました。2021年9月1日にBeta 2、2021年10月28日にBeta 3をリリースしています。
【参考】:Deno Deploy Beta 1 【参考】:Deno Deploy Beta 2 【参考】:Deno Deploy Beta 3
当初は2021年第4四半期を正式リリースの目標としていましたが、現在は2022年第3四半期リリースを目指しています。以降では、最新リリースとなるDeno Deploy Beta 4のアップデート内容を解説していきます。 【参考】:Deno Deploy Beta 4
課金機能
従来、Deno Deployはテクノロジープレビューとして無償提供されていました。今回のリリース以降は、正式リリースに向けて有料プランが設定されます。提供プランは「FREE プラン」と「PRO プラン」の2つです。
・FREE プラン 100kリクエスト/日、1リクエストあたりのCPU時間10ミリ秒、1ヶ月のデータ転送量100GiBまでが、プランに含まれます。GitHubインテグレーションが含まれており、PrivateとPublicの両方のリポジトリでPushデプロイが可能です。
・PRO プラン 月額10USドルから始められ、最大500万リクエスト/月、1リクエストあたり50ミリ秒のCPU時間、ワイルドカードサブドメイン、0.30ドル/GiBのデータ転送が含まれます。500万回を超えるリクエストは、2USドル/100万回の追加費用が発生します。
【参考】:Deno Deploy Beta 4 Billing 【参考】:Pricing Deno Deploy 【参考】:Deno Deploy Pricing & Limits
新しい提供リージョン
Deno Deploy Beta 4の提供に合わせて、3つの提供リージョンが追加されています。具体的には、ミラノ・マドリード・パリを加えた、世界34地域でコードのデプロイ・実行が可能です。 【参考】:Deno Deploy Beta 4 New Regions
新しいダッシュボード
従来のダッシュボードを大幅に改善し、アプリの管理が簡単になります。具体的には以下の表示機能が提供されます。 【参考】:Deno Deploy Beta 4 New Dashboard
・プロジェクトビュー表示 プロジェクト単位で、リクエスト数・転送バイト数や、1リクエストあたりの平均使用CPU時間が表示できます。タイムインターバルを、24時間・7日間・30日間から選択し表示することもできます。
・プロジェクト単位の解析 プロジェクトログを改善し、ログレベルやリージョンのフィルタリングUIが追加されました。
・プロジェクト設定 Playgroundsに「Hello World」「JSX」「WASM」の3つのテンプレートが追加されました。ブラウザ上でコードの編集・デプロイ・実行がすぐに始められ、使い勝手が向上しています。
今後の予定について
正式リリースは、2022年第3四半期を予定し準備を進めています。今後のリリースでは、キャッシングやCLIの相互運用性の向上、分析・ロギングの改善などが予定されています。 【参考】:Deno Deploy Beta 4 What's Next?
Deno Deployの使い方
Deno Deployを使ったデプロイメントでは、アプリケーション実行用コードと環境変数を配布していきます。デプロイメントを作成するには、PlaygroundやGitHub 統合、deployctl コマンドなどの方法があります。 【参考】:Deno Deploy Docs: Deployments
Deno Deployを使用しデプロイするには、サインアップが求められます。登録の際には、GitHubアカウントが必要です。 【参考】:Deno Sign up
Deno Deployの使用コード
Deno Deployの使用コードですが、コードの見本となる「Hello World」を用いるのが良いでしょう。「Hello World」はどの言語でも登場しますので、理解を深めるのに最適です。 【参考】:Deno Deploy Docs 【参考】:Deno Deploy Docs: Hello World 【参考】:Deno Deploy Docs: Examples
ドキュメントサイトに掲載されている、サンプル集を見てみましょう。掲載例では、”https://deno.land/std@0.140.0/http/server.ts”に格納されている、serve関数を”import”し、serve関数に設定したfunction handlerを渡していることが分かります。7つのサンプルが掲載されていますが、定義方法は共通です。
このようなスクリプトコードをDeno社のグローバルネットワークを通じてデプロイし、利用可能な状態をキープします。
Playgroundを使ったデプロイ方法
Deno DeployのPlaygroundは、コードをデプロイする最も簡単な方法です。Playgroundツールを使って簡単に遊んだり、ちょっとしたプロジェクトを作成したりすることができます。コードの記述や実行、結果の出力をブラウザ上で確認することができます。 【参考】:Deno Deploy Docs: Playgrounds
コード作成はエディタが用意されており、新しいPlayground作成時に自動的に起動します。使用するには、ダッシュボードである”https://dash.deno.com”にアクセスし、サインインしてください。表示される「New Playground」ボタンから新しいPlaygroundのプロジェクトが作成できます。
コード編集後、「Save & Deploy」ボタンで保存しデプロイすることができます。また他の利用者と共有したり、GitHubリポジトリに公開したりすることもできます。 【参考】:Deno Deploy Dashboard
GitHub 統合を使ったデプロイ方法
GitHub 統合では、より複雑なプロジェクトのためのデプロイメントを作成することができます。具体的には、プロジェクトをGitHubリポジトリにリンクし、リンク先のリポジトリに新しいコミットがプッシュされるたびに、自動的にリポジトリからアプリケーションコードを取得して新しいデプロイメントを作成することができます。
動作モードには「自動」と「GitHub Actions」があります。自動モードの場合は、プッシュするたびに自動的にリポジトリソースからコードとアセットを取得し、デプロイしますので推奨されています。
「GitHub Actions」では、GitHub ActionsのワークフローからDeno Deployにコードやアセット情報をプッシュすることができます。 【参考】:Deno Deploy Docs: Deployment Git Integration 【参考】:Deno Deploy Docs: Project Git Integration 【参考】:GitHub App Deno Deploy
deployctlコマンドを使ったデプロイ方法
deployctl は、Deno Deploy にコードをデプロイするためのコマンドラインツールです。deployctlを使うことで、GitHub自動連携以外にも、デプロイの詳細を制御することができます。 【参考】:Deno Deploy Docs: Deployment deployctl 【参考】:Deno Deploy Docs: deployctl
deployctlコマンドは、以下の方法でインストールできます。
deno install --allow-read --allow-write --allow-env --allow-net --allow-run \
--no-check -r -f https://deno.land/x/deploy/deployctl.ts
使用方法ですが、ローカルスクリプトをデプロイするには以下のコマンドを用います。
deployctl deploy --project=helloworld main.ts
リモートスクリプトをデプロイする場合は、以下のように実行します。
deployctl deploy --project=helloworld --no-static https://deno.com/examples/hello.js
その他使い方詳細については、”deployctl -h”でご確認ください。
スクリプトをローカルで実行するには
作成コードをローカルで実行するには、Deno CLIを用いて”deno run”コマンドを用います。Deno CLIは別途Deno自体のインストールが必要です。Denoの詳細やインストール方法については、以下のドキュメントをご確認ください。 【参考】:Deno Manual: Getting Started 【参考】:Deno Manual: Installation
Blogで更新情報をチェックしましょう
Denoでは、更新情報はBlogに掲載されます。Deno DeployのほかDeno CLIなど関係するサービスリリースをチェックするのが良いでしょう。Deno Deployの正式リリースに向けて、Deno Blogサイトで動向を確認し役立てましょう。 【参考】:Deno Blog
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから