nokoのブログ

こちらは暫定のメモ置き場ですので悪しからず

Webアプリケーションのアーキテクチャについて考えたこと

はじめに

  • 自分でちょっとしたWebアプリケーションを開発するときに、構成をどうするか悩んだときのメモです。

考えたこと

Webアプリケーションフレームワーク

比較

f:id:noko_htn:20201022023948p:plain

Django

  • Djangoディレクトリ構成
    • cookie cutterを踏襲したいが、ファイルが増え過ぎるので、参考にしつつ自分で作るのが良いかも
    • DjangoのMTV
■モデル
・データベースと連携を取るところ
■ビュー
・他のフレームワークでいうコントローラ
・モデルで引っ張ってきた情報をどのようにみせるか(ロジックで加工する)
■テンプレート
・HTMLファイルとか。ダイレクトにスクリーンに反映されるコード
・モデルから直接情報を持ってこないこと

FastAPI

  • FastAPIの良いところ

その他

  • マイクロサービス化も考慮したい

インフラ構成

AWS or GCP

  • Google BigQuery使うならGCP、というケースが多い?
  • 逆にElastic Search使うならAWS?

AWS

  • AWS Elastic beanstalkからAmazon EKSへ移行する
    • AWS Elastic beanstalkの辛い点
    • CI/CDをどのように構築するか
  • lambda
    • ライブラリが必要で、ってなっていくと、意外と容量制限が早くてだんだん辛くなってコンテナにしたくなる
    • NFSはエンドポイントとかちょっとめんどくさい(LambdaもVPCだし)
    • zipを開いたら、直下のディレクトリに展開される
    • layerは、optにできる
    • パスが通っているところに置きたかったら、解凍したらpython配下になるようにする

GCP