Slide 1

Slide 1 text

JAWS DAYS 2024 ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a JAWS DAYS 2024 ~クラウド時代のOSS活動~ 渡邉 洋平(watany) A-1 [P] なぜAWS向けのFrameworkに携わり続けるのか?

Slide 2

Slide 2 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a 自己紹介 渡邉 洋平(watany) ● NTTテクノクロス株式会社 ○ We are Hiring!https://www.ntt-tx.co.jp/ri/ ● 2023 Japan AWS Top Engineer ● JAWS-UG東京 運営 ● OSS Contributor ←今日の話 2

Slide 3

Slide 3 text

わたしとOSS ~AWS CDK~ 3

Slide 4

Slide 4 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a AWS Cloud Development Kit (AWS CDK) - AWSリソース群を抽象化(Construct) して記述できるフレームワーク - TypeScript, Python, Golang… - 専用のCLIで一連のデプロイ管理を 効率的に実行 AWS CDK 出典 :https://docs.aws.amazon.com/cdk/v2/guide/home.html

Slide 5

Slide 5 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a `origins.FunctionURLOrigin()` 最近作ったもの

Slide 6

Slide 6 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a CDK Conference Japan 2年連続で参加 Other https://logmi.jp/tech/articles/326653 https://speakerdeck.com/watany/ririsunotoninaic dknoatupudetowojian-temiyou

Slide 7

Slide 7 text

わたしとOSS ~Hono~ 7

Slide 8

Slide 8 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a Hono https://hono.dev/ Hono v4 Yusuke Wada https://speakerdeck.com/yusukebe/hono-v4

Slide 9

Slide 9 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a ● 標準APIで動くからどこでも動く(Node.js, Deno, Bun…) ● “Adaptor”機能で、Lambdaのイベントも変換できる。 ● 2024/2現在 ○ on Lambda󰢏 ○ on Lambda@Edge󰢏 ○ on Container(App Runner/ECS/EKS)󰢏 ○ on Amplify󰢏 Multi Runtime

Slide 10

Slide 10 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a hono/ssg ! 最近作ったもの https://speakerdeck.com/yusukebe/hono-v4

Slide 11

Slide 11 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a まだの人は読んでね

Slide 12

Slide 12 text

AWS Configurationとコード 12

Slide 13

Slide 13 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a ● 「AWSというフレームワーク」が提供する機能は使えるなら使う ○ Config操作で済むならば、圧倒的にEasy ○ 設定後はランタイム等のメンテをほとんど無くせる ● 要件を満たさない場合はコードで書く ○ 統一感を出しやすい ○ Unitテスト、CIで品質を高めやすい ○ IDEサポートで書きやすい わたしのスタンス

Slide 14

Slide 14 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a 統一感を出しやすい? AWSの使い方が分かればわかるほど

Slide 15

Slide 15 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a AWS CloudFormation AWS CloudFormation template formats Working with AWS CloudFormation in Eclipse https://aws.amazon.com/jp/blogs/developer/working-with-aws-cloudformation-in-eclipse/

Slide 16

Slide 16 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a mapping template(API Gateway) Apache Velocity Template Language(VTL) API Gateway mapping template and access logging variable reference https://docs.aws.amazon.com/apigateway/latest/developerguide/api-g ateway-mapping-template-reference.html

Slide 17

Slide 17 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a Configuring resolvers (Appsync) Apache Velocity Template Language(VTL) Configuring resolvers (VTL) https://docs.aws.amazon.com/appsync/latest/devguide/configuring-resolvers.html

Slide 18

Slide 18 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a Step Functions Amazon States Language(ASL) Amazon States Language https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amaz

Slide 19

Slide 19 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a Code Build Buildspec Build specification reference for CodeBuild https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html

Slide 20

Slide 20 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a Code Catalyst Workflow Build, test, and deploy with workflows in CodeCatalyst https://docs.aws.amazon.com/codecatalyst/latest/userguide/flows.html

Slide 21

Slide 21 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a ● AppSpec(Code Deploy) ● Task Definition(ECS), ● Kubernetes Manifests(EKS) ● OpenAPI(API Gateway), ● AWS Cloudformation Guard(CloudFormation, Config Rule) And More......! Other DSL

Slide 22

Slide 22 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a 率直な感想 AWSの設定ファイルっ て、なんか多くね…? はい。 (全部書けん)

Slide 23

Slide 23 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a ● つまり「要はバランス」ってこと? ○ バランスをとるには、どちらもできる必要がある ○ ならコード書けないとダメでしょ ←危機感 わたしのスタンス

Slide 24

Slide 24 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a ご存じAWS CDK https://github.com/aws/aws-cdk

Slide 25

Slide 25 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a Amplify Gen2 = CDKとTypeScriptの世界 https://aws.amazon.com/jp/blogs/news/introducing-amplify-gen2/

Slide 26

Slide 26 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a https://aws.amazon.com/jp/blogs/news/aws-appsync-now-supports-javascript-for-all-resolvers-in-graphql-apis/ AppSyncがJavaScriptで書ける!

Slide 27

Slide 27 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a 率直な感想2 みんなコード書いてない? ノーコード/ローコードとは お前も書くんやで。

Slide 28

Slide 28 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a ● AWSサービスを設定する様式だけでも大変(愚痴) ● だから?「設定をコードを書く選択肢」が生まれている ○ DSLで表現できない複雑なロジック ○ Config設定の簡素化 ● 「AWS=インフラだからコード書かなくていい」は実態に即さない ○ ならコード書けないとダメでしょ ←(危機感)(2回目) 率直な感想3

Slide 29

Slide 29 text

なぜOSSか ~AWS CDK編~ 29

Slide 30

Slide 30 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a いまのロール(インフラ、アーキテクト)に加えて、コードを書く量をどう増やすか? 1. 社内での事業部移動 2. 事業会社・SWEなどへの転職 3. アウトプットの一環として何か増やす SIerの俺はどう生きるか

Slide 31

Slide 31 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a いまのロール(インフラ、アーキテクト)に加えて、コードを書く量をどう増やすか? 1. 社内での事業部移動 2. 事業会社・SWEなどへの転職 3. アウトプットの一環として何か増やす 3.1. 競プロ 3.2. Blogに必要な検証もの 3.3. OSS Sierの俺はどう生きるか

Slide 32

Slide 32 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a 登壇デビューはCDK Conference、その後もCDKは好きで使ったり喋っていく もうちょっと詳しく https://zenn.dev/watany/articles/573f680d5ac8ee https://speakerdeck.com/watany/aws-solutions-constructs-dejing-de-hosuteingu gale-ninaru

Slide 33

Slide 33 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a サービスやツールは使うと気になってくる。欲しい機能も出てくる。 ● AWSは要望を出したらあとは祈るしかない ● OSS(AWS CDK)なら、自分が書けば実装されるかもしれない もうちょっと詳しく

Slide 34

Slide 34 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a OSS Contribute やっていき󰙥 もうちょっと詳しく

Slide 35

Slide 35 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a 環境はとりあえずWeb IDEで Contributeやっていき https://github.co.jp/features/codespaces https://aws.amazon.com/jp/blogs/news/managing-dev-environments-with-amazo n-codecatalyst/

Slide 36

Slide 36 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a 個人使いではGitpodが好み 余談 https://logmi.jp/tech/articles/329326

Slide 37

Slide 37 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a ● やり方が分からない ○ だいたい Contribute.mdに書いてある ● コードを書くのが遅い、苦手 ○ 2024年は生成AIがあるのに? ● 環境とやり方が揃っているならば ○ 後はやる気だけ Contributeやっていき(やりかた)

Slide 38

Slide 38 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a 例えば つくったもの

Slide 39

Slide 39 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a こんな機能 つくったもの

Slide 40

Slide 40 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a ● 結構コミットしている ○ 57 Commit ● どれくらい? ○ Top Contributors 25人/1372人 Top Contributors https://github.com/aws/aws-cdk/blob/main/CONTRIBUTORS.md

Slide 41

Slide 41 text

なぜOSSか ~Hono編~ 41

Slide 42

Slide 42 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a CDKのContributeが軌道に乗っていた、ある日 衝撃を受ける https://speakerdeck.com/yusukebe/dokodemodong-kuwebhuremuwakuwotukuru

Slide 43

Slide 43 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a 気づくと動かしていた https://qiita.com/watany/items/72dad3c4953238a16c9c

Slide 44

Slide 44 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a Blog抜粋

Slide 45

Slide 45 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a ● AWS CDKのContributeでTypeScriptを読んでいたから、 Honoも読める! ● AWSずっと触ってるからLambda Functions URLのリクエ ストが通らない理由もわかる! 読める、読めるぞ!

Slide 46

Slide 46 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a やるしかねえ https://github.com/honojs/hono/pull/1076

Slide 47

Slide 47 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a ● コミュニティイベントから、Cloudflare WorkersとHonoの情報が ○ CDN Edge + フレームワークの可能性を知る 新たな刺客 https://cfm-cts.connpass.com/

Slide 48

Slide 48 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a やるしかねえ https://hono.dev/getting-starte d/lambda-edge

Slide 49

Slide 49 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a BuildすればCloudFront+S3でも動く 使ってもらえた記事↓ そしてSSGに至る https://zenn.dev/razokulover/articles/9818ef632f677f

Slide 50

Slide 50 text

なぜFrameworkか 50

Slide 51

Slide 51 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a ここまで話したのは なぜAWS向けのFrameworkに関わったのか? ここから話すのは なぜAWS向けのFrameworkに携わり続けるのか? ここまで/ここから

Slide 52

Slide 52 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a ”アウトプットしないのは知的な便秘” https://aws.amazon.com/jp/campaigns/manga/vol11-3/

Slide 53

Slide 53 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a アウトプットしていると、どんどん気になっていく 不意に訪れるもの 書いたBlog読まれるのか? 検索されなくなる時代? Like数と”トレンド”

Slide 54

Slide 54 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a いつしか出てきた懸念 「俺のアウトプットは便器に流れたっきりなのか?」 不意に訪れるもの

Slide 55

Slide 55 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a Contributionの意味 https://www.google.com/

Slide 56

Slide 56 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a きっと「貢献がしたい」 ● 自分の書いたブログ、はなした登壇を思い出す。 ● 誰のために ○ 過去の自分のため ○ 未来の同僚のため ○ 開発者のため(To Developer) 自分のアウトプットの軸は

Slide 57

Slide 57 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a なぜAWS向けのFrameworkに携わり続けるのか? ● Developersに貢献したいから ● 大好きなAWSで開発を加速して、フレームワークで加速させたい ● Developers向け機能を開発して、Developers向けの話をもっとしたい こじつけな部分があっても、自分は「そうありたい」 自分のアウトプットの軸は

Slide 58

Slide 58 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a ● 携わるOSSやFrameworkに出会えたのは偶然 ● 続けているのは自分の意志 ● 今までのアウトプットに「技術者への」貢献という軸が生 まれたから まとめ

Slide 59

Slide 59 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a AWS ×     、 AWS ×    は 聞いてくれた貴方のためのフレームワークかもしれません ぜひ使ってください!! まとめ

Slide 60

Slide 60 text

ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a 本日はご参加いただきありがとうございました。アンケートのご記入をお願いします。 アンケートご記入のお願い 60