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
社内共通コンテナレジストリを設立して、開発者体験向上を狙ってみた /Establishing ...
Search
TomoyaKitaura
March 10, 2023
Technology
2
160
社内共通コンテナレジストリを設立して、開発者体験向上を狙ってみた /Establishing container registry to improve DX
3/10 KGDC #4 Day2の発表資料です。
TomoyaKitaura
March 10, 2023
Tweet
Share
More Decks by TomoyaKitaura
See All by TomoyaKitaura
セキュリティ活動をちょっとずつやる戦略を実行した気づき / Incremental Security Initiatives
tomoyakitaura
0
64
LTワークショップ3日目 / LT Workshop Day 3
tomoyakitaura
0
130
LTワークショップ2日目 / LT Workshop Day 2
tomoyakitaura
0
120
LTワークショップ(1日目) / LT workshop day 1
tomoyakitaura
1
130
これまでの監視とクラウド時代の監視 / Monitoring the Past and the Cloud
tomoyakitaura
1
220
エンタープライズにおけるSRE立ち上げとNew Relic選定に至った背景とは / SRE Startup and New Relic in the Enterprise
tomoyakitaura
2
670
AWSとNew Relicのデータ連携を超高速で実装した話 / The story of a super-fast implementation of data integration between AWS and New Relic
tomoyakitaura
0
1.3k
Resilience Hubの登場が騒がれないなんておかしい!? / Resilience Hub is the best.
tomoyakitaura
0
200
セキュリティ勉強会 / How do we confront the threat
tomoyakitaura
0
120
Other Decks in Technology
See All in Technology
プロダクトエンジニアを支えるための開発生産性向上施策
tsukakei
0
140
Envoy External AuthZとgRPC Extensionを利用した「頑張らない」Microservices認証認可基盤
andoshin11
0
220
なにもしてないのにNew Relicのデータ転送量が増えていたときに確認したこと
tk3fftk
2
200
スーパーマリオRPGのリメイク版の変更点からみるUX
nishiharatsubasa
1
330
Segment Anything Model 2
tenten0727
3
620
PDF Viewer作成の今までとこれから
hunachi
0
280
スタッフエンジニアの道: The Staff Engineer’s Path
snoozer05
PRO
41
13k
PdMはどのように全てのスピードを上げられるか ~ 非連続進化のための具体的な取り組み ~
sansantech
PRO
2
510
ナレッジグラフとLLMの相互利用
koujikozaki
0
340
より快適なエラーログ監視を目指して
leveragestech
4
1.3k
Privacy Sandbox on Android / DroidKaigi 2024
7pairs
1
170
AIで変わるテスト自動化:最新ツールの多様なアプローチ/ 20240910 Takahiro Kaneyama
shift_evolve
0
200
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
270
40k
The Art of Programming - Codeland 2020
erikaheidi
48
13k
Speed Design
sergeychernyshev
22
420
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
230
17k
Build The Right Thing And Hit Your Dates
maggiecrowley
30
2.3k
Typedesign – Prime Four
hannesfritz
39
2.3k
Become a Pro
speakerdeck
PRO
22
4.9k
A Modern Web Designer's Workflow
chriscoyier
691
190k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
43
2k
What’s in a name? Adding method to the madness
productmarketing
PRO
21
3k
The Cult of Friendly URLs
andyhume
76
6k
Music & Morning Musume
bryan
46
6k
Transcript
社内共通コンテナレジストリを設立して 開発者体験向上を狙ってみた 株式会社 mediba Tomoya Kitaura KGDC Tech Conference #4
Day2 2023/3/10
自己紹介 Tomoya Kitaura @kitta0108 mediba inc. Backend Engineer ▪技術コミュニティ運営 -
- JAWS-UG コンテナ支部 - JAWS-UG SRE支部 - NRUG SRE支部 ▪好きなNew Relicのサービス - Distributed tracing 2 2
聴講者想定 3 - 開発者体験向上という文脈に関心がある。 - コンテナ技術を使ったアプリケーション開発が好き。 - コンテナレジストリ設立するのが開発者体験向上に 繋がる?ってイメージがピンとこない。
突然ですがこんな現場の課題?ありませんか(その1) 4 CI/CD上の運用課題 よっしゃ、ワイのシェル力で 解決したる 爆炎のエンジニア鈴木
突然ですがこんな現場の課題?ありませんか(その1) 5 CI/CD上の運用課題 爆炎のエンジニア鈴木 氷雪のエンジニア佐藤 ちょっと待ってください。 そんな闇の呪文を書かれたら、 オンボーディングやトラブルシュートのコ ストがあがってしまいます。
突然ですがこんな現場の課題?ありませんか(その1) 6 CI/CD上の運用課題 爆炎のエンジニア鈴木 氷雪のエンジニア佐藤 運用課題を解決していない 運用コストの増大
突然ですがこんな現場の課題?ありませんか(その2) 7 土震のエンジニア高橋 疾風のエンジニア田中 この作業単調だし、 量が多くて 毎回ダルいんだよなー この間作った 自前のスクリプト流して 一発で終了や!
自動化されていない ちょっとしたオペレーション群
突然ですがこんな現場の課題?ありませんか(その2) 8 土震のエンジニア高橋 疾風のエンジニア田中 - 依存解決がうまくいかなくて動 かない - 環境をあまり汚したくない -
中身を理解してないと結局上 手に使えない - 自分以外の環境で動くか不明 - 動かすための事前インストール 作業を思い出せない 自動化されていない ちょっとしたオペレーション群 スクリプトを共有されても... スクリプトを共有したくても...
開発者体験が良いとは? 9 開発者が作業を進めるために必要なプロセスやツールが ストレスなく扱えて、効率的に開発が行える状態 - 生産性の向上 - 品質の向上 - モチベーション向上
- エンジニア自身のスキル獲得 ビジネスKPIの達成
アジェンダ 10 - コンテナ技術おさらい - 構成と運用フロー - 今後やっていきたいこと - まとめ
コンテナ技術おさらい 11
コンテナ技術おさらい 12 可搬性の高さを 利用する
コンテナ技術おさらい 13 $ docker run \ -v $(PWD):/work \ -e
A=xxx \ ContainerImageName \ Command ボリュームマウント 環境変数の定義 利用するイメージの 指定 コンテナ環境下で実 行するコマンド
社内共通コンテナレジストリの理想 14 コンテナレジストリ みんなでメンテナンス、みんなで利用
コンテナレジストリ選定ADR 15 ◦ ECR ▪ ❌Pull権限をAWSのユーザーとしてもっていなければならない。 ▪ ❌ImagePullする際にSwitchRoleしないとならない為、開発体験が低下する恐れがある。 ▪ ❌マルチアーキテクチャイメージ非対応(Arm,Intel)
▪ ⭕脆弱性管理がECRのEnhanced Image Scanを利用することができるため楽 ◦ Docker ▪ ❌昨今の値上げ事情があって、依存性を高めてしまうこと自体にリスクがありそう。 ▪ ⭕Pull権限管理はDockerID単位で可能 ▪ ⭕マルチアーキテクチャイメージ対応(Arm,Intel) ▪ ⭕利用料金はDockerのユーザー課金に含まれるため実質無料 ◦ ⭐GitHub Container Registry ▪ ❌マルチアーキテクチャイメージ非対応(Arm,Intel) ▪ ⭕GitHub ActionsからのPullする際の認証認可制御が楽 ▪ ⭕Pull権限管理はGitHubアカウント単位で可能 ▪ ⭕利用料金の一部はGitHub Enterpriseの課金に含まれるため50GBまで無料
構成図 16
フロー図 17
リポジトリのディレクトリ構成 18 docker-tools ┣.github ┃┗workflows ┃ ┗BuildAndShip.yml ┣CategoryName ┃┗ImageName ┃
┗Version ┃ ┣dockerfile ┃ ┣… ┃ ┗README.md ┗README.md
Build ShipのGitHub Actions Workflow 19
今後やっていきたいこと 20 ▪コンテナアプリケーション作成講座 実装難易度の敷居を下げるのは大事。 コンテナイメージサイズが軽量であることも大事。 軽量にするためのTipsは色々あるので ノウハウ蓄積していきたい。 ▪コンテナアプリケーションコンテスト 腕が鳴るよなぁぁぁ!?
まとめ 21 ▪ビジネスKPIを達成するためにも開発者体験は 向上させていく価値がある。 ▪運用上の課題をソフトウェアの力を使って解決するのには、 さまざまな障壁が存在する。 ▪コンテナ技術は開発者のためのツールとしても機能する。
さいごに 22 より高みを目指した開発を みんなで楽しんでいきましょう!! ご静聴ありがとうございました!! ちょこっとだけPR こんな規模感やフェーズのSREチームを一緒に盛り上げてくれる仲間大募集中です! ご興味ある方はTwitter(@kitta0108)でDM下さい!! ゆるく雑談させてください!!