🐾
今まで構築したアプリケーションの構成を嫁に説明するつもりで書く。
尚、嫁は難しい話をするとすぐ眠くなるものとする。
EC2 の構成
- PHP + Mysql + α(アプリによってまちまち)
社内業務用のアプリケーションの構成。
その他 AWS サービスがくっついていることも多い
いいところ:
かんたん
悪いところ:
バージョンアップとかがつらい
- EC2 とは?
パソコンのことをかっこよく言ってる - Mysql とは?
よく会社にある顧客リストのエクセルみたいなやつ - ALB とか nat instance とか availability zone で別れてるのなに?
東名高速の右ルートと左ルートみたいな感じの通信があって片方のルートを工事しても大丈夫な感じになる
ECS の構成
アプリケーション部分
- PHP + Aurora Mysql + コンテナ内のコマンドラインツール(バッチ用途)
サブネットとかは省略
いいところ:
本番でだけ問題が起きるとかがない
非同期処理をしやすい
悪いところ:
元がレガシーだと大変
- 非同期って何の話?
しょうもない用事であれば電話ではなくメールや slack を使うべきということ
REST API で構成されたマイクロサービス
- API Gateway + Lambda + DocumentDB + DynamoDB
ここではバックエンドのみ。
右側はマイグレーションしてる。
最近有料になった serverless framework 君
いいところ:
動いてしまえばあんまり欠点がない
悪いところ:
マイクロサービス自体がむずかしい
- マイクロサービスってなんで難しいの?
完璧に整理整頓された理想の家を作ってもどうしても散らかしちゃうみたいなところが人間にはあるから
実際に見せてみた嫁のフィードバック
EC2
👩🏻<これなら説明を聞いたら理解できた
ECS
👩🏻<20%くらいは理解できた
API Gateway
👩🏻<なに言ってるかわからん
まとめ
やはりビジネスサイドの人にアーキテクチャの話をするのは困難。
Discussion