Kyrios ブログ

クラウドの醍醐味!サーバーレスアーキテクチャ

サーバーレスは「サーバを意識する必要がない」ことを意味し、インフラの設計構築・運用に係る大部分がクラウドサービス側で提供されているマネージドサービスです。利用者は、サーバに関する様々な心配から解放され、開発に集中することができて、リソース最適化ができるだけでなく、DevOps型組織を開始する一歩にもなります。今回は、サーバレスの特徴やそれによってもたらす変化を見ていきたいと思います。

目次[非表示]

  1. 1.サーバーレスは、クラウドの良さが盛り込まれたサービス
    1. 1.1.具体的なサーバーレスサービスの例
    2. 1.2.サーバレスの特徴① インフラの設計構築が必要ないマネージドサービス
    3. 1.3.サーバレスの特徴②使用量に応じた課金
    4. 1.4.サーバレスの特徴③スケールがしやすい
  2. 2.アーキテクチャだけでなく、チーム体制も攻めの姿勢に変革
    1. 2.1.開発以外の業務からの解放
    2. 2.2.リソース最適化
    3. 2.3.モダナイズを実現できるチームに
  3. 3.どんな時にサーバーレスを使うと良いかって?
    1. 3.1.サーバレスの活用シーン例
    2. 3.2.サーバレスの利用パターンを参考に、まずは使ってみるところから


サーバーレスは、クラウドの良さが盛り込まれたサービス

「サーバーレスアーキテクチャ」をご存じでしょうか?サーバレスは、「サーバがない」という意味ではなく、「サーバを意識する必要がない」アーキテクチャを意味します。

クラウドプロバイダーが提供するマネージドサービスで、コンピューティング(コンテナなど)、ストレージ、データベース、アプリ開発、関数やワークフロー、スケジューラなどがあります。

具体的なサーバーレスサービスの例

各クラウドプロバイダーのサーバレスサービスを見てみると、次のようなものがあります。

  • AWS
    • AWS Lambda、Amazon DynamoDB、Amazon API Gateway、AWS Step Functionsなど
  • Azure
    • Azure DevOps 、Azure App Service、Azure Functions、Azure SQL Database サーバーレスなど
  • Google Cloud
    • ​Cloud Functions、Cloud Run、BigQueryなど

これらのサービスは、サーバの設計構築をする必要がなく利用することができるマネージドサービスです。それにより、インフラの設計構築の手間を大幅に省くことができ、開発に集中することができます。


サーバレスの特徴① インフラの設計構築が必要ないマネージドサービス

最大の特徴はサーバーのプロビジョニングや、その管理を行う必要がないことです。また、クラウドプロバイダーがベストプラクティスとしている基準を満たした、セキュリティや可用性、スケーラビリティが確保されているため、それらの心配をする必要がありません。


サーバレスの特徴②使用量に応じた課金

サーバレスアーキテクチャの場合、処理のリクエストに対して実行され、その実行に対して課金がされ、終了するとリソースが解放されます。逆に言うと、リクエストがない場合は費用が掛かりません。これまでのサーバを立てるパターンであると、インスタンスを常に立てておく必要があり、処理がなくても費用がかかるため、その分の無駄なコストを省くことができます。一時的に処理が大きく、大容量のリソースを必要になるようなシステムの場合、必要のない時もそのサーバを立てておくのは無駄が発生しやすいため、サーバレスアーキテクチャのメリットを感じやすいと思います。


サーバレスの特徴③スケールがしやすい

ここまででも触れてきたように、スケーラビリティがすでに確保されていることと、使用量に応じた課金であるため、システム全体のスケールがしやすい特徴があります。例えば、新たなシステム構築の際、プロトタイプとして作ったものを、そのまま本番環境までプロビジョニングする場合でも、インスタンスサイズを見積もって変更したり、冗長性の確保などといった環境の調整を加えることなく、そのままスケールさせることができます。


アーキテクチャだけでなく、チーム体制も攻めの姿勢に変革

サーバレスは、クラウドの良い点をすべて盛りこんだような特徴を持ち合わせていました。これにより、アーキテクチャをクラウドネイティブに構成できるだけでなく、クラウドスマートな組織に踏み出すことも後押ししてくれます。


開発以外の業務からの解放

前項で見てきたように、サーバレスアーキテクチャは、インフラの構築・運用に係る手間が大幅に削減されることがわかります。すなわち、開発に係る作業に集中することができるようになります。アイディアが浮かんだら「まず作ってみる」ということが可能になります。これはとても大切なことで、すぐに形にできることで、次のレベルの検討に進むスピード感を早めることができ、本番環境にもすぐに反映することができ、ビジネスの加速につながります。




リソース最適化

サーバレスによって様々な場面でリソース最適化が実現できます。

  • 設計・構築工数の削減による、作業時間の短縮
  • 時間短縮による、生産性へのシフト
  • 人的リソースを、生産的なポジションに重点的に配置
  • 待機サーバが不要になり、利用費の適正化によるコスト最適化


モダナイズを実現できるチームに

インフラの構築にかかる時間を大幅に短縮することで、開発に時間をさけるようになり、チーム構成も、構築・運用の専任メンバーを置く必要がなくなって、より開発に前のめりなチームに変革することができます。それにより、アジャイル開発、DevOps、IaCやCI/CDといったモダンな手法を取り入れ、変化に柔軟な組織にもなれるでしょう。


どんな時にサーバーレスを使うと良いかって?

これまでの特徴を踏まえると、サーバレスは様々な場面で活用することができます。

サーバレスの活用シーン例

  • すぐにデリバリーを開始したい新規サービスやシステムの開発
  • まずはスモールスタートして、フィードバックを反映しながら今後ビジネス拡大を目指すようなアプリケーションサービス
  • 大規模なデータトラフィックが発生するようなデータ集計分析基盤での活用
  • 利用者数の大幅な増減が発生し、その予測が難しいようなシステムでの利用

これらのシーンでは、スピード感や、スケーラビリティが必要になってくるため、サーバレスを活用すると、その実装が容易になります。


サーバレスの利用パターンを参考に、まずは使ってみるところから

具体的にどのようなサービスを組み合わせて実現できるかは、各クラウドプロバイダーのページに詳しく紹介されています。これらを参考に使ってみると、意外と手軽ですぐに活用できることがわかると思いますので、まずはぜひ試してみてください。


  サーバーレスパターン Amazon Web Services, Inc.


  https://azure.microsoft.com/ja-jp/solutions/serverless https://azure.microsoft.com/ja-jp/solutions/serverless
  サーバーレス | Google Cloud FPO Google Cloud



Kyriosブログ新着記事

Kyrios 導入事例