ブログに戻る

フォロー&ご登録

Cloud Deploy のご紹介 : Compute プロジェクトの立ち上げがより簡単に

Kailan Blanks

Developer Relations、Senior Software Engineer, Fastly

Compute なら、無限の柔軟性のもとで、開発者がエッジでアプリケーションを構築することができます。今回、Web ブラウザだけで Compute を始められるようにしたのが Cloud Deploy です。このウィザードは、既存のテンプレートのデプロイとカスタマイズを行い、開発のベストプラクティスに基づいた自動デプロイメントワークフローを提供するものです。

Fastly のエッジコンピューティングプラットフォームであるCompute を使い始めるにはスターターキットが最適ですが、立ち上げるために必要な他のリソース (バックエンド、ディクショナリ、ロギングエンドポイントなど) が常に明確であるとは限りません。この点、プロジェクトマニフェストにセットアップ情報を投入することで、コードが利用する Fastly のリソースを指定することが可能になりました。 

この機能は Fastly CLI で少し前からサポートされており、最初のデプロイの際に必要な追加設定が促されるものです。ただし、これは Fastly のツールがお客様のコンピュータにインストールされており、ローカルデプロイプロセスを使用することに異存がないことが前提です。

もしこの前提を満たしていない場合はどうでしょうか?この追加データを使えば、ターミナル環境以外でも非常に便利なエクスペリエンスを実現することができます。最初に挙げるCloud Deploy は、任意のパブリックな Compute テンプレート (すべての公式スターターキットを含む) をご自身の Fastly アカウントにデプロイし、GitHub リポジトリに接続されたエッジホストで動作するアプリケーションを、数クリックで自動継続的にデプロイできます。

Cloud Deploy を生み出すにあたって、Fastly は、類似のツールからヒントを得ました。2016年、私が Ruby on Rails アプリの作り方を学んでいた頃、Deploy to Heroku ボタンを使っていたのを覚えています。そのおかげで、デプロイや運用よりも作成作業に集中することができ 、お客様のためにこのツールを開発することに大きな興奮を覚えました。

アプリをデプロイ可能に

Compute のプロジェクトを自動的にデプロイできるようにするには、fastly.toml にいくつかのセットアップ情報を定義する必要があります。上記のスクリーンショットにあるプロジェクトの設定例は次のとおりです :

 [setup.backends]
   [setup.backends."api.openweathermap.org"]
     address = "api.openweathermap.org"
     description = "OpenWeatherMap API Server"
     port = 443
 [setup.dictionaries]
   [setup.dictionaries.weather_auth]
     [setup.dictionaries.weather_auth.items]
       [setup.dictionaries.weather_auth.items.key]
         description = "API token for openweathermap.org"

この例では、1つのバックエンド (「api.openweathermap.org」) と1つの項目 (「key」) を持つディクショナリを定義しています。バックエンドはデフォルトのアドレスとポートを持ちますが、デプロイ時にユーザーがこれらをオーバーライドすることができます。ディクショナリの項目にはデフォルト値がないので、ユーザーはこれを指定する必要があります。

また、このリポジトリをテンプレートリポジトリとしてマークし、アプリがこのリポジトリから新しいリポジトリを生成できるようにする必要があります。その上で、README.md に以下のスニペットを追加して、ユーザーをデプロイアプリに送るようにします :

[![Deploy to Fastly](https://deploy.edgecompute.app/button)](https://deploy.edgecompute.app/deploy)

独自のプラットフォームによる構築

Cloud Deploy は Compute 向けであるというだけでなく、完全に Compute 上で構築されています。WebAssembly にコンパイルされた Rust アプリケーションであるため、超高速に動作します。pagespeed.compareによると、エッジで提供される Fastly の Cloud Deploy アプリは、類似のツールと比較して、最も速いワンボタンでのデプロイを実現しているとのことです。

実際に試してみましょう

Compute の実力をご自身の目で確かめたい方は、今すぐ Cloud Deploy を試してみませんか?アカウントAPI トークンをご用意いただき、下のボタンをクリックしてください。