【個人開発×GCP】個人開発に便利なGCPサービスを紹介!~Firebase、Cloud Runのススメ~

詳細情報

集会名 個人開発集会
日時 2024年03月28日 22:00 - 22:30
テーマ 個人開発はGCPが便利だぞって話
発表者 かるだん
発表資料

登壇者情報

  • 発表者: かるだんさん
  • イベント: 個人開発集会
  • 開催日: 2024年3月28日

発表のハイライト

  • 個人開発でGCPを活用するメリットを紹介
  • 個人的におすすめのGCPサービスとしてFirebaseとCloud Runを紹介
  • Firebase Authentication、Firestore、Cloud Runの特徴やメリット、利用シーンなどを解説

はじめに

VRChatで開催された個人開発集会で、かるだんさんが「個人開発はGCPが便利だぞって話」というテーマで発表しました。今回の記事では、その内容を詳しく紹介します。

なぜ個人開発にGCPがおすすめなのか?

GCP(Google Cloud Platform)は、Googleが提供するクラウドコンピューティングサービスです。個人開発においても、以下のような理由からGCPの活用がおすすめです。

  • 個人開発に最適な機能が充実: 特に、サーバーレスやマネージドサービスが充実しており、個人開発者にとってインフラ管理の手間を軽減できる点は大きなメリットです。
  • 情報量の多さ: GCPは個人開発者にも広く利用されているため、Web上に多くの情報源が存在します。公式ドキュメントやチュートリアル、ブログ記事などが充実しており、開発中に困ったときも解決策を見つけやすいでしょう。
  • コストパフォーマンスの良さ: GCPは、無料枠や従量課金制など、個人開発者にとって利用しやすい料金体系となっています。低コストでサービスを利用できるため、開発費を抑えたい個人開発者にとって魅力的です。

個人開発におすすめのGCPサービス

数あるGCPサービスの中でも、個人開発におすすめのサービスとして、かるだんさんは FirebaseCloud Run を紹介しました。

個人開発の強い味方!Firebaseのススメ

Firebaseは、モバイルアプリやウェブアプリの開発、成長、収益化に必要なツールを提供する、GCPのBaaS(Backend as a Service)です。

Firebase Authentication: セキュアで簡単な認証機能の実装

Firebase Authenticationは、簡単にアプリケーションに認証機能を追加できるサービスです。

  • メリット
    • セキュリティの確保: 自前で認証機能を開発するよりも、Firebase Authenticationを利用することで、セキュリティリスクを低減できます。
    • 開発コストの削減: 認証機能の実装にかかる時間と労力を大幅に削減できます。
    • 柔軟性: メールアドレス/パスワード認証、Googleアカウント、Apple IDなど、様々な認証方法に対応しています。

Firestore: クラウドベースのNoSQLデータベース

Firestoreは、モバイルアプリ、ウェブアプリ、サーバーから簡単にデータの保存、同期、クエリを実行できるNoSQLデータベースです。

  • メリット
    • 簡単なデータ操作: 直感的なAPIで、データの追加、削除、更新、取得を簡単に行えます。
    • リアルタイム同期: データの変更をリアルタイムに同期できるため、チャットアプリのようなリアルタイム性の高いアプリケーションに最適です。
    • 低コスト: データの保存、読み込み、同期に対して低コストな料金設定になっています。

Firestoreの利用事例

かるだんさんは、当初Firestoreを使ってタスク管理アプリを開発していました。しかし、タスク共有機能の実装にあたって、リレーションを表現する必要が生じ、Firestoreでは対応が難しかったため、RDBに移行したとのことです。

  • Firestoreは、リレーションシップをあまり必要としない、シンプルなデータ構造のアプリケーションに適しています。

コンテナ アプリケーションに最適!Cloud Runのススメ

Cloud Runは、コンテナ化したアプリケーションをサーバーレスで実行できるサービスです。

Cloud Runの特徴とメリット

  • サーバーレス: サーバーの管理や運用が不要なため、開発者はアプリケーション開発に集中できます。
  • コンテナベース: Dockerコンテナをサポートしており、様々なプログラミング言語やフレームワークを使用できます。
  • オートスケーリング: トラフィックに応じて自動的にスケールするため、急激なアクセス増加にも対応できます。
  • コスト効率: リクエストに応じて課金されるため、使われていないときは料金が発生しません。

Cloud Runの利用シーン

かるだんさんは、Cloud RunとCloud Buildを組み合わせて、タスク管理アプリのAPIサーバーを構築・運用しています。

  • Cloud Build: GitHubなどのソースコード管理システムと連携して、自動的にコンテナイメージをビルドし、Cloud Runにデプロイできます。

Cloud RunのAPIサーバー詳細

  • 言語: Node.js
  • フレームワーク: NestJS
  • データベース: PostgreSQL

まとめ

かるだんさんの発表では、個人開発におけるGCP活用のメリットや、Firebase、Cloud Runといったおすすめのサービスを紹介しました。これらのサービスを活用することで、個人開発者はインフラ管理の手間を軽減し、アプリケーション開発に集中できます。

今回の記事が、GCPを使った個人開発に興味のある方の参考になれば幸いです。