1. 概要
1.1 Build.ioとは?
Section titled “1.1 Build.ioとは?”現代のアプリケーション向けセキュアなPaaS
Section titled “現代のアプリケーション向けセキュアなPaaS”Build.ioは、高パフォーマンスチームのための堅牢なPaaSです。セキュリティ、CI/CD、GitHubとのシームレスな統合におけるベストプラクティスで開発を強化します。
SaaSアプリケーションをセキュアにデプロイ
Section titled “SaaSアプリケーションをセキュアにデプロイ”Build.ioは、すでに使用しているツールとシームレスに統合されます。GitHubを通じて認証し、アプリケーションをBuild.ioに直接素早くデプロイできます。
Build.ioがプロジェクトに適したビルドパックを自動検出
Section titled “Build.ioがプロジェクトに適したビルドパックを自動検出”Build.ioは、プロジェクトに適したビルドパックを自動的に検出し、ベストプラクティスに基づいたセキュアなビルド環境を作成します。Google、Bloomberg、その他数千の大手企業に信頼されているビルドパックレシピを活用し、アプリのデプロイをスムーズかつ確実に行います。
信頼してデプロイし、スケールし、コストを節約
Section titled “信頼してデプロイし、スケールし、コストを節約”Build.ioを使えば、ワンクリックでアプリをデプロイできます。ニーズに合わせて、プライベートおよびパブリッククラウドの両方のデプロイオプションから選択できます。
アプリのデプロイに必要なすべてが揃っている
Section titled “アプリのデプロイに必要なすべてが揃っている”Build.ioは、すでに使用しているツールとシームレスに統合されます。GitHubを通じて認証し、アプリケーションをBuild.ioに直接素早くデプロイできます。
データベース、キャッシュなどを含む豊富なアドオンでアプリケーションを強化し、パフォーマンスとスケーラビリティをシームレスに向上させます。
SSL証明書
Section titled “SSL証明書”Build.ioのSSL証明書でアプリケーションを自動的にセキュアに保護します。最初のアクセスから暗号化された接続を確保し、エンドユーザーとの信頼を築きます。
高可用性と耐障害性のために設計されたBuild.ioの堅牢なアーキテクチャに依存できます。あらゆる負荷条件下でパフォーマンスと安定性を維持します。
クラウドネイティブビルドパックのすべての利点
Section titled “クラウドネイティブビルドパックのすべての利点”Build.ioの中核にはCloud Native Buildpacksがあります。手動作業なしにビルドパックのすべての利点を得ることができます。
高度なキャッシュ
Section titled “高度なキャッシュ”パフォーマンス向上のために堅牢なキャッシュが使用されています。
ビルドを再実行することで、同じアプリイメージダイジェストを再現します。
モジュール式 / プラグイン可能
Section titled “モジュール式 / プラグイン可能”複数のビルドパックを使用してアプリイメージを作成できます。
マルチ言語対応
Section titled “マルチ言語対応”複数のプログラミング言語ファミリーをサポートしています。
Heroku互換
Section titled “Heroku互換”Herokuの最も人気のある機能がそのまま使えます。
コミュニティからの本番環境対応のビルドパックを活用できます。
セキュリティとコンプライアンス:世界中の数百人の開発者に信頼されています
Section titled “セキュリティとコンプライアンス:世界中の数百人の開発者に信頼されています”Build.ioは、米国(東部および西部)、西ヨーロッパ、日本の主要なインターネットハブに戦略的に配置されたTier 4データセンターから運営されるマネージドサービスです。
私たちのチームは、Cloud Native Computing Foundation(CNCF)のもとで、Metasploit、Kubernetes、QVIP、Ciliumなどの著名なセキュリティツールおよびプロジェクトの主要貢献者で構成されています。複数のCISSP認定者およびCrest CRT認定ペネトレーションテスターを擁し、あらゆるレベルでセキュリティを最優先にしています。セキュリティとコンプライアンスについては、チームにお問い合わせください。
1.2 仕組み(高レベルアーキテクチャ)
Section titled “1.2 仕組み(高レベルアーキテクチャ)”
Build.ioはあなたのコードを受け取り、クラウドで実行します。コードをプッシュするだけで、サーバー、ネットワーク、スケーリング、デプロイはすべて私たちが処理します。このセクションでは、遭遇する主要なコンセプトを説明します。
コードから実行中のアプリへ
Section titled “コードから実行中のアプリへ”Build.ioにデプロイすると、以下のことが起こります:
コードはビルドシステムに送信され、言語とフレームワークが自動的に検出されます。
依存関係をインストールし、必要に応じてアセットをコンパイルし、すべてを軽量なコンテナにパッケージングします。
そのコンテナは次にインフラにデプロイされ、トラフィックを受け取り始めます。
サーバー、オペレーティングシステム、コンテナのオーケストレーションを管理する必要はありません。コードと設定を管理するだけです。
パイプライン:デプロイワークフロー
Section titled “パイプライン:デプロイワークフロー”パイプラインはBuild.ioの中核です。開発から本番環境へのコードの旅を表し、現代のチームが実際にどのように働くかに基づいて設計されています。
典型的なパイプラインには3つのステージがあります:

レビューアプリは、プルリクエストを開いたときに自動的に作成される一時的な環境です。各PRには独自のURLを持つ独立したアプリが割り当てられ、チームがマージ前に変更をテスト・レビューできます。PRがクローズされると、レビューアプリは自動的に削除されます。
ステージングは本番前環境です。コードがメインブランチにマージされると、ここに自動的にデプロイされます。本番環境に移行する前に最終テスト、QAチェック、またはデモを行う場所です。ステージングは本番環境をできるだけ正確に反映します。
本番環境は実際のユーザーにサービスを提供するライブ環境です。ステージングで動作確認ができたら、ワンクリックで本番環境にプロモートできます。これは再ビルドではなく、ステージングで実行された同一のコンテナが本番環境にデプロイされるため、「自分のマシンでは動く」という問題を排除します。
主要なコンセプト
Section titled “主要なコンセプト”アプリはデプロイの中核単位です。アプリは単一のデプロイ可能なコードベース(通常は1つのWebサービス、API、またはワーカープロセス)です。
ダイノはコードを実行する軽量コンテナです。ダイノを追加することで水平スケール、より大きなダイノサイズを選択することで垂直スケールができます。
ビルドパックは言語を検出し、依存関係をインストールし、アプリをコンパイルするスクリプトです。一般的な言語向けの公式ビルドパックを提供しているほか、カスタムビルドパックを使用することもできます。
設定変数はアプリを設定するための環境変数です。データベースURL、APIキー、フィーチャーフラグはすべてここに属します。コードには含めないでください。
アドオンは、ワンコマンドでアプリにアタッチできるデータベース、キャッシュ、モニタリング、ロギングなどのマネージドサービスです。
管理するものと私たちが管理するもの
Section titled “管理するものと私たちが管理するもの”
1.3 クイックスタートガイド(5分で最初のアプリをデプロイ)
Section titled “1.3 クイックスタートガイド(5分で最初のアプリをデプロイ)”5分以内に最初のアプリをデプロイしましょう。
必要なもの:
- Build.ioアカウント(こちらでサインアップしてアカウントの有効化をお待ちください)
- デプロイする既存のアプリケーション
1.3.1 アプリを作成する
Section titled “1.3.1 アプリを作成する”ページ右上のアバターの隣にある**New +**ドロップダウンボタンを見つけ、このメニューから「New App」をクリックします:

開いたページで、アプリに名前を付け、リージョンをus-east-1に設定します:

新しいアプリが作成され、ページ上部にさまざまなタブを持つ新しいページが表示されます。
1.3.2 スタックを選択する
Section titled “1.3.2 スタックを選択する”Settingsタブをクリックします。このページで、(推奨される)ビルドパックアプローチを使用してアプリをビルドする場合は、スタックを最新のHerokuスタックに設定します:

1.3.3 必要なビルドパックを選択する
Section titled “1.3.3 必要なビルドパックを選択する”同じページのさらに下にあるBuildpacksセクションを見つけ、アプリケーションが必要とする言語/フレームワーク固有のビルドパックを追加します。このサンプルアプリはRubyアプリなので、公式のHeroku Ruby BuildpackのGitHubリポジトリへのフルパスを指定します:

1.3.4 Gitリポジトリを接続する
Section titled “1.3.4 Gitリポジトリを接続する”ページ上部のタブから「Deploy」をクリックし、Connectionセクションを見つけます。ここでアプリをGitHubリポジトリに接続します。上のボックスからGitHub Organizationを選択し、2番目のボックスでリポジトリ名を検索します。返された結果一覧から、目的のリポジトリの「Connect」をクリックします:

このステップが完了すると、Connectionセクションは接続が機能していることを示す表示になります:

1.3.5 デプロイ
Section titled “1.3.5 デプロイ”このページの下部にスクロールしてManual Deployを開始し、デプロイしたい関連ブランチを選択します。Deploy Branchをクリックするとプロセスが開始されます:

アプリがリアルタイムでビルドされる様子を示すビルドページにリダイレクトされます:

いつでもOverviewタブに戻り、アプリのメインビューを確認できます。ビルドが成功した(44秒前)ことと、その後デプロイされた(1秒未満前)ことがわかります。このページの「Go」リンク(右上)をクリックすると、新しく作成されたアプリが開き、すぐに使用できます:

これで完了です!Build.ioへの最初のアプリのデプロイが完了しました!
1.4 サポートされている言語とフレームワーク
Section titled “1.4 サポートされている言語とフレームワーク”Build.ioは、チームがすでに使用している言語とフレームワークをサポートしています。コンテナで実行できるものは、Build.ioでも実行できます。コンテナを触ったことがない方でも、ビルドパックがすべてを自動的に処理してくれる可能性が高いです。
あなたのスタックがサポートされているか不明な場合は、ほとんどのWebアプリケーションはそのまま動作します。問題が発生した場合は、support@build.ioにご連絡いただければ、セットアップをサポートします。
公式ビルドパック
Section titled “公式ビルドパック”業界をリードするクラウドプロバイダーが管理するIndustry-standard Cloud Native Buildpacksを使用しています。これらのビルドパックは実績があり、定期的に更新され、本番ワークロード向けに最適化されています。高速ビルド、小さなイメージ、本番対応のデフォルト設定に最適化されており、設定は不要です。新しい言語バージョン、セキュリティパッチ、パフォーマンス改善のための定期的な更新を受けます。
コミュニティビルドパック
Section titled “コミュニティビルドパック”公式ビルドパックに加えて、より広いCloud Native Buildpacksコミュニティのビルドパックを使用することができます。これにより、追加の言語、代替ランタイム、特殊な設定のサポートが利用できます。
カスタムビルドパック
Section titled “カスタムビルドパック”スタックに特有の要件がある場合は、独自のビルドパックを作成するか、既存のビルドパックをフォークできます。カスタムビルドパックにより、デプロイパイプラインの恩恵を受けながらビルドプロセスを完全にコントロールできます。
コンテナデプロイ
Section titled “コンテナデプロイ”すでにDockerワークフローをお持ちですか?ビルドパックを完全にバイパスして、任意のDockerイメージを直接デプロイできます。コンテナで実行できるものは、Build.ioでも実行できます。