serverless-architecture について
サーバーレスアプリケーションの設計を扱うスキルです。イベント駆動システムとマネージドなコンピューティング・データサービスの構成を解説し、API バックエンドやデータ処理、ワークフローの構築に役立ちます。
主な機能
- 01イベント駆動アプリケーションの設計
- 02API バックエンドとマイクロサービスのガイド
- 03Step Functions によるオーケストレーション
- 04監視、トレース、安全なデプロイの実践
活用シーン
- 01イベント駆動アプリや API バックエンドの構築
- 02リアルタイムデータとバッチ処理
- 03自動化ワークフローのオーケストレーション
- 04モバイルバックエンドや IoT データパイプラインの構築
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ aj-geddes/ useful-ai-prompts --skill serverless-architectureインストール後、Claude Code で/serverless-architectureを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/event-driven-lambda-handler-pattern.mdmonitoring-and-observability.mdorchestration-with-step-functions.mdserverless-application-architecture.mdscripts/validate-config.shtemplates/config-starter.yaml詳細
サーバーレスアーキテクチャ
目次
概要
サーバーレスアーキテクチャを使うと、サーバーを管理せずにアプリケーション全体を構築できます。マネージドコンピューティングサービス、データベース、メッセージングシステムを使って、イベント駆動型のスケーラブルなシステムを設計できます。実際の使用量に対してのみ料金が発生し、自動的にスケーリングされます。
使用する場面
- イベント駆動型アプリケーション
- API バックエンドとマイクロサービス
- リアルタイムデータ処理
- バッチジョブとスケジュールされたタスク
- ワークフローの自動化
- IoT データパイプライン
- マルチテナントの SaaS アプリケーション
- モバイルアプリのバックエンド
クイックスタート
最小限の動作する例:
# serverless.yml - Serverless Framework
service: my-app
frameworkVersion: "3"
provider:
name: aws
runtime: nodejs18.x
region: us-east-1
stage: ${opt:stage, 'dev'}
memorySize: 256
timeout: 30
environment:
STAGE: ${self:provider.stage}
DYNAMODB_TABLE: ${self:service}-users-${self:provider.stage}
SNS_TOPIC_ARN: arn:aws:sns:${self:provider.region}:${aws:accountId}:my-topic
httpApi:
cors: true
iam:
role:
statements:
- Effect: Allow
Action:
- dynamodb:Query
- dynamodb:Scan
// ... (see reference guides for full implementation)
リファレンスガイド
詳細な実装については、references/ ディレクトリを参照してください:
| ガイド | 内容 |
|---|---|
| サーバーレスアプリケーションアーキテクチャ | サーバーレスアプリケーションアーキテクチャ |
| イベント駆動型 Lambda ハンドラーパターン | イベント駆動型 Lambda ハンドラーパターン |
| Step Functions によるオーケストレーション | Step Functions によるオーケストレーション |
| モニタリングと可観測性 | モニタリングと可観測性 |
ベストプラクティス
✅ 推奨事項
- 冪等性のある関数を設計する
- イベントソースを効率的に使用する
- 適切なエラー処理を実装する
- CloudWatch/Application Insights でモニタリングする
- Infrastructure as Code を使用する
- 分散トレーシングを実装する
- 安全にデプロイできるよう関数をバージョン管理する
- 設定に環境変数を使用する
❌ 避けるべき事項
- 長時間実行される関数を作成する
- 関数内に状態を保存する
- コールドスタートの最適化を無視する
- 同期チェーンを使用する
- テストを省略する
- 設定をハードコードする
- モニタリングなしでデプロイする
コメント
Markdown 対応