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
740
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
7
2.2k
AWS CDKコントリビュートTIPS / aws-cdk-contribution-tips
gotok365
5
1.3k
S3バケットを高速で削除・空にするツール「cls3」 / s3-deletion-tool-cls3
gotok365
4
720
AWS CDKで コンテナイメージスキャンを行う 〜ECRとその他の方法〜 / cdk-container-image-scan
gotok365
2
1.3k
スタートアップでこそCDKが活きた〜生産性を向上できた5つの理由〜 / startup-cdk-productivity
gotok365
13
3.9k
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.8k
CloudWatch複合アラームでELBの5XXをいい感じに検知しようとしたらうまくいかなかった話 / cloudwatch alarm elb 5xx
gotok365
0
3.3k
AWS CDKとZodを活用したバリデーションパターン集 / validation patterns with cdk and zod
gotok365
7
3.4k
Other Decks in Technology
See All in Technology
Snykで始めるセキュリティ担当者とSREと開発者が楽になる脆弱性対応 / Getting started with Snyk Vulnerability Response
yamaguchitk333
2
180
[Ruby] Develop a Morse Code Learning Gem & Beep from Strings
oguressive
1
150
AI時代のデータセンターネットワーク
lycorptech_jp
PRO
1
280
どちらを使う?GitHub or Azure DevOps Ver. 24H2
kkamegawa
0
690
Snowflake女子会#3 Snowpipeの良さを5分で語るよ
lana2548
0
220
スタートアップで取り組んでいるAzureとMicrosoft 365のセキュリティ対策/How to Improve Azure and Microsoft 365 Security at Startup
yuj1osm
0
210
継続的にアウトカムを生み出し ビジネスにつなげる、 戦略と運営に対するタイミーのQUEST(探求)
zigorou
0
520
PHPからGoへのマイグレーション for DMMアフィリエイト
yabakokobayashi
1
170
フロントエンド設計にモブ設計を導入してみた / 20241212_cloudsign_TechFrontMeetup
bengo4com
0
1.9k
ずっと昔に Star をつけたはずの思い出せない GitHub リポジトリを見つけたい!
rokuosan
0
150
Oracle Cloud Infrastructure:2024年12月度サービス・アップデート
oracle4engineer
PRO
0
170
Oracle Cloudの生成AIサービスって実際どこまで使えるの? エンジニア目線で試してみた
minorun365
PRO
4
280
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
810
Practical Orchestrator
shlominoach
186
10k
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
A Tale of Four Properties
chriscoyier
157
23k
A Philosophy of Restraint
colly
203
16k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Testing 201, or: Great Expectations
jmmastey
40
7.1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
BBQ
matthewcrist
85
9.4k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Done Done
chrislema
181
16k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
95
17k
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