サーバーレスアプリケーションって何?


サーバーレスアプリケーションとは、サーバー管理が不要で、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()},
)

投稿者: systemreach_engineer