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
SREのチーム共通言語をGoにした話
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
ryuichi1208
June 02, 2023
960
6
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SREのチーム共通言語をGoにした話
ryuichi1208
June 02, 2023
More Decks by ryuichi1208
See All by ryuichi1208
AIでサービス運用はどう変わるのか
ryuichi1208
0
170
入門 再発防止策
ryuichi1208
17
7.5k
金曜日デプロイ、するかしないか.pdf
ryuichi1208
1
78
会話で作る信頼性
ryuichi1208
0
190
シグナル(Unix)と仲良くなる
ryuichi1208
1
54
AI前提のサービス運用について再考する
ryuichi1208
6
1.5k
A Shallow Dive into the World of TCP
ryuichi1208
1
680
入門リトライ
ryuichi1208
20
8.4k
超入門SRE 2025
ryuichi1208
4
1.6k
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
42
3.1k
Technical Leadership for Architectural Decision Making
baasie
3
460
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.9k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Abbi's Birthday
coloredviolet
3
9k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
400
AI: The stuff that nobody shows you
jnunemaker
PRO
9
870
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
The SEO identity crisis: Don't let AI make you average
varn
0
520
Transcript
1 SREのチーム共通言語をGoにした話 渡部 龍一 / GMO PEPABO inc. 2023.06.02 Go
Conference 2023 Online
2 アジェンダ 1. 自己紹介 2. 担当サービス紹介 3. 所属チーム紹介 4. チームが抱えていた課題
5. なぜGoにしたか 6. 結果どうなったか 7. まとめ
3 1. 自己紹介
技術部プラットフォームグループ 2021年 中途入社 4 自己紹介 渡部 龍一 Watanabe Ryuichi •
住んでるところ: 宮城 • ロール: SRE • 趣味: 旅行、ドライブ、(緩めの)自宅サーバ • Go歴: 2年 好きな標準ライブラリos/signal • Twitter : @ryuichi_1208
5 2. サービス紹介
6
7 1. インターネットでものを売りたい人を支援 2. 2005年にサービスの提供を開始 3. 複数のユーザーで1つのリソースを共有するマルチテナント 4. ざっくりアプリエンジニア :
30〜名、SRE: 6名 5. オンプレ〜VM〜k8s
8 3. 所属チーム紹介
• 所属 • 技術部プラットフォームグループ • 役割 • ペパボのサービスの可用性を確保し、成長に合わせて適切な環境を提 供するグループ •
インフラエンジニア/バックエンドを経験してきたメンバー構成 9
10 4. チームが抱えていた課題
• 歴史あるサービス • メンバーの入れ替わりも多くあったり • インフラの構成も大きく変わっている • これまでたくさんのインフラや自動化ツールが作られてきた ◦ Ruby,
PHP, Perl, Python, ShellScript, JavaScript, C, Java, etc… 11
• ツールごとに違う言語で実装されていた • 触るために言語を学ぶ必要があった • 複数の言語を短期間で触るとコンテキストスイッチ • 精通したメンバーもいなく開発速度やバグを生みやすい • ライブラリが至る所で使われている
• 大きな脆弱性ニュースが出た際に影響の有無がわかりにくい 12
• 共通言語を定めてこれらの課題を解決していこう 13
14 5. なぜGoにしたのか
• 1. Kubernetesやインフラツールやそれらエコシステムの多くがGoで実装されて いて触れる機会が多いと判断 • 2. 作るツールの多くはIOバウンドなものが多くgoroutineと相性が良かった • sshして〜httpリクエストして〜自動化ツール •
3. クロスプラットフォーム対応 • Mac/Windows/Linux用のバイナリが生成しやすかったり • 4. 簡潔な文法とシンプルなデザイン • 入門資料が豊富で入門しやすかった i. 研修をやって1週間くらいで読めるようになった ii. https://learn.microsoft.com/ja-jp/training/paths/go-first-steps/ iii. シンタックスシュガーも少ない 15
16 6. その結果
• 結果 • 抱えていた課題の一部を解消出来ている • 開発速度は言語の取得時間が減ったので上がった • Goに精通したメンバーがいるわけではない i. 公式ドキュメントや書籍を読みつつ習得中
17
• 感想 • 最高、書いていて気持ちいい、goroutine便利... • やってること • 社内ツールをGoへrewrite • 新規ツールはGoで書く
◦ レビューしやすさ↑ • 標準ライブラリ/OSSのコードリーディング • ツール書いて公開 • コミュニティも多く地元でも参加して情報交換 18
• 倒せていない課題も多々ある ◦ メモリリーク ◦ パフォーマンスが出なかった ◦ 仮想メモリをシビアに管理してる場面 ◦ GoでAtCoderやってるが必須レベルの関数を知らない
• 伸び代なので今後解決していきたい 19
20 ご清聴ありがとうございました