SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

特集記事

初めてのAWS Lambda
~AWS Lambdaで始めるイベントドリブンアプリケーション

  • このエントリーをはてなブックマークに追加

 AWS Lambdaは、2014年の11月に発表されたアマゾン ウェブ サービス(AWS)の新サービスで、従来は複雑な仕組みを必要としたイベントドリブンなアプリケーションを簡単に開発できるプラットフォームです。本記事ではAWS Lambdaの概要からユースケース例、そして実際に触ってみることでAWS Lambdaがどういったものか、何ができるのかといった点を解説していきます。

  • このエントリーをはてなブックマークに追加

対象読者

  • Web系プログラマ
  • AWSに興味のある方

必要な環境

  • AWSアカウント

AWS Lambdaとは

 「AWS Lambda」は、クラウド上でアプリケーションを実行する新たなプラットフォームです。AWS Lambdaを使えば何らかのイベントをトリガーに処理を実行することが可能です。Amazon Simple Storage Service(以下、Amazon S3)のバケットへのファイルのアップロード、Amazon Kinesisのストリームに届いたメッセージ、Amazon DynamoDBにおけるテーブルの更新といったイベントを受けて、事前に用意したコードを自動的に実行することができます。

実行イメージ(Amazon S3の場合)
実行イメージ(Amazon S3の場合)

 従来であれば、こうしたイベントドリブンなアプリケーションの開発は非常に手間がかかりました。たとえば、変更を検知するためにポーリングし続ける仕組みや、変更を検知したらそれに応じた適切な処理を行う仕組みを独自に実装する必要がありました。もちろんアプリケーションの実装だけでなく、それらが稼働するためのインフラを構築し、管理する必要もあります。

 これらはAWSのようなクラウドサービスを利用する場合でも同様です。AWSを利用する場合でもAmazon Elastic Compute Cloud(以下、Amazon EC2) インスタンスを設定したり、起動、監視したりする必要があります。また、OSやプログラミング言語の環境をインストール・設定し、それらに加えてスケールや耐障害性を考慮して十分なキャパシティを保つ必要もありました。

 AWS Lambdaはそういった煩雑な作業から開放してくれる新しいコンピューティングプラットフォームと言えます。ユーザはアプリケーションを開発し、Lambdaファンクションとしてアップロードするだけで、目的を達成することができます。

特徴

インフラの管理が不要

 AWS Lambdaはインフラの管理が不要なプラットフォームです。Amazon EC2インスタンスを設定・起動したり監視したりする必要はありません。また、OSや言語環境のセットアップはもちろん、予測困難なリクエストに備えたスケールや耐障害性の考慮も不要です。ユーザは開発したコードをLambdaファンクションとしてアップロードするだけで、キャパシティ、スケールなどは全てAWS Lambdaがハンドリングしてくれます。そのためエンジニアは、これまで以上にビジネスロジックの実装へと集中できます。

オートスケール

 AWS Lambdaはイベントの発生レートに応じて自動でスケールをコントロールします。そのため、ユーザはサーバリソースのプロビジョニングやアプリケーションのデプロイについて考える必要がありません。ユーザ側では全く何も意識することなく、1時間あたり数万のリクエストを扱うことができるようになっています。

きめ細やかな料金体系

 AWS Lambdaは、100ミリ秒単位の処理時間とリクエストに対して課金される、非常に細やかな料金体系となっています。そのためAWSの従量課金という特徴がより強く反映されたサービスであるとも言えます。

次のページ
Lambdaファンクション

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
特集記事連載記事一覧

もっと読む

この記事の著者

西谷 圭介(アマゾン ウェブ サービス ジャパン株式会社)(ニシタニ ケイスケ)

アマゾン ウェブ サービス ジャパン株式会社 シニアソリューションアーキテクトSIerでインフラエンジニアおよびアプリケーションエンジニアとして金融系基幹システムの開発等に従事。その後、新規事業のサービス企画やアプリケーション開発を経てアマゾンデータサービスジャパン入社。現在は主にメディア、EC、...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/8446 2015/01/30 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング