What Is Serverless Development?
レクチャーの説明
This course is about serverless computing. But what does that actually mean? This lecture takes a closer look.
コース全体からもっと学ぶ
AWS Serverless APIs & Apps - A Complete Introduction
Get into serverless computing with API Gateway, AWS Lambda and other Amazon Web Services! Zero server config APIs & SPAs
07:40:19のオンデマンドビデオ • 更新日: 11月 2024
Build, secure and run APIs without managing any servers using AWS API Gateway and Lambda
Host SPAs without managing any servers
Add user authentication to serverless applications
Run code on-demand in the cloud
日本語 [自動]
AWSとは何かを学んだので、 次にサーバーレス・コンピューティングとは何かを見てみよう。 典型的な例を考えてみよう。 私たちはユーザーで、 ウェブやモバイルのアプリを使っている。 そしてそのバックエンドで、 ビジネス・ロジックを実行したり、 データベースにアクセスしたりする。 もちろん、 ウェブアプリの場合、 リクエストごとにHTMLページをレンダリングするサーバーを持つという伝統的なセットアップもある。 バックエンドがそのようなAPIで、 フロントエンドがモバイルデバイス上で動作するアプリケーションか、 Javascriptで駆動されるブラウザ上で動作するウェブアプリケーション、 主にシングルページアプリケーションである。 さて、 これでセットアップは完了だ。 では、 サーバー上のコードはどのように実行されるのだろうか? そのコードはPHP、 Node、 Rubyで書かれ、 もちろん私たちが管理するサーバーで実行されます。 もちろん、 AWS EC2を使用してプロビジョニングするサーバーも含まれます。 私たちはそこにサーバーを置いていますが、 もちろんアプリケーションが成長しスケールアップするにつれて、 入ってくるトラフィックを処理するためにもっともっと多くのサーバーが必要になります。 しかし、 この方法にはいくつかの問題がある。 例えば、 APIを作成する際に車輪を再発明しなければならないという問題がある。 PHPでもNodeでも何でもいいのだが、 APIを作り、 リクエストに対応するためのロジックを書き、 コードでAPIのエンドポイントを定義し、 ビジネス・ロジックではなくインフラに関わる多くのことをしなければならない。 さらに、 必要なサーバーの数を考えなければならないし、 サーバーは必要なければオンラインにもなっているので、 プロビジョニングの過不足、 つまり、 多すぎて料金が高くなるか、 トラフィックの急増に対してサーバーが足りなくなる危険性もある。 そして最後に、 サーバーをアップデートし、 オペレーティング・システムをアップデートし、 ソフトウェアをアップデートし続けなければならない。 これらは、 大規模なウェブサイトをホスティングするときに直面する典型的な課題であり、 サーバーレス・コンピューティングを使ってAPIをホスティングするときに解決できる課題でもある。 では、 その仕組みを見てみよう。 そこでは、 私たちはこれらのサーバーをすべて管理しているわけではありません。 その代わりに、 AWSの特別なサービスを使う。 ラムダと呼ばれるこのサービスについては、 コースの後半で触れる。 つまり、 必要なサーバーの数に気を配る必要はなく、 アイドリングタイムにお金を払う必要もない。 APIを作成するサービスもあるので、 ロジックをすべて書かなくても簡単にAPIを作成することができます。 入ってこなければ何も払わないし、 ソフトのアップデートを心配する必要もまったくない。 私が言及したラムダ・サービスを使用する際には、 NodeJS、 Java、 Python、 C#を使用することができ、 これにより完全なサーバーレスAPIを作成する力が得られる。 もし興味があれば、 サーバーレスでウェブをホスティングすることもできるし、 このコースでも実際にやってみよう。 従来のセットアップでは、 サーバーのプロビジョニング(どのサーバーを立ち上げるべきか、 どれだけの容量が必要か、 高額な料金を支払ったり、 サーバーに問題が発生したりする危険性があること、 オペレーティング・システムを常にアップデートしておく必要があること)を心配しなければなりませんでしたが、 サーバーレスには大きな利点があります。 従来のアプローチでは、 APIとSPAのセットアップやアプリケーションを構築する際に、 多くのオーバーヘッドを管理しなければならなかった。 APIを構築していないような、 分離されていないアプリでは、 リクエストごとにHTMLをレンダリングするようなフルスタック・アプリには、 素晴らしいサポートを提供してくれる。 一方、 サーバーレス・アプリケーションは、 プロビジョニングの問題を取り去り、 オンデマンドのコードを提供し、 必要のないものは一切支払わず、 インフラを管理する必要もない。 そのため、 SPAやAPIを構築していて、 サーバーレス・アプローチでそれらを実行したい場合、 これは素晴らしいことだ。 しかし、 フルスタック・アプリのサポートは限られており、 正確には、 今のところNode Expressアプリのサポートしかない。 これがサーバーレス・コンピューティングであり、 それを何に使い、 どのような問題を解決するのかということだ。 このコースでは、 これらすべての関連サービスと、 それを使ってサーバーレス・アプリを構築する方法について学び、 次の講義で最初のサーバーレスAPIを構築することにしよう。