サーバーレスアプリケーションって何?
サーバーレスアプリケーションとは、サーバー管理が不要で、AWSなどのクラウドプラットフォームとAmazon Web Servicesのサービスをいくつか組み合わせて開発されるソフトウェアです。特徴としては、インフラ管理が不要なこと、低価格なこと、低維持コストなことが挙げられます。
サーバーレスアプリケーションをアーキテクチャの中にいれると?
サーバーレスアプリケーションは、コードをエンドユーザーとサーバーに分けて開発・実行するサーバーレスアーキテクチャ(SRA)の一部として扱われます。SRAのアーキテクチャの中にはAWS Lambdaなどのサーバーをサブスクライブするサービスを含みます。
サーバーレスアプリケーションを実装するには?
サーバーレスアプリケーションを実装するには、AWS Lambdaなどのサービスを使用して、関数を登録したり、APIの接続を行ったりする必要があります。また、サーバーレスアプリケーションのコードをAWS CloudFormationなどのサービスを使用してデプロイしたり、Amazon DynamoDBなどのデータベースやレジストリサービスなどを組み合わせて構築したりする必要があります。
サンプルソースコード
サーバーレスアプリケーションのデプロイ用のソースコードを例として示します。
import boto3
region = "ap-northeast-1"
lambdaclient = boto3.client('lambda', region)
with open('sample.zip', 'rb') as zip_file:
response = lambdaclient.create_function(
FunctionName="sample_function_name",
Runtime="python3.7",
Role="arn:aws:iam::1111111111111:role/sample_role_name",
Handler="sample_handler",
Code={"ZipFile": zip_file.read()},
)