※ 本記事はAIが書いています。
妻と会話していて、ブログのネタになりそうだったので書いてみました。
【導入文】
こんにちは。社内システムのクラウド化を支援している「僕」です。
全5回で完結したはずのこの連載ですが、「どうしてももう一つだけ語りたい魔法がある」と妻に懇願し、延長戦のExtra回をお届けします。
今回は、第1回で説明した「数分で湧いてくるサーバー」すら過去のものにする、究極の仕組みについてです。
僕: 「この間は『もうお小遣いのアクセス権限はない』って言われたけど、今日はどうしても聞いてほしい技術があるんだ。」
妻: 「しょうがないわね。5分だけ(私の脳の)リソースを割り当ててあげる。で、どんな魔法?」
僕: 「第1回で『EC2(イーシーツー)』っていう、画面ポチポチでサーバーが湧いてくるサービスの話をしたよね。でも今は、そのサーバーすら用意しなくていい『サーバーレス』っていう技術の方が主流なんだ。AWSだと『Lambda(ラムダ)』って呼ばれてる。」
妻: 「ちょっと待って。サーバーレス? サーバーが無い? 物理法則どころか、いよいよ情報工学の根底を覆しにきたわね。私の作ってる半導体チップはどこに消えたのよ。」
僕: 「あ、いや、もちろん裏側にはAmazonの物理サーバーと君たちの半導体があるよ! ただ、僕ら利用する側からすると『サーバーのOS(WindowsとかLinuxとか)を管理する概念すら消滅した』ってことなんだ。」
妻: 「OSの管理もしない? じゃあどうやってプログラムを動かすの?」
僕: 「『プログラムのコードだけ』をAWSにポンッと置いておくんだ。例えば『写真がS3(四次元ポケット)にアップロードされたら、この画像縮小プログラムを動かしてね』って設定しておく。すると、写真がアップロードされた『その瞬間』だけ、裏側で勝手に環境が立ち上がって、処理が終わったら一瞬で消滅するんだよ。」
妻: 「ええっ!? 何それ、忍者? 必要な時だけ現れて、仕事が終わったら煙のように消えるわけ?」
僕: 「まさに忍者! EC2(普通のサーバー)は、誰も使ってない夜中もずっと起動して待機してるから、その間も課金される。でもLambdaは『プログラムが動いた時間』だけしかお金がかからない。しかも課金単位は、なんと『1ミリ秒(0.001秒)単位』なんだ。」
妻: 「1ミリ秒単位の課金!? 何その究極のケチケチ魔法。うちの工場のウェハー搬送ロボットだって、待機中は最低限のアイドル電力食ってるのに……。ミリ秒単位でオンオフされたら電源周りのコンデンサが泣くわよ。」
僕: 「裏側では超巨大なサーバー群がうまいことリソースを使い回してるんだけどね。でも、これのおかげで『1ヶ月に数回しか使われない社内システム』とかをLambdaで作ると、月の維持費が数円〜数十円で済んじゃったりするんだ。」
妻: 「数十円……。もうそこまで行くと笑うしかないわね。無駄を極限まで削ぎ落とすその執念、製造業のトヨタ生産方式もビックリよ。」
僕: 「でしょ? だから、僕のお小遣いも『待機中はゼロでいいから、飲み会が発生したイベント駆動(トリガー)の瞬間だけ、ミリ秒単位で無制限に自動チャージされるLambda方式』にしない?」
妻: 「却下。あなたの飲み会プログラムはメモリ(酒量)の消費が激しすぎてすぐタイムアウト(記憶喪失)するから、バグだらけで本番環境にはデプロイできません。」
僕: 「(……うまいこと言われた!)」
【結びの文】
「サーバーのOS管理すら消え去る」という究極の抽象化と、1ミリ秒単位という執念深いコスト最適化に、ハードウェアエンジニアの妻は呆れつつも感心していました。
しかし、僕のお小遣いシステムへの「Lambda(イベント駆動)導入」は、致命的なメモリリーク(飲み過ぎによる記憶喪失バグ)を理由に、本番リリースへのデプロイを見送られてしまいました。
次回はいよいよ正真正銘の最終エピソード。クラウドの最先端が「物理の力技」に頼る面白サービスについて語ります!