- 週間ランキング
なお本記事は、TechAcademyの法人向けIT・プログラミング研修での実績をもとに紹介しています。
今回は、ツール系に関する内容だね!
どういう内容でしょうか?
AWS Lambdaについて詳しく説明していくね!
お願いします!
プログラムを動かすためには実行する環境を準備する必要があります。例えばPythonのプログラムを動かすためにはPythonをインストールしておく必要がありますし、Webサイトのようにインターネットから利用できるようにするためにはWebサーバなども構築する必要があります。これらの実行環境を全く気にせず、行いたいプログラムだけを作成、配置して実行できるのがAWS Lambdaです。
Lambdaは「ラムダ」と呼びます。この記事ではAWS Lambdaについてメリットやサポートされている言語、料金などの概要をお伝えしていきます。なお、後述しますが、AWS Lambdaは毎月の無料利用枠があります。無料で多くのプログラムを実行できるので、この記事を読んだら実際に動かして試してみると良いでしょう。
まずはメリットの前に、AWS Lambdaを使わずにWebサイトをクラウド環境に構築する手順を考えてみましょう。
Webサイトをクラウド環境に構築する手順
かなり大変ですね。これでもクラウド環境が出来る前に比べるとだいぶ楽にはなっていますが、最初の構築だけではなく運用保守も考えると相当な手間が想定されます。それではAWS Lambdaを使った場合はどうなるでしょうか。
AWS Lambdaを使う場合
とても楽になるのがお分かり頂けると思います。つまり、これまでエンジニアが苦労してきた実行環境の構築や運用保守の手間が大幅に削減されることで、本来行いたい作業に集中できる、これがAWS Lambdaを使うメリットです。
AWS Lambdaでは多くのプログラミング言語を利用できます。既定でサポートしているのは以下の言語です。AWS Lambdaがサーバレスアーキテクチャを促進するサービスということもあり、バックエンドで利用されている言語が中心となっていることが分かります。
さらに、拡張機能(Lambdaレイヤー)を利用することで、以下の言語にも対応できるようになっています。
COBOL言語をサポートしたニュースは話題になりましたね。
AWS Lambdaの料金はかなり安く設定されています。また前記しましたが毎月の無料利用枠が設定されているため、個人レベルであればほとんどのプログラムを無料利用枠の中で実行できることでしょう。
実行時間について、少し分かりづらいかもしれません。AWS Lambdaを実行する際は、実行する関数(プログラム)に対して使用するメモリ量を決定します。このメモリ量の1GBあたりの単価が 0.0000166667USD ということです。AWS Lambdaの料金ページに具体例が記載されています。
例えばメモリ使用量512MB(0.5GB)の場合、月間の無料利用枠は 800,000 秒となります。しかもプログラムが実行された時間だけ課金されますから、これだけあると十分でしょう。詳細はAWS Lambdaの料金ページを参考にしてください。
比較用として、AWS EC2オンデマンドインスタンスの料金表も掲載します。
最後にAWS Lambdaの使い方について具体例で確認していきましょう。公式サイトではユースケースとして具体的な活用事例が紹介されています。
ここではより具体的に、AWS DevDay Tokyo 2018のセッションで紹介された「浸透するサーバーレス 実際に見るユースケースと実装パターン」をもとに主な使い方を確認していきたいと思います。
浸透するサーバーレス 実際に見るユースケースと実装パターン(SlideShare)
Webサービスや業務システムのバックエンドとして、処理の実行を担います。AWS Lambda はWebサービスや業務システムから、API Gatewayを通じて起動され、処理の結果を返します。処理としてはデータベースへの読み書き、業務ロジックの実行、他システムやAPIの呼び出しなどが考えられます。
既存システムの一部をAWS Lambda上に実装することも可能ですので、負荷がかかる部分を分散させるなど、多くの活用シーンが想定されます。
なんらかのデータを加工する処理です。AWS Lambdaはデータの到達をきっかけに動作します。具体的には以下のような処理が想定されます。
業務ロジックをAWS Lambdaに切り出して実行する例が紹介されています。環境構築や運用保守が不要でアクセス数が増えても動的に対応できるため、負荷のかかる機能の切り出し等に向いています。
IoTとはInternet of Thingsの略で、あらゆるモノがインターネットに接続され、相互に情報をやりとりする状態を表します。今後ますます増大すると予測されるIoT機器からの情報を処理したり、機械学習による予測など、幅広い処理をAWS Lambdaで行うことができます。トラフィックが安定しないセンサーデータの処理などは、特にAWS Lambda向きと言えるでしょう。
AWS Lambda は現在主流となっている仮想サーバ(EC2)などに対して次世代のクラウドと呼ばれています。概念的に分かりづらいかもしれませんが、クラウド上のサービスを組み合わせることで、仮想サーバを自前で構築するよりも安価に安定した環境を構築できるのがAWS Lambdaの魅力です。
太田和樹(おおたかずき) ITベンチャー企業のPM兼エンジニア 普段は主に、Web系アプリケーション開発のプロジェクトマネージャーとプログラミング講師を行っている。守備範囲はフロントエンド、モバイル、サーバサイド、データサイエンティストと幅広い。その幅広い知見を生かして、複数の領域を組み合わせた新しい提案をするのが得意。 開発実績:画像認識技術を活用した駐車場混雑状況把握(実証実験)、音声認識を活用したヘルプデスク支援システム、Pepperを遠隔操作するアプリの開発、大規模基幹系システムの開発・導入マネジメント。 地方在住。仕事のほとんどをリモートオフィスで行う。通勤で消耗する代わりに趣味のDIYや家庭菜園、家族との時間を楽しんでいる。 |
内容分かりやすくて良かったです!
ゆかりちゃんも分からないことがあったら質問してね!
分かりました。ありがとうございます!
TechAcademyでは、従来の講義型研修とは違い、実務を想定したカリキュラムで実践的スキルを短期間で確実に身につけられる法人向けオンラインIT・プログラミング研修を展開しています。
1名〜数百名規模・業界を問わず、500社以上の企業様の研修を実施しています。 受講生一人ひとりに現役エンジニアのメンターが付き、皆様のニーズにあったサポートを行います。学習時の「わからない」を確実に解消いたします。