なんのために?
会社の内部で「クラウドエンジニアを育成しましょう」というわけでハンズオン部分を担当しました
要するにどういうやつ?
テーマは「変遷」です。
クラウド技術って進化速いですよねー
Re:Invent でもいっぱいでましたし。
そういう進化についていくにはやっぱり「何がおいしいの?」を理解しないとダメだと思うんですよね。
人間って必要性がないものに対して強烈な興味をもたないですし。
まぁそういうことです。クラウドの進化によって我々エンジニアがどういった恩恵を得てきたのか。
そういうのを知ってもらいたくてけっこう頑張って作りこみました。
具体的には???
Angularで作ったSPAの静的コンテンツを専用バケットでホスティングし、CloudFrontで配信するという御馴染みの構成です。
んでデータを管理するバックエンドアプリケーションとしてREST-APIにつなぎこむという感じです。
実際のアプリは↓こちら
※GIFはPNGに自動変換されちゃうのか。。。
第二回で CloudFormation 化 & ElasticBeanstalk お試し回を実施。
第三回で最近流行りの ServerlessFramework に仕様変えずに乗っける、ということをやりました。
サーバーレス化した時のアプリ構成は↓以下の図のような形です。
DynamoDBが増えてますが、増やしました。第一回ハンズオンでDynamoDBがなかったのはコンテンツ作成リソースの都合です。orz
苦労したとこ
筆者まだまだペーペーのへっぽこですので知らないところも多く、なんだかんだコンテンツ作成に時間かかりました。
アプリ動かねー
CloudFormationこけてるー
SPAうまく動かねー
ベストプラクティスなんやねんー
みたいな・・・
ひたすらググってなんとか解決。
第二回でCloudFormationのテンプレートを虫食いにしといて穴埋め問題形式で課題だしたりしたんですが、
割と受講者の皆さん苦しんでたようですね。
でもあれ読んで理解して初めてわかる機能もあるかもしれません。
個人的にはインスタンスプロファイルとかテンプレートを自分で書いて全体像がはっきりしてきた、というのがあります。
作ってよかったこと
日付変わってますが、本日(=20日)ソリューションアーキテクトアソシエイトを取得してきました。
やっぱこんだけコンテンツ作ってきてるとなんだか簡単に思えました。。。
得点率87%でした。
勉強は試験日当日に模擬試験やってスマホでなんか適当に公式から落としてきたPDFを途中まで読んだだけ。
※ちゃんとやりましょう。。。
コンテンツ運営
来年まで考えてつくりこんでみました。
まずハンズオン資料はGitbookで作成し、ビルド、S3+CloudFront構成で受講者に公開。
CloudFrontのTTLは3秒に設定。
バケットは2つ用意しておき、資料更新の度にCloudFrontのオリジンを切り替えて運用しました。
フロントとバックエンドのつなぎ込みがダサい作りになっちゃってたのでこの辺りのかっこいい作りを体験してもらえればよかったんですがね><
でももうお金かけたくないのでfirebase でデプロイできるようにちょろっと改造しときました。。。
AWSへの裏切り!
来年からは
npm run build
firebase deploy
でコンテンツ更新完了です。
ぶっちゃけ座学資料もGitbook化したいなぁと内心思い中。
思ってるだけです。
記事は以上になりますー
乱文失礼しましたー