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
密集、ドキュメントのコロケーション with AWS Lambda
Search
Satoshi Kaneyasu
February 07, 2025
Programming
380
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
密集、ドキュメントのコロケーション with AWS Lambda
Satoshi Kaneyasu
February 07, 2025
More Decks by Satoshi Kaneyasu
See All by Satoshi Kaneyasu
運用ダッシュボードの設計を誰も教えてくれないのだけどみなさんどうしてるんですか? - チームに監視するという文化を根付かせるための第一歩を踏みたい -
satoshi256kbyte
0
1
AWS CDK ExpressモードとCI/CDの組み合わせ
satoshi256kbyte
1
38
AWS CDK ExpressモードとCI/CDの組み合わせ
satoshi256kbyte
0
16
AWS re:Invent 2025の少し振り返り + DevOps AgentとBacklogを連携させてみた
satoshi256kbyte
3
220
Amazon_Cognito_で構築する_スケーラブルな_Web_アプリケーション__シングルページ_Web_アプリケーションに認証を組み込む
satoshi256kbyte
0
43
人間とAI、どちらが書いたコードもCI/CDでチェックしてみよう
satoshi256kbyte
0
44
今こそ押さえておきたい アマゾンウェブサービス(AWS)の データベースの基礎 おもクラ #6版
satoshi256kbyte
1
290
今こそ押さえておきたい アマゾンウェブサービス(AWS)の データベースの基礎
satoshi256kbyte
1
63
人間とAI、どちらが書いたコードもCICDでチェックしてみよう
satoshi256kbyte
1
92
Other Decks in Programming
See All in Programming
Foundation Models frameworkで画像分析
ryodeveloper
1
130
ITヒヤリハットを整理してみた ~ライフサイクルと原因から考える再発防止策~
koukimiura
1
110
php-fpmのプロセスが枯渇した日-調査・対処・そして本当にやるべきだったこと-
shibuchaaaan
0
120
継続モナドとリアクティブプログラミング
yukikurage
3
630
任せる範囲はこう広がった / How the Scope of AI Delegation Has Expanded
nrslib
1
270
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
1
350
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
1.2k
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
3
1k
初めてのKubernetes 本番運用でハマった話
oku053
0
130
変わらないものが、変わるものを決める — 意図駆動開発 × イベントソーシング × イミュータブル | What Doesn't Change Decides What Can — IDD × Event Sourcing × Immutability
tomohisa
0
140
AI駆動開発を妨げる技術的負債の解消アプローチ / ai-refactoring-approach
minodriven
17
9.3k
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
1
210
Featured
See All Featured
Odyssey Design
rkendrick25
PRO
2
730
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
510
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
370
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
Faster Mobile Websites
deanohume
310
32k
Into the Great Unknown - MozCon
thekraken
41
2.6k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.3k
New Earth Scene 8
popppiees
3
2.4k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
420
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
210
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.7k
Transcript
密集、ドキュメントのコロケーション with AWS Lambda 2025.02.15 SATOSHI KANEYASU
2 自己紹介 氏名:兼安 聡 所属:株式会社サーバーワークス アプリケーションサービス部 在住:広島(フルリモート) 担当:DevOps、PM、SM、プリせ、トレーナー 2024 Japan
AWS Top Engineers (Database) 2024 Japan AWS All Certifications Engineers Certified ScrumMaster PMP X:@satoshi256kbyte
3 コロケーションとは ➢ コロケーションとは、関連するリソースを近くに置くことを指します。 ➢ コロケーションは、Next.jsの公式ページが参考になります。 ➢ コロケーション自体は設計書だけに焦点をあてたものではないのですが、私のチームではこれをバックエンドプログラ ムの設計書に適用してみました。
4 やってみたコロケーションのイメージ ➢AWS LambdaとPythonによるバックエンドのプログラムでやってみました / ├── app │ ├── function_a
│ │ ├── handler.py │ │ └── README.md │ ├── function_b │ │ ├── handler.py │ │ └── README.md │ └── function_c │ ├── handler.py │ └── README.md ├── docs │ ├── database.md │ └── system_diagram.drawio └── README.md 業務ごと(=AWS Lambda関数ごと)でディレクトリを分けている これが設計書、いわゆるプログラム設計書に相当 プログラム テーブル定義、構成図など機能・業務を跨ぐものはここ
5 このような構成にした理由 ➢ 設計書はシンプルにしたい(スクラムで回してるので余計そう思う) ➢ 設計書もプルリクエストを回したい ➢ 何がどこにあるか見通しをよくしたい ➢ 後から来る人にもわかりやすくしたい
6 現在の構成に至るまでに考えた他の構成候補 / ├── app │ └─── functions │ ├──
function_a.py │ ├── function_b.py │ └── function_c.py ├── docs │ ├── database.md │ ├── function_a.md │ ├── function_b.md │ ├── function_c.md │ └── system_diagram.drawio └── README.md / ├── app │ └─── functions │ ├── function_a.md │ ├── function_a.py │ ├── function_b.md │ ├── function_b.py │ ├── function_c.md │ └── function_c.py ├── docs │ ├── system_diagram.drawio │ └── database.md └── README.md 実案件ではもっと関数が多い 場所が遠くで探しづらい functions配下が煩雑 実際には関数の名前はもっと不規則 なのでかなり見づらい
7 この構成における設計書で書くもの ➢ Markdownで書く ➢ 機能の概要 ➢ 何をする機能か ➢ 大まかな処理の流れ
➢ 入出力内容 ➢ パラメータ ➢ 出力するファイル・データのフォーマットなど ➢ 使用方法/テスト方法 ➢ フローチャートやシーケンス図は開発者からの需要がなく、メンテ負荷になったのでカット ➢ Marmaidも不採用、AWSを使用してるのでアイコンが揃ってるdraw.io/Cacooで書いた方が良いとなった
8 メリットとデメリット メリット デメリット ➢ 目論見通り、見やすい ➢ プルリクエストで設計書がレビューできる ➢ 設計だけできてるのか?実装まで済んでるの
いか?がツリーに表れる ➢ 設計書の配置に関してはやり切った感があり、 最近設計書の配置に関する無駄な議論がない ➢ ディレクトリ構造そのものに工夫を入れてい るので、他のPJにも展開できると言い切れな い(AWS Lambdaを使用してるからできてる とも感じる) ➢ レビュアーがGitに入らないといけない
9 その他の悩み ➢ 設計書を非常にシンプルにしているが故に、なぜその機能がそうなっているのか?というのは語りきれていない ➢ これを補うために「意思決定の経緯」を文書として残っている(=ADR) ➢ 故に、実は設計書よりBacklogの方が情報量が多い・・・ ➢ BacklogでPBI/SBIを管理
➢ ソースコードと設計書はGit ➢ ADRはBacklogのWiki
10 まとめ ➢ 導入にはディレクトリ構成レベルでの工夫が必要になりますが、ドキュメントをコロケーションすると快適だと思います ➢ もし試されたら意見交換しましょう
None