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
200
社内共通コンテナレジストリを設立して、開発者体験向上を狙ってみた /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
New Relicの推せるところ・推せないところ / newrelic good and bad
tomoyakitaura
0
79
サービスレベルを管理してアジャイルを加速しよう!! / slm-accelerate-agility
tomoyakitaura
1
250
「頑張る」を「楽しむ」に変換する技術
tomoyakitaura
17
10k
これからの設計で変わること pre:invent2024アップデート速報 / pre:invent2024 network update
tomoyakitaura
1
220
セキュリティ活動をちょっとずつやる戦略を実行した気づき / Incremental Security Initiatives
tomoyakitaura
0
180
LTワークショップ3日目 / LT Workshop Day 3
tomoyakitaura
0
180
LTワークショップ2日目 / LT Workshop Day 2
tomoyakitaura
0
160
LTワークショップ(1日目) / LT workshop day 1
tomoyakitaura
1
190
これまでの監視とクラウド時代の監視 / Monitoring the Past and the Cloud
tomoyakitaura
1
310
Other Decks in Technology
See All in Technology
Rethinking Incident Response: Context-Aware AI in Practice
rrreeeyyy
2
940
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
820
クラウド開発の舞台裏とSRE文化の醸成 / SRE NEXT 2025 Lunch Session
kazeburo
1
590
サイバーエージェントグループのSRE10年の歩みとAI時代の生存戦略
shotatsuge
4
1k
三視点LLMによる複数観点レビュー
mhlyc
0
230
Talk to Someone At Delta Airlines™️ USA Contact Numbers
travelcarecenter
0
160
shake-upを科学する
rsakata
7
1k
ロールが細分化された組織でSREは何をするか?
tgidgd
1
420
Copilot coding agentにベットしたいCTOが開発組織で取り組んだこと / GitHub Copilot coding agent in Team
tnir
0
190
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
18k
公開初日に Gemini CLI を試した話や FFmpeg と組み合わせてみた話など / Gemini CLI 初学者勉強会(#AI道場)
you
PRO
0
1.3k
QuickSight SPICE の効果的な運用戦略~S3 + Athena 構成での実践ノウハウ~/quicksight-spice-s3-athena-best-practices
emiki
0
290
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
100
5.6k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
A better future with KSS
kneath
238
17k
Six Lessons from altMBA
skipperchong
28
3.9k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
47
9.6k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Designing for Performance
lara
610
69k
The Cult of Friendly URLs
andyhume
79
6.5k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
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下さい!! ゆるく雑談させてください!!