サーバーレスアプリケーションの運用について考えたいこと

どうも、セクションナイン吉田真吾@yoshidashingo)です。

ひとつ前のブログエントリーを読んでいただくと、サーバーレスコンピューティングプラットフォームを提供する「ベンダーの哲学」や、サーバーレスアプリケーションを運用する「ユーザーのベストプラクティス」が参考になったと思います。

yoshidashingo.hatenablog.com

ここでは今日現在サーバーレスアプリケーションの運用について考えたいことをメモっておきます。 さまざまな立場の人からご意見をいただけると助かります。

  • 1. 新しいアプリケーションを作るときに、今まで慣れたものではなく、少々痛みを伴っても新しいアーキテクチャを組織的に試してみようと思う基準は何でしょうか?

  • 2. サーバーレスアプリケーションを実装するにあたり、利用するサービスの技術詳細(公開情報もあれば、非公開情報もあるかもしれません)を、エンジニアとして知っておくべきだと思いますか?

  • 3. (もしも)認証に利用しているサービスがなんらかの理由でダウンしてアプリケーションの利用ができなくなった場合、責任は誰にあると思いますか?

    • GitHubだったらどうでしょう?また、S3のようなストレージだったら?
  • 4.アプリケーションのアーキテクチャや、利用するサービスの見直しをするマイルストーンをどう設定しますか?(あるいはどういう状態をトリガにしますか?)

    • 四半期ごと?いつでも自由に?エンジニアが増えたら見直す?
  • 5. アプリケーションを構成する一部のサービスがダウンした場合に、縮退して継続可能なアプリケーションを設計しているとき、サービスレベル項目はどう設計しておくのがよいでしょうか?

    • API(マイクロサービス)ごと?サイトごと?両方?

5つほど上げてみましたが「サーバーレス」に限定された話でもなく、SaaSを利用するうえでのベストプラクティスだったり、マイクロサービスの文脈などから考えてみるのも面白そうじゃないでしょうか。