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
Takaaki FURUKAWA
February 21, 2019
Technology
0
420
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
610
rakuten-iac-provisioning-automation.pdf
tkak
1
510
はじめての英語プレゼン #6 LT - My first step of HashiCorp Nomad
tkak
1
140
Terraform Tips
tkak
1
8.6k
Start Go with Terraform
tkak
0
500
Road to "Infrastructure as Code" in Rakuten
tkak
1
1k
Other Decks in Technology
See All in Technology
転生CISOサバイバル・ガイド / CISO Career Transition Survival Guide
kanny
3
960
「海外登壇」という 選択肢を与えるために 〜Gophers EX
logica0419
0
700
『衛星データ利用の方々にとって近いようで触れる機会のなさそうな小話 ~ 衛星搭載ソフトウェアと衛星運用ソフトウェア (実物) を動かしながらわいわいする編 ~』 @日本衛星データコミニティ勉強会
meltingrabbit
0
140
10分で紹介するAmazon Bedrock利用時のセキュリティ対策 / 10-minutes introduction to security measures when using Amazon Bedrock
hideakiaoyagi
0
180
データの品質が低いと何が困るのか
kzykmyzw
6
1.1k
アジャイル開発とスクラム
araihara
0
170
ビジネスモデリング道場 目的と背景
masuda220
PRO
9
490
関東Kaggler会LT: 人狼コンペとLLM量子化について
nejumi
3
570
トラシューアニマルになろう ~開発者だからこそできる、安定したサービス作りの秘訣~
jacopen
2
2k
第13回 Data-Centric AI勉強会, 画像認識におけるData-centric AI
ksaito_osx
0
370
OpenID Connect for Identity Assurance の概要と翻訳版のご紹介 / 20250219-BizDay17-OIDC4IDA-Intro
oidfj
0
260
The Future of SEO: The Impact of AI on Search
badams
0
180
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Six Lessons from altMBA
skipperchong
27
3.6k
The World Runs on Bad Software
bkeepers
PRO
67
11k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
How to Think Like a Performance Engineer
csswizardry
22
1.3k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.6k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
Why Our Code Smells
bkeepers
PRO
336
57k
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