はじめに
若手の勉強会としてAWSの話しをする機会があったので、同じ若手の私が開発者目線の話しをする事になりました。
説明したい内容のプレゼンテーションを作成し、11名(若手+当社に来てまだ経験の浅い中途)に対して共有しました。
実は今回がAWS関連は2度目でして、1度目に別のメンバーがAWSのざっくりした内容を話していたので、主に開発を担当している私が深堀するという状況でした。
サービスを呼び出している流れ
序盤のサービスを呼び出す流れを個別に説明している時はとても手応えありました。
いつもはAWSの構成図を見せられ、複数のサービスが列挙されている図を見ていただけなのでイメージが湧きずらいと思い説明しました。
その時の説明イメージがこうです。
こちらのURLと構成が同じだったので引用させて頂きました。
https://dev.classmethod.jp/articles/spa-cloudfront-and-api-gateway-voiding-cors/
上の図を見せながら、1つ1つのAPI呼び出しする際、APIGateway+Lambdaが基本的にあって、必要であればその後ろにまたサービスがあるよ。
という感じの説明でした。
この時までは皆さん頷いていました。
もっと開発者向けに深堀すると、、、
まさに上で参考にしたURLにある通り、CORS設定を回避した造りになっています。
CORS設定の回避とは:ブラウザの制限(CORS)でエラーが出るのを、CloudFrontでドメインを統一することでスマートに解決する
それを説明するともう皆さん???でした。
以前はCORS設定をしていたので、
https://api-id.execute-api.region.amazonaws.com/stage/
このエンドポイントを直接叩いてました。
でも現在では、
https://dxxxxxxxxxxxxx.cloudfront.net/api/resource
上記のようにアクセスしています。
勉強会に参加しているメンバーには中途の方も居るので伝わると思ったのですが、、、
最終的に伝わらず皆さん???って顔してました。
終わった後に理解度を確認するんですが60%未満が3名でした。
おわりに
2度目の勉強会という事で開発者向けの話しをして欲しい!という要望も有りこの内容になったのですが、、、
最終的にはもっと難易度下げればよかった。と思いました。
他にはCloudFormationを使ったリリース手順も説明しました。
これもまたサーバーレスシステムは保守の場合、サービスを止めないリリースだと手順がとても大事になってきます!
例えば、フロントエンド(S3/CloudFront)を先に更新すると、バックエンド(API)が未完成で404エラーになることがあります。
顧客の要望にできる限り答える形なので、サービスを止めないリリースを行う事がほとんどです。
サーバーレスシステムの構築に関して若手育成に力入れて!
と言われてますが、色々と伝える事がありどこから教えて良いのか難しいです。
もし時間があればハンズオンをして理解を深めたいと思います。
