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
180
社内共通コンテナレジストリを設立して、開発者体験向上を狙ってみた /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
これからの設計で変わること pre:invent2024アップデート速報 / pre:invent2024 network update
tomoyakitaura
1
130
セキュリティ活動をちょっとずつやる戦略を実行した気づき / Incremental Security Initiatives
tomoyakitaura
0
110
LTワークショップ3日目 / LT Workshop Day 3
tomoyakitaura
0
150
LTワークショップ2日目 / LT Workshop Day 2
tomoyakitaura
0
130
LTワークショップ(1日目) / LT workshop day 1
tomoyakitaura
1
150
これまでの監視とクラウド時代の監視 / Monitoring the Past and the Cloud
tomoyakitaura
1
230
エンタープライズにおけるSRE立ち上げとNew Relic選定に至った背景とは / SRE Startup and New Relic in the Enterprise
tomoyakitaura
2
750
AWSとNew Relicのデータ連携を超高速で実装した話 / The story of a super-fast implementation of data integration between AWS and New Relic
tomoyakitaura
0
1.5k
Resilience Hubの登場が騒がれないなんておかしい!? / Resilience Hub is the best.
tomoyakitaura
0
230
Other Decks in Technology
See All in Technology
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
6
54k
今年一年で頑張ること / What I will do my best this year
pauli
1
220
Git scrapingで始める継続的なデータ追跡 / Git Scraping
ohbarye
5
450
I could be Wrong!! - Learning from Agile Experts
kawaguti
PRO
8
3.2k
データ基盤におけるIaCの重要性とその運用
mtpooh
1
210
PaaSの歴史と、 アプリケーションプラットフォームのこれから
jacopen
7
1.2k
Accessibility Inspectorを活用した アプリのアクセシビリティ向上方法
hinakko
0
170
Godot Engineについて調べてみた
unsoluble_sugar
0
360
Unsafe.BitCast のすゝめ。
nenonaninu
0
190
iPadOS18でフローティングタブバーを解除してみた
sansantech
PRO
1
110
Amazon Q Developerで.NET Frameworkプロジェクトをモダナイズしてみた
kenichirokimura
1
190
Amazon Route 53, 待ちに待った TLSAレコードのサポート開始
kenichinakamura
0
130
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
3
350
Statistics for Hackers
jakevdp
797
220k
Gamification - CAS2011
davidbonilla
80
5.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Automating Front-end Workflow
addyosmani
1366
200k
RailsConf 2023
tenderlove
29
970
Into the Great Unknown - MozCon
thekraken
34
1.6k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
860
Testing 201, or: Great Expectations
jmmastey
41
7.2k
The Pragmatic Product Professional
lauravandoore
32
6.4k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
Documentation Writing (for coders)
carmenintech
67
4.5k
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下さい!! ゆるく雑談させてください!!