DSOC Development Group の木田です。最近は Ruby on Rails という慣れた世界から外に出て、改めてアーキテクチャや設計というものに向き合っています。自分はどこまで行っても無知で、学ぶことはなくならないのだろうなと実感しています。
さて、そんな中ではありますが、Google Cloud Next '19 in Tokyo にて、GCP サーバーレスと新規事業をテーマに登壇させていただくことになりました。今回機会をいただいたのは、新サービスにおいて GCP にチャレンジした、という背景のあることが大きかったと思います。*1
本記事ではその内容の一部を簡単にご紹介させていただきます。
Google Cloud Next '19 in Tokyo とは
東京で行われる GCP のカンファレンスです。テーマはビジネスから開発まで、レベルは初級から上級まで、様々なセッションを聴くことができます。
以下の公式ページから、フィルタで絞り込んでセッションを検索することができます。ぜひご興味のあるセッションを探してみてください。
今回お話すること
現在 Sansan では、高精度なデータ化技術を応用した、新しいデータ化サービスの検証を行っています。本プロジェクトでは、運用負荷を下げたいという思いから、インフラに GCP サーバーレスサービスを採用しています。
非同期処理や定期実行、デプロイやスケーリング、ロギングやエラー通知など、新規開発において考慮すべきことは様々あると思います。それらに対して、GCPサーバーレスサービスをどのように活用しているのか、細かい Tips なども交えながらお話させていただきます。
イメージがつきやすいよう、以下に例をあげてご紹介いたします。
Google App Engine
いわゆる PaaS ですが、複数のWebアプリケーションを、複数のランタイムで同時に動かすことができます。
リクエストが増加すれば自動でスケールして、リクエストがない時はインスタンスがゼロまでスケールインします。
Cloud Firestore
ドキュメント指向のフルマネージドな NoSQL データベースです。
ネイティブアプリや Web フロントエンドから直接使うイメージが強いかもしれませんが、今回はバックエンドの DB として使っています。
Google App Engine と合わせて使用すれば、アプリケーションもデータベースも自動でスケールするような構成を実現できます。サーバー費用を抑えつつ、急なトラフィック増加にも備えられるので、まさに新規事業と相性が良いのではないかと考えています。
ただ、少々クセはありますので、データベース設計や実装を工夫する必要はあると思います。
その他 GCP サービス
もちろん他の GCP サービスも使っていますので、以下についても触れさせていただく予定です。
- Cloud Storage
- Cloud Functions
- Cloud Tasks
- Stackdriver
- Cloud Pub/Sub
- Cloud Dataflow
- BigQuery
- Google Compute Engine
- Cloud AutoML
去年の様子
去年、私は参加者としてセッションを聴かせていただきました。その時の参加レポートがありますので、よろしければご参考ください。
セッション情報
セッションページURL
https://cloud.withgoogle.com/next/tokyo/sessions?session=298711-140808
タイトル
GCP サーバーレス サービスと Sansan データ化技術 〜 少数チームによる高速な事業立ち上げ
日時
8月 1日 木曜日 | 2:40–3:20 PM | ザ・プリンス パークタワー東京 | Room 03
最後に
昨年は一般参加させていただきましたが、まさか自分が登壇する日が来るとは思っておりませんでした。エンジニアとしてまだ道半ばではありますが、今回のプロジェクトを担当する以前から、常に新規事業開発をすることを想定してキャッチアップしてきました。
本セッションでは、技術選定の一つの事例として、少しでもみなさんの参考になればと思っております。
それでは、会場でお会いできることを楽しみにしております。
*1:弊社ではインフラとして主に AWS を使っています。