Lambda

この記事はLambdaについて解説した記事です。会話形式のやさしい文章で「Lambda」の用語のイメージを紹介した後に、採用に役立つLambdaの知識を解説しています。

1分で分かる!Lambdaとは?

ねぇねぇ、ジャバード先生。聞いてもいい??

どうしたんだい?

このまえ、AWSについて教えてくれたでしょ?

うん。Amazonのクラウドサービスだね。それがどうかしたのかな?

Amazonの公式サイトを見ていたんだけどさ、「Lambda」ってなんて読むの??

それは「ラムダ」って読むんだよ。

「Lambda」は「ラムダ」って読むんだね。ちなみにLambdaってどんなサービスなの??

Lambdaはサーバーレスでプログラムを実行できるサービスなんだ。サービスの分類について厳密な定義はないんだけど、PaaS (Platform as a Service)とかFaaS (Function as a Service)と呼ばれることもあるんだ。

PaaSはこのまえに教えてもらったやつだね!でも、サーバーレス?FaaS?よくわからないな…。

じゃあ今日はLambdaについてわかりやすく説明することにしよう!

お願いします!

じゃあ改めて…。Lambdaっていうのは、AmazonのクラウドサービスであるAWSというサービスの1つだよ。ちなみにAWSのサービス数は200個以上もあるんだよ。

そんなにあるんだ!すべて覚えるのは大変そうだね…。

すべてを覚える必要はあまりないから、とりあえず主要なサービスがどんなものか抑えておくといいよ。今日のテーマであるLambdaもAWSの主要なサービスの1つだよ。

えっと、サーバーレスでFaaSで…だよね?

そうそう。最大の特徴はことりん君がいった「サーバーレス」ってやつだね。まずは一般的にアプリケーションから説明するね。アプリケーションを稼働させるためには、サーバーっていうコンピュータが必要になるんだよ。

インフラ(サーバー)エンジニアについて教えてもらったときのサーバーと一緒かな?

そうそう。簡単にいうとインフラ(サーバー)エンジニアが構築してくれたサーバー上に、開発したアプリケーションを構築 (デプロイ)することで、アプリケーションが公開されてユーザーが使えるようになるんだ。

構築は前に教えてもらったやつだね。そこはなんとなくイメージつくよ!

でもさ、アプリケーションを作るエンジニアからするとサーバーを含めたインフラ周りってよくわからない人もいるし、準備にも時間がかかるから面倒なんだ。

そっか。たしかにアプリケーションを開発する人から見れば、インフラに時間を割くよりもアプリケーションに集中したいってのはありそうだね。

そういうこと。そこでLambdaってわけなんだ。Lambdaはサーバーレスだから、サーバーを用意する必要がないんだ。

サーバーがないのにどうやってプログラムを実行するの?

Lambdaの場合は、プログラムを直接AWS上にアップするイメージなんだ。だからエンジニアとしてはプログラムを開発するだけでいいんだ。

それはかなり楽になりそうだね!あ、さっき言っていたFaaSっていうのは?

PaaSは「プラットフォーム」としてOS、ミドルウェア、フレームワークを提供してくれるんだけど、FaaSの場合はさっき言ったように機能(Function)をつくればいいだけなんだよ。PaaSよりFaaSの方が、ユーザーが担当する範囲が狭く、クラウドサービスが担当する範囲が広くなるというイメージだね。つまり、PaaSよりもFaaSのほうが楽ってこと!

ジャバード先生ありがとう!Lambdaについてよくわかったよ!Lambdaを使えば、かなり開発生産性もアップしそうだね!

そうだね!機会があったら使ってみてね!

Lambdaとは?採用に役立つ基礎知識

Lambdaとは

Lambdaとは、AWS社が提供するFaaS型のサービスです。サーバーレスであり、オートスケーリング(自動的に性能向上を行う)に対応しているため、負荷に関するトラブルに頭を悩ませる必要がありません。エンジニアは目的のプログラムを開発し、Lambdaに対してアップロードするだけで、すぐに使い始めることができます。

また、対応しているプログラミング言語は、JavaGoPowerShellNodeC#PythonRubyなど多岐に渡るため、特別な言語の習得も不要です。

なお、Lambdaの課金体系は、実行時間に対する従量課金制となっています。実行状況などにもよりますが、多くの場合はコストを低減させることが可能です。

 

Lambdaを使うエンジニア

Lambdaはアプリケーションの開発時に使用するものです。そのため、サーバーサイド(バックエンド)エンジニアネイティブアプリエンジニアといったエンジニアがLambdaを使います。

Lambdaを使うエンジニアの特徴と在籍業界

Lambdaは、マイクロサービス(Microservices)やイベント駆動型プログラミングといった比較的新しい開発スタイルで利用します。非常に便利なものではありますが、使いこなすためには相応のスキルが必要です。

なお、Lambdaを使うエンジニアが在籍している業界として特に傾向はありません。

採用する時に知っておくとよいこと

Lambda + α

実はLambdaは単体で動かすことはできません。Amazon API GatewayAmazon EventBridgeAmazon S3など、AWSの別サービスから発生するイベントを受けて実行されます。このように、AWSをはじめとしたクラウドサービスは、サービスによって様々な特徴があります。

ただし、AWSの全サービスに精通しているエンジニアはかなり少ないです。そのため、採用条件にAWSサービスに関する経験が設定されている場合は、応募者がどのようなクラウドサービスの経験があるか、採用案件と近しい内容であるかを確認するとよいでしょう。(使用経験があるサービス名を確認すれば、ある程度の判断ができるでしょう。)

求人のポイント

求人を作成する時は、下記の内容を求人に入れるとよいです。

1システム(サービス)の詳細
※特にそのシステム(サービス)をなぜ作っているのかを熱量をもって記載する。
2開発環境
3現在のエンジニア組織の体制
4現行システムの課題と募集の背景
5求められる業務と期待値
6エンジニアとしてのスキルアップ支援制度の有無と詳細
7エンジニアチーム内での相互成長のための仕組み(勉強会やLT会など)の有無と詳細
8選考フロー
9待遇
10キャリアパス

Lambdaとは?採用に役立つLambdaの基礎知識

AWS(Lambda)関連の資格

AWS (Lambda)に関する資格としては、AWS認定があります。AWS認定は基礎、アソシエイト、プロフェッショナル、専門知識の4つのカテゴリ、11の資格で構成されています。

Labmdaに特化した資格はありませんが、上記AWS認定資格の中でLambdaに関する知識が問われるものがあります。

AWS(Lambda)関連のイベント 

AWS関連のイベントとしては以下のものがあります。

どちらもLambdaに特化したイベントではありませんが、Lambdaをテーマにしたセッションが開催されることがあります。

関連記事

  1. CircleCI

  2. Solaris

  3. Qlik

  4. Apache

  5. インフラエンジニア採用で知っておくべき技術用語まとめ

  6. PowerBI