AWS Lambdaは2014年11月に発表された、AWS(Amazon Web Service)が提供する新しいサービスです。AWS Lambdaを使用することでインフラ構築など行わずにアプリケーション開発などを行うことができます。
こちらの記事ではAWS Lambdaの概要、またメリット・デメリットなどについて詳しく紹介します。
AWS Lambdaとは
はじめにAWS Lambdaとは何か、概要について詳しく紹介します。
AWS Lambdaは「アマゾンラムダ」と読みます。そしてAWS Lambda(Amazon Web Service Lambda)とはアマゾンが提供しているコンピューティングサービスの一つです。
AWS Lambdaはサーバーのプロビジョニングをしたり、管理したりしなくてもコードを実行できるコンピューティングサービスです。プロビジョニングとはその都度必要なネットワークやコンピューターの設備などを予測し準備することです。
AWS Lambdaはクラウド上でアプリケーションを実行することができるのが大きな特徴です。
これまでWebアプリケーションのエンジニアなどがアプリケーションを実装する場合、稼働するためにインフラ構築も行う必要がありました。しかしAWS Lambdaの場合、Lambdaファンクションとして転送することでアプリケーションをつくることができます。
AWS Lambdaができること
つづいてAWS Lambdaができること、またどのような時に活躍するのか詳しく紹介します。
AWS Lambdaを利用してできることはタイプを問わずにアプリケーション開発、またバックエンドサービスの構築・開発です。またAWS Lambdaを実行することができるプログラミング言語はNode.js、Java、C#、Pythonになります。
AWS Lambdaが活躍するのはスピーディな開発、また作業を効率よく行いたいときです。なぜならAWS Lambdaを利用すればOSや言語環境のセットアップなどをする必要がなく、Lambdaファンクションをアップロードするだけで作業が終わるからです。
またAWS Lambdaの場合指定のプログラミング言語のコードを記述するだけでアプリケーション開発を行うことができるため、これまでインフラ構築などに充てていた時間をUI・UX設計など別のことに使うことができます。
AWS Lambdaを使うメリット
つづいてAWS Lambdaを使用するメリット3点について詳しく紹介します。
従量課金制
AWS Lambdaの料金体系は定額制ではなく従量課金制です。また無料で使える上限が高いのも大きなメリットです。
AWS Lambdaは月々100万リクエストまで無料で利用することができます。そして100万超えたあとは100万リクエストごとに0,2ドルが課金されます。
2017年1月31日のレートで考えると、1ドル約1.9円のため、100万ドルリクエストにつき3.8円の計算になります。
サーバー管理が不要
AWS Lambdaはサーバー管理を行う必要がないのもメリットとして挙げられます。指定されたプログラミング言語でコードを記述するだけで開発・構築の作業ができるため、これまでかかっていた手間が大幅に削減されます。
自動スケーリング
AWS Lambdaは自動スケーリング(オートスケーリング)を行なってくれます。自動スケーリングとはサイトやアプリケーションのサーバー負荷に応じて、自動的にクラウドサーバーの台数を調節してくれる機能です。
自動スケーリングの機能があるとムダなコストがかからず、突然大量のアクセスがあってもサーバーダウンが起こりづらいです。
AWS Lambdaのデメリット
つづいてAWS Lambdaのデメリット1つを詳しく紹介します。
Javaの処理時間にばらつきがある
AWS Lambdaはプログラミング言語のJavaを使用することができますが、動作が遅いときがあります。
Node.jsで実行するよりもJavaの場合数十秒から数百秒かかってしまうこともあります。作業をスピーディに行いたい人はJava以外の言語を使用することをおすすめします。
AWS Lambdaの始め方
最後にAWS Lambdaの始め方を詳しく解説します。
AWS Lambdaを利用したい時とは最初にWebページの「AWS Lambda」に行き、入門動画や概要を確認しましょう。そして「仕組み」セクション、また「Lambda 関数」について学習しましょう。そして「ご利用開始にあたって」の実習を実行し、Lambda関数のテストを実行していきます。
最後にアプリケーション開発などを行うために、ガイド内にある「AWS Lambdaを用いたアプリケーションの構築」を確認して、開発を始めてみましょう。
まとめ
まだAWS Lambdaを利用したことがない人は、AWS LambdaのWebページに行き入門動画だけでも見てみることをおすすめします。なぜならAWS Lambdaを使用することで開発スピードを上げられたり、インフラ構築にかけていた時間を他の作業に充てられたりと、メリットが多いからです。
こちらの記事を参考にして、ぜひ使用を検討してみてくださいね。