投稿元:
レビューを見る
サーバレスのお勉強。
AWS Lambdaは、現状、FaaSの代表格ともいえるAWSのコンピューティングサービスです。登場時よりは選択肢は増えてはいますが、AWSにおいて、サーバレスでのシステム構築を行う上で、外すことのできないサービスです。…
…その大きな特徴としては、マネージメントコンソールやAPIを利用して、コードをアップロードするだけで、実行することができます。つまり、開発者はサーバーの構築、管理は一切不要で、コードの実装のみに集中することができます。またリクエストに応じて、自動的にスケーリングを行ってくれます。
リクエストごとの課金となるため、関数が実行されないときには、一切、料金が発生しません。
Continuous Integration(継続的インテグレーション)はプログラムコードを中央リポジトリにマージし、自動的・定期的にビルドやテストを行う開発手法です。マージに合わせて自動的にコードをビルド、テストすることで、ビルドエラーの検知、テスト結果から意図通りの挙動となっているかを素早く確認することで品質の向上を図ります。
Continuous Delivery(継続的デリバリー)は、CIで準備したモアーティファクトをデプロイ可能な状態にすることです。…
また、Continuous Deployment(継続的デプロイ)と継続的デリバリーの違いは、継続的デリバリーがデプロイ可能な状態を用意することに対し、継続的デプロイは実際のデプロイまで行うことです。
CI/CDにおける一連のステージはパイプラインとして定義されます。ソースをビルドして、ユニットテストを実施し、テストされた後、本番環境にリリース可能な状態にします。
では、サーバーレスではどのようにしてシステムが正しく動いている状態を保っていることを確認すればよいのでしょうか。サーバレスでは先に書いたように、これまでのようにサーバーを意識する必要がなくなり、運用面ではサーバー機器の管理やOSの保守などといった煩わしい作業から開放されます。
そして、…CPUの使用率による監視やメモリ利用量による監視というサーバーの稼働状態による監視はサーバーの状態を管理するという考え方なので、サーバーレスでは必ずしも当てはまるわけではありません。