0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Python+サーバレス開発を勉強する中でzappaがデプロイするリソースについて気になったので調べてみた

Posted at

はじめに

デプロイするアプリケーション構成

  • 参考書のchapter9が完了した時点での構成をざっくり抜粋して書くと、以下のようになる
application
├sever.py                # アプリ起動プログラム
├zappa_settings.json     # zappa設定ファイル 
└ flask_blog
  ├__init__.py           # 初期処理プログラム
  ├config.py             # アプリケーション設定プログラム
  ├models/               # モデルプログラム群
  ├static
  │ └style.css           # CSS定義ファイル
  ├templates/            # HTMLファイル群
  └ views                # ビュープログラム群

zappaでデプロイしたリソース確認

  • 以下コマンドでデプロイ
$ zappa deploy dev
  • ApiGatewayの確認
zappa apigateway確認.png
  • Lambdaの確認
zaapa lambda確認.png

でてきた疑問点

  • HTMLファイルの実体どこにあるんだ?
    • よく目にするのは静的ファイルはs3に格納して表示するパターン
  • lambdaのソースコードどうなっている?
    • 以下のようにコードのファイルサイズが大きすぎると表示されて、

      コンソールからはファイルが確認できない

      the deployment package of your Lambda function "application-dev" is too large to enable inline code editing. However, you can still invoke your function.
      

調べた内容

AWS Webアプリのサーバレスアーキテクチャ例

  • そもそもサーバレスでどういったアーキテクチャが考えられるのか調べてみたところ

    やっぱり静的コンテンツをS3(またはs3を内包するamplify)に格納しておいて

    動的コンテンツはApigatewayとlambdaを使うといったアーキテクチャは公開されていた
  • s3 + ApiGateway + Lambda
s3-apigateway-lambda.png - 参考 - [初めてのサーバーレスウェブアプリケーションを構築する](https://aws.amazon.com/jp/serverless/build-a-web-app/)
  • CloudFrontを使って設計するパターンもあるよう
cloudfront-severless.png

Lambdaのソースコード取得方法

  • Lambdaのソースコードは調べたところ以下コマンド取得できた
    (コンソールから アクション->関数のエクスポートでも取得できるみたい)
$ aws lambda get-function --function-name [function名] --query 'Code.Location' | xargs curl -o [出力ファイル名指定(例 xxx.zip)]

取得した結果を確認したところ
デプロイするアプリケーション構成に記載したファイルもまるっと含まれていた

終わりに

  • いつかサーバレスアプリケーションを作ってみたいなと思っていたので

    Pythonの学習に加えてサーバレスのアーキテクチャパターンを調査できたのはよかった
  • SPAとMPAの違いもろくに分かっていなかったので

    Webアプリ開発の理解が乏しすぎることを再認識しました、、、
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?