【レポート)】 数千人のアクティブな開発者が使用するCI / CDシステムで、Amazon EFSとJFrog Artifactoryを使って何百万ものアーティファクトをサポートする方法を学ぶ #reinvent #STG314
コンニチハ、千葉です。
re:Invent2017のセッションレポートをお届けします。
EFSとJFrog Artifactoryを利用したアプリケーション管理に関するセッションとなります。
前提知識
前提となる、Amazon EFSとJFrogについて簡単にまとめます。
EFSとは
EFSとはAWSサービスの1つで、EC2間でファイル共有できるストレージです。容量の管理は不要で、自動的にスケールします。NFSv4プロトコル対応です。因みにEFSはオンプレからもマウントできます。
https://aws.amazon.com/jp/efs/
JFrog Artifactoryとは
JFrog Artifactoryとはアーティファクト リポジトリマネージャーです。 市場的にはアーティファクト リポジトリマネージャーはJFrog Artifactoryが唯一の存在みたいです。具体的なイメージとしてGitHubはファイルレベルのリポジトリですが、JFrog Artifactoryではバイナリ(コンパイル後のファイルやzipなど)レベルでのリポジトリを提供します。
https://www.jfrog.com/artifactory/
セッションレポート
アジェンダ
- AWS各ストレージとEFSの概要
- JFlogとArtifactoryの概要
- HERE Technologiesでの事例
AWS各ストレージとEFSの概要
ストレージソリューションを選択するときの何を考えるか
- インターフェース(どのようにアクセスするか)、権限モデル(ユーザー/グループ)、正確性(データはどう表現され更新されるか)
- 機能とパフォーマンス
- コスト
ストレージの3タイプ
- ファイルストレージ
- Blockストレージ
- オブジェクトストレージ
ファイルストレージは一般的なストレージ
ファイルストレージはext4などのファイルシステムをさす
- インターフェース:OS APIでのマルチクライアントアクセス
- 正確性:強力な一貫性、ロック機構、ディレクトリ構造
- 権限モデル:read/write/execute、OSにロギング
ファイルストレージと他のストレージの比較
- ファイルストレージ:マルチアタッチ
- Blockストレージ:仮想ディスクなど。AWSでいうとEBS。シングルアタッチ。
- オブジェクトストレージ:APIによるアクセス。一般的にはインターネット越しでのアクセスが多い。AWSでいうとS3。
パフォーマンスの比較
EFS以前の構成
- ファイルサーバ、ストレージボリュームが必要
- 可用性、堅牢性の確保のため冗長化が必要
主なEFSの機能
- 高可用性
- 高堅牢性
- 高パフォーマンス
- フルマネージド
EFSカスタマー
セキュリティモデルと機能
- VPC、セキュリティグループ、NACLによるネットワークアクセス制御
- POSIXパーミッションによる権限管理
- IAMによるアクセス制御
- KMSによる暗号化
EFSコスト
- 利用コミットなし
- ストレージのプロビジョニングが不要(自動で拡張する)
- ストレージ利用料金のみでの料金。それ以外料金はかからない(管理用のEC2も不要)
EFS以前の構成
- EC2のインスタンスコスト
- EBSのコスト
- AZ間のデータ転送コスト
EFSのTCO
500GBストレージの場合、EC2利用時と比べEFSは75%のコスト削減
現在利用できるリージョン
日本は入ってないですが、Comming Soon!?
EFS File Syncの紹介
これは、先週くらいのアップデートで追加された機能ですね
OSコピーコマンドより5倍の速度でEFSへコピーできます。
JFlogとArtifactoryの概要
JFlog Artifactoryのタイプ
JFlogとArtifactoryはバイナリを管理できる。 2タイプありSaaSタイプと、オンプレミスやAWS上に自分で構築できる
JFrogは一般的なバイナリレポジトリ
Artifactoryの管理
- チェックサムベースのストレージ
- データは追加のみ
- 不要ファイルの管理
データの冗長化
ディスクレベルでの冗長化
リージョンレベルでの冗長化
HERE Technologiesでの事例
HERE Technologiesは、ドイツのBMW、ダイムラーおよびアウディが所有するネット地図サービス会社です。 Artifactoryを使ってアプリを管理しています。
Artifactoryの高可用性なアーキテクチャ
ロードバランサを利用し冗長性を行なっている
また、DR対策としてリージョン間でのレプリケーションを行なっている
以前は、ツールごとにリポジトリを管理していたが、今はArtifactoryでインスタンス上に集約している。
以前は、ファイルストレージとしてEC2 + EBSで運用していたが、現在はEFSに以降している。
- タイムアウトの問題がない
- 自動でスケールする
- 使ったぶんだけの料金
- 静的DNSでのアクセス
EFS/NFS/S3のパフォーマンス比較
バックアップ
- CI/CDをトリガーにS3バックアップ
- 週次でS3へバックアップし1週間保管、それ以降は365日Galcierへ保管
- 日時でEFSへバックアップ
まとめ
EFSを利用した事例でした。はやく日本もGAして欲しい!!