Slide 1

Slide 1 text

+"84%":4લ໷ࡇ "84ͷ5FDIͱ+"846(ͷτϨϯυΩϟονΞοϓ r ԶͨͪͷϓϩτλΠϓ ࠓ͙͢͸͡ΊΔαʔόʔϨε '3* ∁ࢁ༟࢘ˏτϨϊέʔτגࣜձࣾ

Slide 2

Slide 2 text

⾃⼰紹介 τϨϊέʔτגࣜձࣾ ͔ͨ΍· Ώ͏͡ ∁ࢁ ༟࢘ ུྺ ೥͔Β "84 ೝఆΠϯετϥΫλʔʢ""*ʣͱͯ͠ "84 ೝఆΫϥεϧʔϜτϨʔχϯάΛ୲౰ લ৬͸ɺγοΫεɾΞύʔτͰ.PWBCMF5ZQFͷ ϦʔυΤϯδχΞ݉ϓϩμΫτϚωʔδϝϯτΛ୲౰ !ZVKJ :VKJ TXPSECSFBLFS

Slide 3

Slide 3 text

"84ೝఆ ΠϯετϥΫλʔͷ ͓࢓ࣄ ͳʹ΍ͬͯΔͷʁ ͳʹ΋ͷͳͷʁ

Slide 4

Slide 4 text

"84ೝఆΠϯετϥΫλʔͷ͓࢓ࣄ u "84ೝఆΫϥεϧʔϜτϨʔχϯάͷ࣮ࢪ u ిࢠςΩετʢ7JUBM4PVSDF#PPLTIFMGʣͷςΩετҾ͖׵͑ίʔυͷ഑෍ u 2XJL-BCT ʢϋϯζΦϯ؀ڥʣ ͷϩάΠϯΞΧ΢ϯτͷ഑෍ u ిࢠςΩετΛར༻ͨ͠ߨٛ u 2XJL-BCT ͰͷϋϯζΦϯ࣮ࢪ u डߨऀ͔Βͷ࣭໰ड෇ͱղ౴ u τϨʔχϯάͷ࣮ࢪܗଶ u ΫϥεϧʔϜτϨʔχϯά u ΦϯϥΠϯ -JWFτϨʔχϯά u σϞαΠτɺ࣮ࢪͷ͓ॿ͚πʔϧ࡞੒ɺαϯϓϧ࡞੒ ˞τϨϊέʔτͰͷ͓࿩Ͱ͢ɻ͢΂ͯͷ"84ೝఆΠϯετϥΫλʔͷ͓࢓ࣄ͕͜ͷ௨ΓͰ͸༗Γ·ͤΜ

Slide 5

Slide 5 text

AWS クラスルームトレーニング 運⽤者 開発者 アーキテクト プロフェッショナル 上級コース コース⽇数︓3⽇ アソシエイト 中級コース コース⽇数︓3⽇ ベーシック 初級コース コース⽇数︓1⽇ Advanced Architecting on AWS Architecting on AWS Systems Operations on AWS Developing on AWS DevOps Engineering on AWS Advanced Developing on AWS AWS Technical Essentials 2*1 Big Data on AWS (3日) Data Warehousing on AWS (3日) Deep Learning on AWS*2 (1日) Planning and Designing Databases on AWS (3 日) Security Engineering on AWS (3日) Build Your First Serverless Web Application with Mob Programming*3 (1 日) *2 2021年6⽉で提供終了 *3 プライベートトレーニ ングのみで提供 AWS Cloud Practitioner Essentials ※ Architecting on AWS と Systems Operations on AWS は、 内容の多くが重複します 5 AWS Security Essentials *1 2021年7⽉からコース名称を「AWS Practical Startup Workshop」に変更 Practical Data Science with Amazon SageMaker (1日) Running Containers on Amazon Elastic Kubernetes Service (Amazon EKS) (3日) The Machine Learning Pipeline on AWS (4日)

Slide 6

Slide 6 text

"84ೝఆΠϯετϥΫλʔͷ͓࢓ࣄ ˞τϨϊέʔτͰͷ͓࿩Ͱ͢ɻ͢΂ͯͷ"84ೝఆΠϯετϥΫλʔͷ͓࢓ࣄ͕͜ͷ௨ΓͰ͸༗Γ·ͤΜ u "84ೝఆΫϥεϧʔϜτϨʔχϯάͷ࣮ࢪ u ిࢠςΩετʢ7JUBM4PVSDF#PPLTIFMGʣͷςΩετҾ͖׵͑ίʔυͷ഑෍ u 2XJL-BCT ʢϋϯζΦϯ؀ڥʣ ͷϩάΠϯΞΧ΢ϯτͷ഑෍ u ిࢠςΩετΛར༻ͨ͠ߨٛ u 2XJL-BCT ͰͷϋϯζΦϯ࣮ࢪ u डߨऀ͔Βͷ࣭໰ड෇ͱղ౴ u τϨʔχϯάͷ࣮ࢪܗଶ u ΫϥεϧʔϜτϨʔχϯά u ΦϯϥΠϯ -JWFτϨʔχϯά u σϞαΠτɺ࣮ࢪͷ͓ॿ͚πʔϧ࡞੒ɺαϯϓϧ࡞੒

Slide 7

Slide 7 text

コースに必要な お知らせ。を サーバーレスで 電⼦テキストの引き換えコード 演習環境のアカウント情報

Slide 8

Slide 8 text

コースに必要なお知らせをサーバーレスで u 要件 u Bookshelf の電⼦テキスト引き換えコードを個別に渡せる u QwikLabs のログインアカウントとパスワードを個別に渡せる u 課題 u クラスルームでは、⼀⼈ずつ情報を転記したペーパーを配布していたが、 オンラインでは紙を渡せない。 u Zoom の個別チャットで渡すのは時間が掛かる u そもそも毎回 Word で差し込み印刷するのも⼿間が掛かる

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

アーキテクチャ u Amplify による⾃動構築 u フロントエンド、バックエンド u フロントエンドは Vue.JS で Amplify コンポーネントを利⽤ u テキストコード、ラボアカウントは CSV ファイルでコースごとに準備し S3 バケットにアップロードして Lambda で⾃動取り込み u Vue.JS のウェブアプリは Amplify の ホスティングから配信

Slide 11

Slide 11 text

導⼊後の効果 u オンライン、オフラインともに準備の⼿間が減った u EXCEL データの準備、Word の差し込み印刷が不要 u ペーパーの配布よりも短時間でコースのお知らせを配布できる u Amplify Console によるフロントエンドの CI/CD は開発環境も作れるから プロダクションへの展開の前に確認がしやすい u Amplify によるバックエンド構築は内部的には CloudFormation が動くので 別の講師が⾃分で環境構築するときも楽ちん u サーバーレスで管理するサーバーがないので楽ちん

Slide 12

Slide 12 text

演習の完了を 連絡する。を サーバーレスで 演習成果のURL共有 演習中に感じたことや疑問を コメントで

Slide 13

Slide 13 text

演習の完了報告をサーバーレスで u 要件 u 演習がおわったことを受講者が⾃⾝で連絡できる u 演習で感じたことやふとした疑問などをコメントできる u 課題 u オフラインでは、受講者の進み具合を確認するために部屋の中をぶらりと歩けば ⼤抵のことは気がつくし、受講者もその場で雑談ベースでも質問したり、 講師側からも感想とかを聞き出しやすかった。 オンラインでは、受講者の進み具合をはかりにくいし、受講者側も気軽に 質問しにくい様⼦。 u オフラインでも、淡々と作業するだけになることがある

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

アーキテクチャ u Vue.JS のウェブアプリは S3 + CloudFront による静的配信 u レポートは API Gateway から SNS に 統合リクエストでスルー u Rocket.Chat への投稿と DynamoDB への格納を SNS + SQS でファンアウト することで Rocket.Chat の障害に対応 u Rocket.Chat は スポットインスタンス でコースごとに起動

Slide 16

Slide 16 text

導⼊後の効果 u 受講者側のメリット u 演習が終わったあとにコメントを書くために内容を整理する時間が取れている u 感動や驚きを伝えられる u ちょっときになったことを気軽に質問できる u 講師側のメリット u 進捗具合を把握できる u コース中や演習前に伝えた内容の理解度をはかれるので、演習後の解説において どこを話すかの戦略が⽴てられる u ⼀撃インフラ構築⽤ CloudFormation テンプレートがあるのであとから続く 講師も構築が楽ちん u サーバーレスで管理するサーバーがないので楽ちん

Slide 17

Slide 17 text

Zoom の投票で使う 質問の作成。を サーバーレスで ZOOM 投票⼀発作成

Slide 18

Slide 18 text

Zoom の投票作成と管理をサーバーレスで u 要件 u Zoom の投票作成の作業を⾃動化する u 投票で使う質問は再利⽤できる u 課題 u オンラインLiveトレーニングで使う Zoom には、投票機能があるのでこれを受講者へ の確認テストや、ちょっと質問などで使っている。しかし、毎ミーティングごとに ⽤意しないといけない上、1項⽬ずつ⼿作業で⼊⼒する必要があるので⼿間である。 u 同じコースであれば、毎回同じ質問を使いたいが毎回⼊⼒しているので⾃⼰管理に なってしまう。

Slide 19

Slide 19 text

https://blog.trainocate.co.jp/blog/zoom-api-tool_022

Slide 20

Slide 20 text

アーキテクチャ u 社内の複数の講師が使うことを考慮し てユーザー管理は Cognito を利⽤ u API Gateway は、Cognito オーサラ イザーを利⽤してログインできた⼈ だけが API を実⾏できるように制限 u Zoom API の認証情報は Secrets Manager で管理

Slide 21

Slide 21 text

導⼊後の効果 u ⼀度登録しておけば投票を使い回せるので⾮常に便利 u すでに実施された投票も Zoom API 経由でインポートすることもできるので ツール導⼊前に利⽤した投票も利⽤可能 u サーバーレスで管理するサーバーがないので楽ちん

Slide 22

Slide 22 text

匿名で質問できる フォーム。を サーバーレスで 質問投稿 解答コメント集約

Slide 23

Slide 23 text

匿名で質問できるフォームをサーバーレスで u 要件 u 受講者は、コース実施中にいつでも好きなタイミングで質問できる u 受講者は、匿名性をもって質問できる u 受講者は、他の受講者の質問と解答を共有できる u 課題 u 積極的に質問をしてくださる受講者の⽅もいますが、多くの⽅は質問を躊躇ってしま うことが多いと思います。 u 講師が話をしている中で質問のタイミングを逃す u こんな質問をしていいのか不安 u コース中に質問を確認したタイミングでは⼤丈夫だったけど、次第にこれってなん だっけと思い始めて⾃分で調べていたらコースが進んで現在地が不明になる

Slide 24

Slide 24 text

https://blog.trainocate.co.jp/blog/qaforma-2020_022

Slide 25

Slide 25 text

アーキテクチャ u 質問フォームは S3 + CloudFront によ る静的配信 u 質問の投稿は、API Gateway 経由で 後続処理にファンアウト u Rocket.Chat へ投稿 u DynamoDB に保存 u MS Teams に投稿 u Rocket.Chat へのリプライは Webhook で DynamoDB 経由 Kintone ⾏き

Slide 26

Slide 26 text

導⼊後の効果 u 気になったタイミングで質問を⼊⼒できるのでメモして聞きそびれることが少な くなる u 匿名での質問投稿なので⼼理的に安⼼して質問できる u 質問内容と解答は、Rocket.Chat で共有されるので他の⼈の質問もタメになる

Slide 27

Slide 27 text

なぜ、ぼくらは サーバーレスで ツールを作るのか

Slide 28

Slide 28 text

なぜ僕らはサーバーレスでツールを作るのか u 受講者に安⼼・快適にトレーニングを受講してもらいたい u 疑問を持ち帰らずに吐き出してもらいたい u 実際に動いているサンプルとして体験してもらいたい u 何しろサーバーのメンテナンスや運⽤をできる限りしたくない u 何しろ AWS で何かを作るのが⼤好き

Slide 29

Slide 29 text

͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ IUUQTXXXUSBJOPDBUFDPKQ "84ೝఆΠϯετϥΫλʔʹڵຯ͕ͰͨΒ