Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
社内共通コンテナレジストリを設立して、開発者体験向上を狙ってみた /Establishing ...
Search
TomoyaKitaura
March 10, 2023
Technology
2
210
社内共通コンテナレジストリを設立して、開発者体験向上を狙ってみた /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
150
サービスレベルを管理してアジャイルを加速しよう!! / slm-accelerate-agility
tomoyakitaura
1
290
「頑張る」を「楽しむ」に変換する技術
tomoyakitaura
18
11k
これからの設計で変わること pre:invent2024アップデート速報 / pre:invent2024 network update
tomoyakitaura
1
270
セキュリティ活動をちょっとずつやる戦略を実行した気づき / Incremental Security Initiatives
tomoyakitaura
0
200
LTワークショップ3日目 / LT Workshop Day 3
tomoyakitaura
0
190
LTワークショップ2日目 / LT Workshop Day 2
tomoyakitaura
0
180
LTワークショップ(1日目) / LT workshop day 1
tomoyakitaura
1
210
これまでの監視とクラウド時代の監視 / Monitoring the Past and the Cloud
tomoyakitaura
1
340
Other Decks in Technology
See All in Technology
あなたの知らないDateのひみつ / The Secret of "Date" You Haven't known #tqrk16
expajp
0
110
事業部のプロジェクト進行と開発チームの改善の “時間軸" のすり合わせ
konifar
9
2.8k
freeeにおけるファンクションを超えた一気通貫でのAI活用
jaxx2104
3
600
Oracle Cloud Infrastructure:2025年11月度サービス・アップデート
oracle4engineer
PRO
1
110
AI (LLM) を活用する上で必須級のMCPをAmazon Q Developerで学ぼう / 20251127 Ikuma Yamashita
shift_evolve
PRO
2
100
HIG学習用スライド
yuukiw00w
0
110
Databricksによるエージェント構築
taka_aki
1
120
ML PM Talk #1 - ML PMの分類に関する考察
lycorptech_jp
PRO
1
500
一億総業務改善を支える社内AIエージェント基盤の要諦
yukukotani
8
2.8k
Multimodal AI Driving Solutions to Societal Challenges
keio_smilab
PRO
1
120
Security Diaries of an Open Source IAM
ahus1
0
110
MAP-7thplaceSolution
yukichi0403
2
250
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.1k
Leading Effective Engineering Teams in the AI Era
addyosmani
8
1.2k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
120
20k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Mobile First: as difficult as doing things right
swwweet
225
10k
Site-Speed That Sticks
csswizardry
13
990
Designing for Performance
lara
610
69k
Building Applications with DynamoDB
mza
96
6.8k
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下さい!! ゆるく雑談させてください!!