
2025.02.18
「売上をスケールする」AIの使い道とは アルペンが挑む、kintone×生成AIの接客データ活用法
提供:アマゾン ウェブ サービス ジャパン株式会社
リンクをコピー
記事をブックマーク
司会者:さて、ここからは「Getting Started with AWS Lambda & The Serverless Cloud」と題しまして、General Manager of AWS Lambda & Amazon API Gateway, Amazon Web Service, Inc.ティム・ワグナーより講演させていだきます。Please Welcome, Tim Wagner.
ティム・ワグナー氏:みなさま、本日はご参加いただきまして、ありがとうございます。私がもっともお気に入りのサーバーレスコンピューティングについてお話させていただきます。
まず、そもそもサーバーレスコンピューティングとはなにかという話、そしてAWSのポートフォリオにどうフィットしているのかをお話しします。
コンピュートに関しては、3つの考え方があります。そして、いろんな言葉があります。どういったものを抽象化するのか。まずバーチャルマシンが抽象化するのはハードウェアです。
コンテナが抽象化するのはアプリケーションです。ソフトウェアサービスと言ってもいいでしょう。
そして最後にサーバーレス。もっとも新しいものです。もっとも新しい抽象化の関数です。コードを抽象化します。コンテナ、あるいはマシンではなく、そしてこのサーバーレスというのは言語ランタイムの抽象化と考えることができます。
AWSは、これら3つのすべてに対して、コンピュートサービスを提供しています。バーチャルマシンのAmazon EC2、これはインフラのオファリングです。そしてAmazon ECS、コンテナのサービスです。コンテナを実行するDockerです。
そしてもっとも新しいAWS Lambdaです。これを使ってサーバーレスコンピューターをクラウドで実行することができます。インフラについて、もはや気にする必要はありません。単に実行するコードを与えるだけです。
では、これら3つのなかからどうやって選択するのでしょうか? 何がほしいか、何をしたいかによって変わってきます。
EC2が提供するのは柔軟性です。これを使うことによってローレベルのマシン、ネットワーク、ストレージをOSと一緒に構成することができます。もっともコンピュート環境の制御ができるものです。
もし既存のコンテナをDockerイメージとして実行したい場合、ECSは最適です。そしてデスクトップ上で構築し、クラウドと同じように実行できるメリットがあります。
Lambdaは、コンピュートの最適なやり方です。OSを変える必要がない。そしてAWSをサーバーとして使うことはとても簡単です。単にコードをいただければ、AWSが必要な時に実行いたします。私たちが一番大変なところを担い、みなさまはアプリケーション、ビジネスロジックだけを気にすればいいわけです。
では、本日お話しするアジェンダです。どのように新しいアプリケーションクラスを構築するか。つまりサーバーレスアプリをAWS LambdaとAPI Gateway、そしてさまざまなサーバーレスのAWSのポートフォリオを使います。
まず、Lambdaの詳細からご紹介します。そしてどうやってプログラミングするかを説明します。次にいくつかのアーキテクトのパターンを見ていきます。
いろんな会社がすでにサーバーレスを使っています。より早く新製品を市場に届け、ソリューションを構築し、クラウドのコンピュートを少なく使うというものです。
そして、ユースケース。すでに日本の企業でLambda、Gatewayをご採用いただいているいくつかの具体的な事例についてご紹介します。
次に、少しベストプラクティスについて話をします。もっとも最近、新しく発表された機能です。いろんなトリック、あるいはコツ、Lambdaを最大限に活用できる方法を紹介します。
最後にデモです。サーバーレスのアプリケーションをデプロイします。カタログ、あるいはMATシステムに展開します。アプリケーションがサーバーレスなだけでなく、デプロメントもマシンを必要としません。では、始めましょう。
なぜLambdaを使うのでしょうか? Lambdaが提供しているのは3つのメリットです。
まず、サーバーを管理する必要がありません。もはや時間とエネルギーをサーバーの設計、あるいは計画、運用、保守にかける必要はないんです。アプリケーションを実行するのに必要なインフラを考える必要はありません。
次に継続的なスケーリングです。1つのリクエストを1時間に、あるいは何十万というリクエストを毎秒行うこともできます。Lambdaは自動的にそれに合わせてスケールするようになっています。詳細を気にする必要はありません。
最後に、これらの細かい点は気にしなくていいので、使っていないキャパシティに関しては課金されません。もはやコールドサーバーはないということです。
よく聞くのが、クラウドはスーパーコンピューターのようなものだということです。確かに一理あります。しかしそれはハードウェアの部分だけです。プログラムを大量のスケールでどうやってやるんでしょう?
2通りの方法があります。分散システムでみなさまのような専門家をたくさん使うか。もしくはLambdaを使うという方法です。Lambdaであれば、ビジネスロジックを大きなスケールで、複雑なことを考えないで実行することができるのです。
そして、またインフラのスケールの課題がアプリケーションのコードとは切り離されることになります。そして、AWSが自分のAppsのチームとして動くわけです。そして、これだけ大量なスケールで常に24時間動き続けることができます。
いろんな確信的なテクノロジーについてご紹介します。私がとくに、Lambdaで誇りに思っているのは価格体系です。我々はコンピュートを購入する際、もっとも小さなかたまり、つまり100ミリ秒ごとに購入いただけるようにしています。
つまり、少なく、あるいはたくさんなど、例えば電気のように使いたいだけ使うことができるわけです。使いたいだけ使う。あるいは、もっとも少ないコンピュートだけを使ってあまりにも無駄にお金を使ってしまうということは気にしなくていいわけです。
さらに価格体系だけではありません。非常に大きな無料利用枠、毎月100万件のリクエストと40万ギガバイトのコンピュートが無料です。
つまり小さなチーム、開発、そしてもっとも大きなスケールのプロダクションでも40万ギガ、コンピュートが無料で提供されるということです。
では、どうやってLambdaを使うのでしょうか? いくつかのシンプルなステップがあります。最初にコードをZipファイルに入れます。そして、私たちにください。このコードはサポートされている3つの言語、Node、Java、Python、どれでもけっこうです。
そして、重要なのは自分たちのライブラリを持ってくることができることです。ネイティブのライブラリ、アセンブリコードでもすべて可能です。
次に関数を呼び出します。ほかのAWSサービスとのつなぎは私たちのほうで行います。設計のパターンについては後ほど説明します。あるいは自分で呼び出すこともできます。モバイルアプリ、クラウド、どこからでも呼び出すことができます。
さて、もうひとつ方程式の向こう側にあるのはリソースモデルです。これを非常にシンプルなスピードダイヤルと考えてください。下げてお金を節約したり、あるいは上げて高いパフォーマンスを得ることもできます。
このダイヤル制御によってすべてのリソースが管理されます。コンピュートのネットワーク待機、そしてIOの待機幅、そしてメモリ。すべてがコントロールされます。
最後に、大変シンプルに関数のセキュリティを管理しています。誰が呼び出して、誰がそれを実行できるのかということまでコントロールできます。
これらの関数のなかにAWS SDKのアクセス権限がデフォルトでライブラリと一緒についてきます。そして、どのようにでも構築することができます。
IDE、Eclipse、Visual Studio、コマンドラインの変数。そして、サードパーティのシステム。ツールチェーンなど好きなものを使うことができます。
プログラミングモデルのなかでもっとも重要なのは、いわゆるステートレスの機能です。ステートレスというのはすなわち長期データストレージはどこかほかのところに置かれる。コードのなかではないということです。
例えば、ユーザーデータ、セッションデータをDynamoに入れます。オブジェクトをS3、そしてローカルディスク以外のところに置きます。
次回、Lambda関数を呼び出すとき、ほかのマシンに移すかもしれないからです。スケールさせると、これらの関数のコンテナをすばやくスタートさせることができるからです。
Lambdaをどうやって使うのかというお話を少しいたしました。では、どうやってサーバーレスアプリケーションからお客様が価値を得ているのか? お話したいと思います。コストを下げ、そしてソリューションをすばやく市場に届けるというメリットがあります。
3つのカテゴリについてお話しします。最初に、データの即時処理です。スケーラブルなバックエンドを構築する。そして、サーバーレスアプリケーションエコシステムです。
今、ご覧いただいた3つ目の例が先ほどの講演で、Alexaのスキルキットであったと思います。もう1回、その仕組みを見てみましょう。そして、異なるエコシステムにつなげてみましょう。
Lambdaをローンチした時、1つ目のユースケースとして融合したのは、これが一番ポピュラーなユースケースなんですが、データ処理です。ほかのAWSサービスを介して、例えばS3、Amazon、Kinesis、DynamoDBといったようなサービスでのデータ処理です。
この仕組みは大変シンプルになっています。オブジェクトをS3に入れて、あるいはデータをDynamoDBに書き込みます。そしてそれが、コードが実行されるようにトリガーされます。
それを行うと低スケールの時には低スケールでコードが実行されますが、膨大なスケールで処理する場合にはコードは巨大なスケールで実行されます。
なにがいいかと言うと、それを心配する必要がないということです。例えばS3バゲットのようなものを作って、それが自動的にコンテンツを圧縮します。
ビデオファイルなどをトランスレートしたり、分析をしたりすることができます。あるいはS3に入ってくるドキュメントを使い、すぐにインデックスを作る。
こういったことをすごく簡単に立ち上げたり、サーバーを維持したり、あるいはキャパシティをプランニングしたりすることなくできるようになっています。
それでは2つ目のカテゴリについてお話しします。スケーラブルなバックエンドについてです。これは2種類のアプリケーションで使われます。
モバイルアプリというのはAWSのMobile SDKをクライアント側で使っています。これが携帯端末やタブレット上で実行されています。あるいは、IoTデバイスというのがもう1つの種類です。
IoT デバイスは、MQTTのプロトコルを使っています。それからIoTサーバーに送られて、そしてかわりにLambdaに呼びかけをします。
コンピュート部分につきましては、Lambda関数をアップロードします。これはイベントハンドラとまったく同じように見えます。そして、典型的にはなにかしらのデータティアーがあります。
例えばインベントリデータ、あるいはカタログデータをDaynamoDB、またはSQLデータベースに格納します。そして、VPCを介してアクセスをします。これからはどちらも一般的なパターンになっています。
次のユースケースをご覧頂くためにはもう1つの材料を付け加える必要があります。それがAPI Gatewayです。Gatewayを使うことによってAPIのホスティングをすることができます。
これをサーバーレスなかたちでできます。APIに対してGatewayというのは、Lambdaです。シンプルな完全に管理されたかたちでクラウド上でのホスティングができるようになります。
そして、API Gatewayが、スケーリングや、スロットリングやAPIの認証などめんどくさいことはすべてこのGateway側でやってくれます。そして、APIのなかには当のRESTfulエンドポイントになにをさせるのかということを指定します。
HTTPのエンドポイントを呼んだり、あるいはLambdaバケットを呼んだりすることができます。この2つのサービスというのは連携しているわけです。そうすることで完全なHTTPのサーバーレスソリューションを実現しています。これがこのようになっています。
例えばサーバーレスなWebアプリを作りたいとします。バックエンドは、前の例とほとんど同じです。データティアーがあります。これがDaynamoみたいなものです。
Lambda関数がデータを読み込む。そしてそれを変革できる。そして、そもそも書くことができるわけですが、そこにもう1つの材料であるAPI Gatewayを追加することでHTTPのリクエストに対応します。
公開することもできますし、APIキーのオーソライザーなども使うことができます。これがコンテンツのダイナミックな顔です。
静的な側はもっと簡単です。S3はすでに静的なWebサイトのサポートをしていますので、それを単純に使っていいわけです。クラウドフロントのオプションで使って、メディアキャッシングをします。
そうすることで完全なサーバーレスWebアプリが完成します。この例についてはブログでも記載されています。そして、さまざまな書籍、ほかのディスカッションでもカバーされています。
3つ目のユースケースとしてご紹介したいのが、前のセッションでお話ししたものです。Alexaアプリの事例になります。ここでご覧いただいているのは、さらに1ステップ踏み込んだものです。2つのエコシステムを使っています。
AlexaアプリでLambdaを使い、スキルを導入しています。そしてさらにSlackと統合しています。そうすることで、コミュニケーションができるようになっています。
なにをしたかというと、コードを書くことでAlexaは音声を聞いて、それをテキストに変換します。そして、slackチャネルにポスティングします。さらにslackチャネルから読んで、言葉で返してきます。
コードを数ページ書くだけで、1時間ずつくらい使えば、この2つのエキサイティングなエコシステムを合わせることができました。
これが、Lambdaがエキサイティングな理由の1つです。というのも、一番難しいところはやる必要がなかったわけです。フリートを実行しようと思ったら、本当に何日間もセッティングに時間が必要だったと思います。ですけれど、これまで開発に数週間かかっていたものを数時間に削減することができました。
いくつかアーキテクチャのパターンについてご紹介しましたが、日本のお客様がいかにサーバーレスアーティキャクチャから価値を得ているのかということを紹介していきます。
キヤノンは、コンシューマ、BtoB、デジタルイメージへのソリューションを提供しているリーダーです。プリンティングサービスについては、イノべーティブになっています。モバイルデバイスからクラウドに文章を送れば印刷ができるようになっています。
キヤノンはマイクロサービスのアーキテクチャを使っています。先ほどご紹介いただいた、API GatewayとLambdaを使うことによって最新のプリンティングソリューションを設計しています。
岡三オンライン証券は、バーチャルトレーディングサービスをユーザーのトレーディングやマーケットデータのアクセスのために提供しています。それを、たくさんの実際のトレーディングデータで活用しています。
API GatewayとLambdaを使って、受注管理システムを作っています。これがアーティキャクチャの中心部分に存在しています。
そして、これのなにが素晴らしいかと言いますと、彼らは10分の1の時間でデリバリーでき、そしてこれまでのシステムの7分の1のコストで実行することができました。
リクルートジョブズのタウンワークですが、エンドユーザーが次の仕事を見つけるためのメディアです。さまざまなモバイルメディアを活用しています。このモバイルデバイスを通じて、ユーザーは仕事を検索することができます。
業界やロケーションといったような条件をもとに検索をかけることができます。タウンワークは最先端のマシンラーニングのアルゴリズムを使い、そのエンドユーザーにとって最適なレコメンデーションをしていきます。API GatewayとLambdaを使い、その点線を結んでいます。
エンドユーザーのモバイルデバイスのテクノロジーと、バックエンドのシステムに組み合わせているトレーニングデータ抽出のバックエンドのシステムとつながっています。そして、モバイルデバイスからの膨大な量の条件データというものをクラウドに入力する役割を担っています。
Lambdaでさまざまなメリットを享受しているお客様を見て大変うれしく思っておりますし、まだまだたくさんのアイデアがあると思っています。
アマゾン ウェブ サービス ジャパン株式会社
関連タグ:
2025.02.13
“最近の新人は報連相をしない”という、管理職の他責思考 部下に対する「NG指示」から見る、認識のズレを防ぐコツ
2025.02.13
AIを使いこなせない人が直面する本当の課題 元マッキンゼー・赤羽雄二氏が“英語の情報”を追い続ける理由
2025.02.06
すかいらーく創業者が、社長を辞めて75歳で再起業したわけ “あえて長居させるコーヒー店”の経営に込めるこだわり
2025.02.12
マネージャーは「プレイング3割」が適切 チームの業績を上げるためのマネジメントと業務の比率
2025.02.14
報連相ができない部下に対するコミュニケーションの取り方 「部下が悪い」で終わらせない、管理職のスキル向上のポイント
2025.02.13
上司からは丸投げ、部下からはハラスメント扱い、業務は増加…プレイングマネジャーを苦しめる「6つの圧力」とは
2025.02.12
何度言っても変わらない人への指示のポイント 相手が主体的に動き出す“お願い”の仕方
2025.02.13
「みんなで決めたから」を言い訳にして仲良しクラブで終わる組織 インパクトも多様性も両立させるソース原理
2025.02.10
32歳で「すかいらーく」を創業、75歳で「高倉町珈琲」で再起業 「失敗したからすかいらーくができた」横川竟氏流の経営哲学
2025.01.07
1月から始めたい「日記」を書く習慣 ビジネスパーソンにおすすめな3つの理由
着想から2か月でローンチ!爆速で新規事業を立ち上げる方法
2025.01.21 - 2025.01.21
新人の報連相スキルはマネージメントで引きあげろ!~管理職の「他責思考」を排除~
2025.01.29 - 2025.01.29
【手放すTALK LIVE#45】人と組織のポテンシャルが継承されるソース原理 ~人と組織のポテンシャルが花開く「ソース原理」とは~
2024.12.09 - 2024.12.09
『これで採用はうまくいく』著者が語る、今こそ採用担当に届けたい「口説く」力のすべて
2024.11.29 - 2024.11.29
第20回エクゼクティブメンターイベント「今、「ひと」と組織が共創する〜働き方の未来へ」
2024.12.07 - 2024.12.07