Serverless Days Tokyo 2023に参加しました
AWS認定講師の山下です。
2023年9月23日、24日に開催されましたServerless Days Tokyo 2023に参加しました。
参加セッションのレポートを書きます。
目次[非表示]
Key to Serverless
AWS Data HeroAlex DeBrieさんによるキーノートからスタートしました。
12 Factor Applicationから話が導入されて、AWSマネージドサービスに話が遷移していきました。
そしてDynamoDBのように、プライベートネットワークを意識することなく、コネクション数やストレージの制限も気にせず、IaCフレンドリーで自動化できるサービスが設計を考える上で初期段階では特に重要であったと。
今はAuth0、Snowflake、Algolia、MomentoなどAWS以外のサーバーレスサービスとも組み合わせることで、より実現しやすくなる。
サーバーレスでOSやサーバーを意識しなくてもいいからといって、新しいことを何も学ばなくていいわけではありません。
設定や構成における考慮事項はあり、例えばどのパラメータによって何がコントロールできるかを知っていることで、要件ごとの考慮事項に対応できます。
設計パターンや運用におけるモニタリングでも多くの引き出しを持っている人が実現力を持つんだろうと思いました。
The future is serverless
「未来はサーバーレスにある」というEric Johnsonさんのセッション。
サーバーレスサービスは、サーバー運用の必要がなく、スケーラビリティを既に持っていて、ミリ秒単位など厳密に使った分だけの従量課金、組み込まれたセキュリティといった特徴を持っている。
Lambdaからサーバーレスが始まったと思われているが、それ以前にもS3、SNS、SQSなどマネージドサービスはこれらの特徴があった。
しかしコンピューティング環境はEC2、もしくはEC2上でコンテナを実行する必要があった。
Lambdaがリリースされたことによってサーバーレスの概念が大きく広まることとなった。
設計におけるトレンドは基本から変わらず、イベントドリブンアーキテクチャ、非同期、疎結合である。
サーバーレスの概念が広まったことによりこれらの設計を企業が受け入れやすくなった。
コンテナもFargateがあるようにサーバーレスと対立するものではなく、サーバーレスの1ピースとして組み込み、それを制約としない。
SAMやCDKなどIaCも相性がよくCI/CDを早くまわせる。
最近はInfrastructure from Code(IfC)としてコードにより命令形で実行するツールも増えている。
生成AIもサーバーレスに組み込みやすく、既存アプリケーションを素早く拡張できる。
「未来はサーバーレスにある」
Beyond the Server: Creating TiDB for Developer
TiDBはPingCAPが提供するMySQL互換の分散型データベース。
当初はすべての開発者に分散型データベースを無償提供することは可能か?という考えからスタートされた。
世界中の開発者はだいたい2,700万人と言われる。
もしもモノリシックアーキテクチャで4つのt2.nanoEC2インスタンスとElastic Load Balancingを2,700万人に提供したとすると、年間5,000億円ぐらいかかる。
Elastic Load Balancingはホストベースルーティングとかで何人かまとめたとしても、分散先のEC2インスタンスはやっぱり必要そうですね。
EBSやデータ転送料金やそのほかネットワークコンポーネントも加えるともっとコストが必要と考えられる。
そこでサーバーレスアーキテクチャで考えることにした。
データストレージをS3でマルチテナントにして、コンピュートノードは軽い処理重い処理でサービスを分けたり設計で考慮した。スポットインスタンスも活用している。
1データベースあたりの年間コストが$3.7でできそうになり現実的になってきた。
PingCAPは自らTiDBを使ったアプリケーションとして、OSSInsight.ioを運用している。
GitHubの全イベントとデータをTiDBに格納していて、およそ12TB6億行ものデータがある。
OpenAI APIを使って自然言語からこれらのデータを分析するクエリーが実行されて、最適なグラフで表示される。
まとめ
そのほか、開発者の皆さんからサーバーレスに対する知見や、エンタープライズ企業での実践的プラクティスやクラウドインテグレーターさんの取り組みなど様々なセッションでお話を聞きました。
翌日にはStep Functionsを中心としたserverlesspressoのハンズオンイベントもありました。
AWS Lambdaを中心としたサーバーレスアーキテクチャは主流ではありますが、Step FunctionsやEventBridgeなどほかのサービスも多機能になりよりマネージドになっています。
AWS以外でもMomento、TiDB、Cloudflareなどさまざまなサービスとの組み合わせが当たり前のようになり、開発、運用の負荷を下げながらより俊敏性を高めていける状況になってきています。
設計手段など、どれだけアップデートをしながら引き出しを増やしていけるか、置いていかれないよう危機感と未来への期待感を同時に感じられたServerless Days 2023でした。
AWSサーバーレスを体系的に学ぶには
このコースでは、AWS Lambda とその他の AWS サーバーレスプラットフォームのサービスを使用してサーバーレスアプリケーションを構築するためのベストプラクティスを紹介し、開発者はそれを実践します。簡単なトピックから複雑なトピックへと進化するハンズオンラボで、AWS フレームワークを使用してサーバーレスアプリケーションをデプロイします。コース全体で AWS ドキュメントを使用し、クラスルームの枠を超えて学習および問題解決をするための信頼性の高い方法を開発します。
アジェンダ
- サーバーレス思考
- API 駆動の開発と同期イベントソース
- 認証、認可、アクセスコントロールの概要
- サーバーレスデプロイのフレームワーク
- Amazon EventBridge と Amazon SNS を使用してコンポーネントを疎結合化する
- キューとストリームを使用したイベント駆動型開発
- 優れた Lambda 関数を書く
- Step Functionsを使用したオーケストレーション
- オブザーバビリティとモニタリング
- サーバーレスアプリケーションのセキュリティ
- サーバーレスアプリケーションでのスケール処理
-
デプロイパイプラインの自動化
対象サービス
- AWS Lambda
- Amazon API Gateway
- AWS AppSync
- Amazon Cognito
- AWS CloudFormation
- AWS CDK
- AWS SAM
- AWS Amplify
- Amazon EventBridge
- Amazon SNS
- Amazon SQS
- Amazon DynamoDB
- AWS Step Functions
- Amazon CloudWatch
- AWS X-Ray
- AWS IAM
- AWS CloudTrail
- AWS Config
- Amazon S3
- AWS WAF
- AWS Shield
- Amazon CloudFront
- Amazon VPC
- AWS Secrets Manager
- AWS CodeBuild
- AWS CodePipeline
▼ コース詳細を見る