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
jfrog-artifactory-introduction
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Takaaki FURUKAWA
February 21, 2019
Technology
0
530
jfrog-artifactory-introduction
Takaaki FURUKAWA
February 21, 2019
Tweet
Share
More Decks by Takaaki FURUKAWA
See All by Takaaki FURUKAWA
hashitalks-japan-provisioning-by-terraform-at-rakuten
tkak
0
730
rakuten-iac-provisioning-automation.pdf
tkak
1
610
はじめての英語プレゼン #6 LT - My first step of HashiCorp Nomad
tkak
1
190
Terraform Tips
tkak
1
8.7k
Start Go with Terraform
tkak
0
550
Road to "Infrastructure as Code" in Rakuten
tkak
1
1.1k
Other Decks in Technology
See All in Technology
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
13k
AIエージェントを開発しよう!-AgentCore活用の勘所-
yukiogawa
0
150
レガシー共有バッチ基盤への挑戦 - SREドリブンなリアーキテクチャリングの取り組み
tatsukoni
0
210
プロポーザルに込める段取り八分
shoheimitani
1
220
Amazon S3 Vectorsを使って資格勉強用AIエージェントを構築してみた
usanchuu
3
450
生成AI時代にこそ求められるSRE / SRE for Gen AI era
ymotongpoo
5
3.1k
配列に見る bash と zsh の違い
kazzpapa3
1
140
What happened to RubyGems and what can we learn?
mikemcquaid
0
280
FinTech SREのAWSサービス活用/Leveraging AWS Services in FinTech SRE
maaaato
0
130
データの整合性を保ちたいだけなんだ
shoheimitani
8
3.1k
ブロックテーマ、WordPress でウェブサイトをつくるということ / 2026.02.07 Gifu WordPress Meetup
torounit
0
180
CDKで始めるTypeScript開発のススメ
tsukuboshi
1
390
Featured
See All Featured
It's Worth the Effort
3n
188
29k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
430
How STYLIGHT went responsive
nonsquared
100
6k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
170
A better future with KSS
kneath
240
18k
Exploring anti-patterns in Rails
aemeredith
2
250
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Music & Morning Musume
bryan
47
7.1k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
Leo the Paperboy
mayatellez
4
1.4k
Transcript
JFrog Artifactory 導⼊事例紹介 第2回 GitHub Enterprise ユーザ会 Feb 21, 2019
Takaaki Furukawa Rakuten, Inc.
古川貴朗 Takaaki Furukawa / @tkak 1985年福島県⽣まれ。2010年に楽天株式会社に新卒⼊社。サーバ エンジニアとしてサーバの構築・運⽤に携わり、ChefやTerraform などのツール導⼊、 インフラの運⽤改善、テクニカルサポートを 経験。現在はECスタートアップ系サービスのインフラ運⽤を⾏い
ながら、社内にInfrastructure as Codeを広めている。 ⾃⼰紹介
3 ⽬次 • Artifact Registryとは • 導⼊経緯 • 導⼊してから •
今後について
4 Artifact Registryとは
5 Artifact Registryとは CI ツール Artifact Registry 変更のコミット ビルドの開始 依存パッケージの取得
成果物とビルド情報 の公開 https://github.com/
6 Artifact Registryとは CI ツール Artifact Registry 変更のコミット ビルドの開始 依存パッケージの取得
成果物とビルド情報 の公開 https://github.com/ Artifact Registry ソフトウェア開発の成果物を格納しておく場所 CI/CDプロセスの中でなくてはならない存在
7 なぜArtifact Registryが必要なのか? 依存管理 依存関係のあるアーティファクトを静的に扱うことが可能に ビルドの再現性が保証されるので「私の端末では動くのに」症候群を防ぐ
8 なぜArtifact Registryが必要なのか? 依存管理 依存関係のあるアーティファクトを静的に扱うことが可能に ビルドの再現性が保証されるので「私の端末では動くのに」症候群を防ぐ セキュリティやコンプライアンス 誰がいつプッシュしたのかなどの活動履歴を保存 認証と認可の仕組み
9 導⼊経緯
10 開発グループ A 開発グループ B 開発グループ C 開発グループ D 開発グループ
E 運⽤グループ A 運⽤グループ B 運⽤グループ C インフラ基盤グループ 開発組織体系
11 Artifactory導⼊以前 • サーバ管理者向けのプライベートリポジトリを管理(私のチーム) • Yum (mirror repository / 社内で作っているRPMパッケージ配布⽤)
• OS ISO files • RubyGems • Vagrant Box Images • Tarball • …
12 Artifactory導⼊以前 • 各アプリ開発チームでは、それぞれアーティファクトリポジトリを管理 • Nexus • JFrog Artifactory •
Jenkins • NFSに⽇付付きのファイル (?) • Gitにコミット (?) • …
13 抱えていた課題 • ⼈やサーバの運⽤コスト • パッケージタイプごとにリポジトリを管理するつらみ • 各チームでサーバを⽴ててリポジトリを運⽤するのは組織的にみて無駄 • セキュリティ
• 野良リポジトリは、認証・認可の仕組みや履歴管理などがなかったりする
14 ある⽇、 開発チームからJFrog Artifactoryの運⽤を 引き継いで欲しいという相談が…
15 JFrog Artifactoryとは • Artifact Registryとしてデファクトスタンダード • サポートするパッケージタイプが豊富 • オンプレもパブリッククラウドもサポート
• プライシングがユーザ単位ではなく製品単位 • ⼀番安いもので $2,940 / year
16 Artifactory導⼊にあたって • そもそもJFrog Artifactoryでいいのか?他に選択肢はないのか? • Nexus • 上⻑への提案資料を作成 •
運⽤を引き継ぐことの動機の整理 • 集約化することのメリット • 競合製品との⽐較 • コストのシミュレーション • 提供するターゲットユーザ • スケジュール • アーキテクチャ設計 • …
17 まずは⼩さく始める • 開発全体に公開する前に試しに使ってみてくれる⼈を探す • アプリ開発チームの同期 • フィードバックをもらってルールを決める • リポジトリの命名ルール
• <team>-<technology>-<maturity>-<locator> • 例: infra-mvn-release-local • Botアカウントのポリシー https://jfrog.com/whitepaper/best-practices-structuring-naming-artifactory-repositories/
18 導⼊してから
19 Artifactoryを導⼊してよかったこと • アーティファクト管理を⼀元化できた • Maven, Docker, Generic, NPM, RubyGems,
RPM, PHP, Vagrant, etc • 外部リポジトリのミラーとして使える • 社内プロキシ問題を軽減 • 組織を越えたコラボレーション • 例: チームA開発してるライブラリをチーム Bが利⽤する https://jfrog.com/blog/fully-reproducible-builds-with-circleci-and-artifactory/
20 ユーザサポート • 個別チャットを極⼒避ける • オープンなユーザコミュニティ⽤のチャットルームを作る • ⾃分が忙しくて返事できない時でも誰かが返信してくれる • Nexusからのマイグレーションサポート
• JFrogから提供されているNexusToArtifactory.pyというマイグレーションツール • 事前に本番環境の同等のテスト環境を⽤意し、トラフィック量などの負荷を確認
21 ⽇々の運⽤で困ったこと • 順調にユーザが増えてリポジトリ作成の依頼が頻繁に来るように • 最初はGUIで作業していたが、何度も同じ作業をするのが⾟い…
22 Policy as Code Artifactoryのユーザ、グループ、レポジトリなど ポリシーをコードで管理。
23 https://github.com/hashicorp/terraform Policy as Code with GitOps https://github.com/atlassian/terraform-provider-artifactory https://circleci.com/
24 GitOps Pipeline 変更のコミット ビルドの開始 terraform plan で事前に確認 レビュー&承認 ビルドの開始
terraform apply で設定内容を反映 Users Admin 結果をGitHubに通知 (tfnotify) https://github.com/ https://github.com/mercari/tfnotify https://circleci.com/
25 今後について
26 DevSecOps • CI/CDにセキュリティの視点を⼊れたい • X-Rayの導⼊ • より早くフィードバックループを回す • 安⼼・安全なソフトウェア開発
27 Harborとの住み分け • Docker RegistryはHarborに移⾏を検討 • Harborはオープンソースのコンテナレジストリ • Cloud Native
Computing Foundation (CNCF)のプロジェクト https://goharbor.io/
• 弊社でのJFrog Artifactory導⼊事例紹介 • バラバラだったアーティファクトレジストリを⼀元化 • 組織を越えたコラボレーションがしやすくなった • ⼈やサーバリソースのコスト削減につながった •
Terraform/GitHub/CircleCIを使ってポリシー管理を⾃動化 • 今後はDevSecOpsを進めていきたい • CI/CDのプロセスの中にセキュリティスキャンを導⼊ まとめ
Thank you.
None