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
230
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
社内共通コンテナレジストリを設立して、開発者体験向上を狙ってみた /Establishing container registry to improve DX
3/10 KGDC #4 Day2の発表資料です。
TomoyaKitaura
March 10, 2023
More Decks by TomoyaKitaura
See All by TomoyaKitaura
New Relicの推せるところ・推せないところ / newrelic good and bad
tomoyakitaura
0
280
サービスレベルを管理してアジャイルを加速しよう!! / slm-accelerate-agility
tomoyakitaura
1
350
「頑張る」を「楽しむ」に変換する技術
tomoyakitaura
19
11k
これからの設計で変わること pre:invent2024アップデート速報 / pre:invent2024 network update
tomoyakitaura
1
300
セキュリティ活動をちょっとずつやる戦略を実行した気づき / Incremental Security Initiatives
tomoyakitaura
0
240
LTワークショップ3日目 / LT Workshop Day 3
tomoyakitaura
0
220
LTワークショップ2日目 / LT Workshop Day 2
tomoyakitaura
0
200
LTワークショップ(1日目) / LT workshop day 1
tomoyakitaura
1
240
これまでの監視とクラウド時代の監視 / Monitoring the Past and the Cloud
tomoyakitaura
1
380
Other Decks in Technology
See All in Technology
MCP Appsを作ってみよう
iwamot
PRO
4
550
小さく始める AI 活用推進 ― 日経電子版 Web チームの事例/nikkei-tech-talk47
nikkei_engineer_recruiting
0
230
"何を作るか"を任される エンジニアは、どう育つのか
yutaokafuji
1
610
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.9k
データサイエンスを価値につなげるプロジェクト設計 〜 DS一年目が現場で得た気づき 〜
ysd113
1
180
脆弱性対応、どこで線を引くか
rymiyamoto
1
370
Agent Skills設計で柔軟性と硬さのバランスが難しい話
nassy20
0
120
Djangoユーザが知っ得なPostgreSQL機能 - 設計の選択肢を増やす / Djang-use-PostgreSQL
soudai
PRO
1
230
EventBridge Connection
_kensh
5
690
プロダクト開発から業務改善コンサルまで。事業全体へ「染み出す」ことで広がるエンジニアの可能性
ham0215
0
110
SIer20年! 培ったスキルがスタートアップで輝く時
shucho0103
0
840
10倍の生産性を実現するAI駆動並列エージェントのすべて
kumaiu
5
1.3k
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Test your architecture with Archunit
thirion
1
2.3k
Being A Developer After 40
akosma
91
590k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
940
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
A Tale of Four Properties
chriscoyier
163
24k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
Are puppies a ranking factor?
jonoalderson
1
3.5k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
560
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
480
Faster Mobile Websites
deanohume
310
31k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
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下さい!! ゆるく雑談させてください!!