LoginSignup
21
22

More than 5 years have passed since last update.

サーバレスアーキテクチャとイベントドリブンについてまとめ

Posted at

AWS,Azure,GCPにイベントドリブンのサービスが揃ったのでこれらについてまとめてみました

クラウドサービスのおさらい

  • とりあえずAWSとAzureとGCPを比較

AWS - Amazon Web Services

  • Amazon社が運用しているクラウドサービス
  • 2006年にローンチされ、業界シェアNo1
  • ユーザが多いため、日本語のドキュメントやコミュニティが豊富
  • 基本USドル支払いのため、為替レートに影響される
    • 支払いを円払いにするとAWSレートで計算されるので、クレジットカードのレートより安いかも

Azure - Microsoft Azure

  • Microsoft社が運用しているクラウドサービス
  • 2010年にローンチされた
  • リージョンが東日本と西日本にあるため、関西圏での速度が出やすい
  • 円払い可能
  • 日本語のドキュメントが少ない・・・

GCP - Google Cloud Platform

比較

AWS Azure GCP
サーバ EC2 Virtual Machine Compute Engine
ストレージ S3 Storage BLOB Cloud Storage
RDBMS RDS SQL Database Cloud SQL
Hadoop EMR HDInsignt Cloud Dataflow
データウェアハウス Redshift SQL Data Warehouse BigQuery
イベント駆動 Lambda Azure Functions Cloud Functions

サーバレスアーキテクチャとは

  • 言葉の通り
    • サーバをなくした構成
  • マネージドサービスを利用することでサーバを利用せずに構成する
    • サーバは極力最小限に利用する
    • そして、本当に必要なとき、必要なだけマネージドサービスを利用する
  • 管理・運用するサーバ/インフラがなければ、その分他のタスクに集中できる
    • 管理・運用するサーバ/インフラがない
      • インフラ構築
        • 管理・運用するサーバがなければ構築する必要もない
      • インフラ運用
        • 必要に応じてマネージドサービスを利用
          • 自分で構築不要
        • スケール
          • オートスケールの設定が不要
          • 事前にサーバを準備する必要もない
        • モニタリング
          • CPU, メモリなどの監視をする必要がない
        • セキュリティパッチの適用
          • yum updateとかしなくていい
    • バックエンド側のコード記述が不要に
  • 2015年後半に登場
    • 特にイベントドリブン型サービスLambdaが登場した2015年11月頃から言われ始めた

イベントドリブンとは

  • 起こったイベントにしたがって、処理を実行する
    • スケジュールに従って動作
      • cronとか
      • 時間というイベントに従って、処理を実行
    • ユーザからの要求に従って動作
      • 要求というイベントに従って、処理を実行
  • イベントドリブンを使うとコストが下げられる
    • イベントドリブンを使わないと
      • スケジュールに従って動作
        • 10分実行しても、1時間実行しても、1時間分の料金が必要
      • ユーザからの要求に従って動作
        • ユーザからの動作を受け付けるために常に稼働する必要がある
    • イベントドリブンを使うと
      • イベントが発火したときのみ課金
      • イベントが発火したときのみ稼働

イベントドリブン型のサービス

  • AWS, Azure, GCPにおけるイベントドリブンのサービスについて

Lambda

  • インフラを一切気にせず、アプリケーションコードを実行できる
    • OS, ミドルウェアなどはAWSが管理
    • 実行するアプリケーションのみ集中
  • 特徴
    • AWSサービスと連携させることが容易
    • オートスケール
      • イベントの状況に応じて自動的にスケール
    • 料金
      • イベントの実行回数、実行時間に応じて課金
  • 実行基盤
    • Lambda Function
      • Node.js、Java、Python2.7をサポート
      • タイムアウト時間は5分
      • 最小1分インターバルでcron処理も可能

Azure Functions

あとでかく

Cloud Functions

あとでかく

イベントドリブン型サービスの使いドコロ

  • サーバレスにするために、すべてをイベントドリブンにする必要はない
    • 動き方が異なるので、必ずしも代替にはならない
    • 使いドコロを考えることが重要
  • AWSで比較
    • EC2
      • スケールの単位はインスタンス
      • OSやネットワークなどインフラ系の制御がしたい
    • Lambda
      • スケールの単位はFunction
      • 必要なときのみ実行したい
      • インフラ触りたくない
21
22
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
22