Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
OSS活動のススメ / oss-activities
Search
k.goto
June 19, 2024
Technology
4
700
OSS活動のススメ / oss-activities
2024/06/20,21開催AWS Summit Japan 2024での登壇資料です。
k.goto
June 19, 2024
Tweet
Share
More Decks by k.goto
See All by k.goto
AWS CDKにおける「再利用性」を考える / aws-cdk-reusability
gotok365
6
2.1k
AWS CDKコントリビュートTIPS / aws-cdk-contribution-tips
gotok365
5
1.3k
S3バケットを高速で削除・空にするツール「cls3」 / s3-deletion-tool-cls3
gotok365
4
690
AWS CDKで コンテナイメージスキャンを行う 〜ECRとその他の方法〜 / cdk-container-image-scan
gotok365
2
1.3k
スタートアップでこそCDKが活きた〜生産性を向上できた5つの理由〜 / startup-cdk-productivity
gotok365
12
3.8k
AWS CDKで"使う"GoFデザインパターン 〜実際どうなの?〜 / GoF design patterns used with AWS CDK
gotok365
4
1.5k
AWS CDKで学ぶGoFデザインパターン〜IaCにもコード設計〜 / aws dev day cdk gof design patterns
gotok365
12
5.6k
CloudWatch複合アラームでELBの5XXをいい感じに検知しようとしたらうまくいかなかった話 / cloudwatch alarm elb 5xx
gotok365
0
3.2k
AWS CDKとZodを活用したバリデーションパターン集 / validation patterns with cdk and zod
gotok365
7
3.4k
Other Decks in Technology
See All in Technology
The Role of Developer Relations in AI Product Success.
giftojabu1
0
120
信頼性に挑む中で拡張できる・得られる1人のスキルセットとは?
ken5scal
2
530
rootlessコンテナのすゝめ - 研究室サーバーでもできる安全なコンテナ管理
kitsuya0828
3
380
Lexical Analysis
shigashiyama
1
150
ハイパーパラメータチューニングって何をしているの
toridori_dev
0
140
OCI Security サービス 概要
oracle4engineer
PRO
0
6.5k
Incident Response Practices: Waroom's Features and Future Challenges
rrreeeyyy
0
160
iOS/Androidで同じUI体験をネ イティブで作成する際に気をつ けたい落とし穴
fumiyasac0921
1
110
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
250
【Startup CTO of the Year 2024 / Audience Award】アセンド取締役CTO 丹羽健
niwatakeru
0
990
初心者向けAWS Securityの勉強会mini Security-JAWSを9ヶ月ぐらい実施してきての近況
cmusudakeisuke
0
120
ドメインの本質を掴む / Get the essence of the domain
sinsoku
2
150
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
459
33k
Code Reviewing Like a Champion
maltzj
520
39k
Adopting Sorbet at Scale
ufuk
73
9.1k
GitHub's CSS Performance
jonrohan
1030
460k
Producing Creativity
orderedlist
PRO
341
39k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Git: the NoSQL Database
bkeepers
PRO
427
64k
[RailsConf 2023] Rails as a piece of cake
palkan
52
4.9k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Transcript
2 0 2 4 / 0 6 / 2 1
AW S S U M M I T JA PA N 2 0 2 4 DAY 2 OSS活動のススメ k.goto (後藤 健太) AWS DevTools Hero 1
自己紹介 (k.goto) X: @365_step_tech AWS HERO AWS DevTools Hero 自作OSS
AWSツール (cls3, delstack, lamver) AWS CDKコントリビュート Top Contributor Trusted Reviewer Community-Driven CDK Construct Library Maintainer CDK Constructライブラリ GitHub: @go-to-k
本セッションの目的 • OSS活動はそんなに難しくないよ! • OSS活動で得られることはたくさんあるよ! 3
本セッションの目的 • OSS活動はそんなに難しくないよ! • OSS活動で得られることはたくさんあるよ! 4 1人でもそう思ってもらえるように・・・ OSS活動のハードルを下げ 一歩踏み出したくなる!
OSS活動とは 5
OSS • OSS = オープンソースソフトウェア § 利用者の目的を問わずソースコードを使用、調査、再利用、修正、拡張、再配 布が可能なソフトウェアの総称 (Wikipediaより) •
AWS関連のOSSでも種類はたくさん § AWS公式のものからコミュニティ・個人によるものまで § 海外発のものから国内発のものまで 6
OSS活動 • OSSコントリビュート(貢献) § コード・テスト・ドキュメントなどを書き、Pull Requestを提出 § 機能追加の要望やバグの内容などをissueに起票 § 既存のissueやPull
Requestなどでディスカッション § Pull Requestをレビュー 7
OSS活動は敷居が高い? 8
OSS活動は敷居が高い? 9 興味はあるんだけど・・・ いつかやってみたい・・・ いつも使っているし 何か貢献したい・・・ なんかすごい あまりプログラミング できないし・・・ カッコいいけど
自分にはとても・・・ 今年中には・・・ 自分の書いたコードを 知らない人に見せるのか・・・ すごい人多そう・・・ 英語わからん
OSS活動は敷居が高い? • 有名なOSSなんてとても・・・ • プログラミングがあまり得意でない • 英語が苦手 • 知らない人怖い・海外の人すごそう 10
OSS活動は敷居が高い? • 有名なOSSなんてとても・・・ • プログラミングがあまり得意でない • 英語が苦手 • 知らない人怖い・海外の人すごそう 11
自信がない なんか難しそう
OSS活動は敷居が高い? 12 もったいない!!
OSS活動は敷居が高い? 13 そんなことないんです!!
「有名なOSSなんてとても・・・」 • 例えば:AWS Cloud Development Kit (CDK)へのコントリビュート § 深いコーディング知識がなくてもコントリビュートできる –
TypeScript固有の実装方法などはあまり使われていない § むしろ他の面の比重が大きい – ビルド方法・Pull Request提出ルール – AWSサービスの知識 14 マネコンだとこうだから デフォルト値はこれが便利 この設定だとリソース作成失敗 するからバリデーションしよう ログ名にはルールがあるから 最初から設定してあげよう XプロパティとYプロパティ はセットで必要だよな 必要な権限はこれとあれだから 簡単に付与できるようにしよう コーディング知識 << AWS知識 な方にはピッタリのOSS!!
「有名なOSSなんてとても・・・」 • ベンダー公式・有名なOSSへのコントリビュートじゃなくてもいい § 個人・コミュニティで作っているOSS § 自分のリポジトリ(Public) – 自作ツール/ライブラリ •
シェルスクリプトでもいい! – TIPS/コードサンプル • CDKコード • IaCツールの定義コード 15 これらも立派なOSSです! 公開してみるのが大事! (※ライセンスには注意)
「プログラミングがあまり得意でない」 • 何ならプログラミングできなくてもいい § Typo・ドキュメント修正 § issue起票 (バグ報告や機能の要望) § 既存issueやPRにコメント
§ そのOSSを広める – 登壇・ブログ・SNS・etc… 16 「よかった」と書くだけでも立派な貢献!
「英語が苦手」 • 翻訳ツール・生成AIを駆使 § 対面の同期会話じゃない・文章での非同期会話 • 日本語だけで作っても良い § 日本人ユーザーだけでも助かる人はたくさんいる §
一旦日本語で作って、後から英語にするのもOK – ハードル低く始められる! 17 英語のいい経験になります!
「知らない人怖い・海外の人すごそう」 • みんな人間 • だいたい優しい 18 AWSコミュニティの人は特に優しい!
OSS活動はイイぞ 19
OSS活動はイイぞ • グローバルな交流ができる • 自分の貢献したものが色々な人に使われる • アウトプット・アピールになる 20
グローバルな交流ができる • 多くのOSSでは英語が主流 § 必然的に英語の交流が経験できる • 自作OSSを海外の方に使ってもらえたり § Issue, PRをくれたり
§ ブログを書いてくれたり 21 AWS Españolの方が自分のツールの記事を スペイン語で書いてくれました
自分の貢献したものが色々な人に使われる • 日本から海外までたくさんの人が助かる § 自分の業務で使う場合、自分も助かる • とにかく嬉しい! 22 自己肯定感・自信に繋がる
アウトプット・アピールになる • 実際に手を動かすのでスキルが向上 • GitHubに公開することでパブリックな成果物・記録になる § 執筆や登壇以外でのアウトプット方法・アピールにもなる 23 AWS界隈はインフラ寄りの方が多いので 目立てるかも?
(AWS HEROにもなれました)
はじめてのOSS活動 (k.gotoの場合) 24
はじめてのOSS活動 (k.gotoの場合) 25 自作 OSS 作成 AWS CDK 貢献
はじめてのOSS活動: 自作OSS作成 • CLIツールのようなものをシェルスクリプトで自分用に作成 • ポータビリティなどを理由にGo言語で再作成 § AWS CLI部分 ->
AWS SDKに変更 (今の時代なら生成AIに頼めば楽々?) § オプション導入・関数化・ファイル分割・エラーハンドリングなどリファクタ • GitHubリポジトリで公開 § 簡単な概要だけのREADMEを英語でとりあえず作成 • 色々と変更を加えて今に至る 26
はじめてのOSS活動: AWS CDK貢献 • Issue漁る § Good first issueラベル、 Typo/ドキュメント変更系
• 他の人のPull Requestを見まくる・コントリビュートガイド読む § 貢献ルールやビルド・テスト方法を学ぶ • とりあえず着手 + PR出してみる § 初心者にはレビュアーが親切に教えてくれるので、それをもとに修正 • あとは都度やりながらお作法を学んでいく (勢いが大事!) 27
自作OSSの紹介 28
自作OSS: AWSツール 【delstack】AWS CloudFormationスタック強制削除ツール § https://github.com/go-to-k/delstack 【cls3】Amazon S3バケットを高速に削除・空にするツール § https://github.com/go-to-k/cls3
【lamver】AWS Lambdaランタイム/バージョン検索ツール § https://github.com/go-to-k/lamver 29
delstack AWS CloudFormationスタック強制削除ツール 30 スタック削除で失敗するリソースがあっても、そのリソース含めスタックごと強制削除! 対話で検索して、複数スタック一括削除可能! (依存関係を加味して新しいものから順に削除)
cls3 Amazon S3バケットを高速に削除・空にするツール 31 対話で検索して、複数バケット一括削除可能! 非現行バージョンのみ削除も可能!
lamver AWS Lambdaランタイム/バージョン検索ツール 32
lamver AWS Lambdaランタイム/バージョン検索ツール 33 リージョン横断検索! CSV出力オプションもあり!
自作OSS: AWS CDKコンストラクトライブラリ 【image-scanner-with-trivy】CDKでTrivyでコンテナイメージスキャン § https://constructs.dev/packages/image-scanner-with-trivy 【image-scanner-with-dockle】CDKでDockleでコンテナイメージスキャン § https://constructs.dev/packages/image-scanner-with-dockle 【elb-other-5xx-alarm】CDKでマイナーな5xx(501,506...)のELBアラーム
§ https://constructs.dev/packages/image-scanner-with-dockle 34
まとめ 35
まとめ • OSS活動はそんなに難しくないよ! • OSS活動で得られることはたくさんあるよ! 36
まとめ • OSS活動はそんなに難しくないよ! • OSS活動で得られることはたくさんあるよ! 37 OSS活動のハードルが下がり 一歩踏み出したくなったらいいな 気軽に一歩踏み出してみよう!
宣伝 38
builders.flashに寄稿させていただきました! 2024/06/04 『AWS CDK におけるバリデーションの使い分け方を学ぶ』 • https://aws.amazon.com/jp/builders-flash/202406/cdk-validation/ 39
CDKコントリビュートワークショップやります! 2024/07/06(土) 『AWS CDK Conference Japan 2024』(@目黒セントラルスクエア 21階) • AWS
CDKへコントリビュートしてみようワークショップ (現地参加のみ) § https://jawsug-cdk.connpass.com/event/317921/ 40
CDKコントリビュートワークショップやります! 2024/07/06(土) 『AWS CDK Conference Japan 2024』(@目黒セントラルスクエア 21階) • AWS
CDKへコントリビュートしてみようワークショップ (現地参加のみ) § https://jawsug-cdk.connpass.com/event/317921/ 41 登壇もします! (セッションはオンラインとのハイブリッド) 17:35 - 17:55 『AWS CDKにおける「再利用性」を考える』
Thank you! k.goto (後藤 健太) AWS DevTools Hero X: @365_step_tech
GitHub: @go-to-k 42