AWS サーバーレスは、クラウド プロバイダーがサーバーの割り当てとプロビジョニングを自動的に管理するクラウド コンピューティング モデルです。 サーバーレス アプリケーションは、必要な場合にのみ起動され、必要に応じて自動的にスケールされる Lambda などのサーバーレス関数で実行されます。 これにより、アプリケーションはサーバーを管理することなく、大きく変動するトラフィック レベルを処理できるようになります。
Duy の以下の記事では、AWS サーバーレスについて、その利点、欠点、実装方法、いくつかの代表的なプロジェクトを含めて紹介します。
AWS サーバーレスの紹介
Web サイトにとっての最大の課題の 1 つは、短期間での突然のトラフィックの急増に対処することです。 典型的な例は、Web サイトが人気ニュース サイトから突然何千ものアクセスを受ける「スラッシュドット効果」または「死のレディット抱擁」現象です。 従来のサーバーでは、Web サイト所有者はピーク需要に対応するために強力なインフラストラクチャを準備する必要があり、運用コストが高くなります。
AWS サーバーレスでは、自動スケーリングが自動的に行われます。 トラフィックの急増が発生すると、サーバーレス機能が複数のインスタンスに自動的に複製され、需要に対応します。 トラフィックが減少すると自動的にスケールダウンするため、空のインフラストラクチャを維持する場合と比較してコストを最大限に節約できます。
AWS Lambda は、需要に応じて、わずか数分で 1 秒あたり 0 リクエストから数千リクエストまでスケールできるようになりました。 ユーザーエクスペリエンスの監視と向上に役立つ、パフォーマンスとメトリクスのデータも詳細に提供されます。
AWSサーバーレスのメリット
- 柔軟性と費用対効果: AWS サーバーレスでは、使用した分だけお支払いいただけます。 これにより、特にトラフィックの変動が激しいアプリケーションの場合、大幅なコスト削減が実現します。
- オンデマンドで自動的にスケール: AWS Serverless は、サーバーレス機能をオンデマンドで自動的にスケールアップまたはスケールダウンします。 これにより、トラフィックが急増した場合でもアプリが常にスムーズに実行されます。
- シンプルかつ高速: 開発者は、サーバー上で多くのことを管理したり設定したりする必要がなく、コードの開発に集中するだけで済みます。
- 簡単なデプロイ: AWS サーバーレスを使用すると、アプリケーションをわずか数分でデプロイできます。 CI/CD は展開を自動化し、時間と労力を節約します。
AWSサーバーレスのデメリット
- 大規模な場合は複雑になる可能性があります: アプリケーションが大規模な場合、AWS サーバーレスは複雑になる可能性があります。 アプリケーションをデプロイおよび管理するには、さまざまな AWS サービスに関する知識が必要です。
- デバッグとモニタリングは従来のサーバーよりも複雑です: サーバーレス アプリケーションのデバッグとモニタリングは、従来のサーバー アプリケーションよりも複雑になる可能性があります。 これは、サーバーレス関数がサンドボックス環境で実行され、ファイル システムやデータベースにアクセスできないためです。
AWS サーバーレスをデプロイする方法
サーバーレスアプリケーションを AWS にデプロイするには、サーバーレス関数を作成し、Lambda を使用して実行をトリガーし、他の AWS サービスに接続するイベントトリガーを定義する必要があります。 AWS のツールとテンプレートを使用すると、アプリケーションのデプロイに役立ちます。
開発者は、バックエンドのインフラストラクチャについてあまり心配することなく、コードに完全に集中できます。 このソリューションは非常に柔軟でもあり、Lambda 関数を API Gateway、SQS、DynamoDB などの他の AWS サービスと組み合わせて、複雑なシステムを簡単かつ迅速に構築できます。
サービスを使用する AWS サーバーレス モデルのフローの説明は次のとおりです。
- ユーザーは Route 53 – DNS サービス経由で Web サイトにアクセスします
- リクエストは CloudFront – コンテンツ配信ネットワークにルーティングされます
- CloudFront は API Gateway を使用して構築されたバックエンド API を呼び出します
- フロントエンド Web サイトは Next.js で構築され、API を呼び出してデータを処理します
- API は API Gateway を使用して Node.js で記述された Lambda 関数をトリガーし、データベースは dynamodb を使用してリクエストを処理し、レスポンスを返します。
- フロントエンド Web サイトは、静的 Web ホスティング サービスである Amplify でホストされています
- CI/CD プロセスは Amplify でセットアップされ、新しいコードが利用可能になるたびに自動的にデプロイされます。
- S3 は、ファイル、画像、ビデオなどの保存に使用されます。
OneTech Asiaの代表的なプロジェクトの一部
Onetech Asia は、企業向けのアウトソーシング サービスの提供を専門とするテクノロジー企業です。 特に、お客様が迅速かつ確実に導入し、コストを削減できるよう、AWS 上でサービスを提供することに重点を置いています。 同社は、次のような多くのプロジェクトに AWS サーバーレスを導入しました。
カーテンコールプロジェクト
このプロジェクトは、Stripe 決済、ライブブロードキャスト、チャットを統合し、日本の歌手、ショー、コンサート、俳優のファンベースを管理します。
- 導入: Nền tảng phát trực tiếp video và âm nhạc cổ điển “CURTAIN CALL”
- Webサイト: https://curtaincall.media/
サーバーレステクノロジーは以下を使用します。
- チームサイズ: 13
- セキュリティ: クラウドフロント、WAF
- パフォーマンステスト済み: 30,000 リクエスト/分
- フロントエンド: HTML、Tailwind CSS、React JS、Next JS、Vue JS、Typescript
- インフラ AWS: Terraform、Amplify、Appsync、MediaConvert、SES、SQS、SNS、VPC、IVS、RDS Aurora、DynamoDB、Cloudfront、S3、Docker、ECS、ALB、API ゲートウェイ、SQS、Cloudwatch Logs、Lambda、CICD コード パイプライン…
B2B見積・展示会Webプロジェクト
当社は、Web 上で製品を展示し、B2B 顧客に見積書を発行するフェアや展示会を開催できるサーバーレス Web プラットフォームを構築しました。 将来的には、メタバースまたは仮想現実でのデモンストレーションを可能にする 3D オンライン展示会の構築にアップグレードする予定です。
- チームサイズ: 10
- セキュリティ: クラウドフロント、WAF
- パフォーマンステスト済み: 30,000 リクエスト/分
- フロントエンド: HTML、Vue JS、Tailwind CSS
- バックエンド: MySql、DynamoDB、GraphQL Realtime、Rest API、PHP Laravel、NodeJS…
- インフラ AWS: Terraform、Amplify、Appsync、SES、SQS、SNS、VPC、RDS Aurora、DynamoDB、Cloudfront、S3、Docker、ECS、ALB、API ゲートウェイ、SQS、Cloudwatch Logs、Lambda、CICD コード パイプライン…
オンラインテスト
オンライン テスト プロジェクト、テスト問題のバンクを作成し、学生がオンラインでテストを受けます。 システムは最大 1000 アクセス要求/秒に応答できます。
- チームサイズ: 7
- セキュリティ:クラウドフロント、WAF
- パフォーマンステスト済み: 60,000 リクエスト/分
- フロントエンド: HTML、React JS、Next JS
- バックエンド: MySql、DynamoDB、Rest API、PHP Laravel、NodeJS…
- インフラ AWS: Terraform、SAM、VPC、RDS Aurora、DynamoDB、Cloudfront、S3、Docker、ECS、ALB、API ゲートウェイ、SQS、Cloudwatch Logs、Lambda、CICD Jenkins…
結論
一般に、AWS サーバーレスは、特に突然のトラフィックの急増の状況において、ウェブサイトやモバイルアプリケーションの自動スケーリングの問題を解決するための、現在最も有力な選択肢の 1 つです。 このソリューションはコスト効率が極めて高く、企業のリスクとシステム管理負荷を最小限に抑えます。
AWS サーバーレスでの成功を祈っています。
OneTech Asia は、高品質のソフトウェア開発ソリューションと情報技術サービスの提供を専門とする会社です。 私たちは、国内外のお客様向けに AWS 上で Web サイトや Web システムを開発した経験と専門知識を誇りに思っています。 再構築をお考えの方はコンサルティングサポートやWebサイト評価も承っておりますのでぜひご相談ください!