Submit Search
Dockerを活用したリクルートグループ開発基盤の構築
69 likes
23,887 views
Recruit Technologies
2015/02/07 dots summit 2015での、吉田の講演資料になります
Technology
Read more
1 of 23
Download now
Downloaded 113 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Most read
20
Most read
21
Most read
22
23
More Related Content
PDF
分散トレーシング技術について(Open tracingやjaeger)
NTT Communications Technology Development
PDF
Ingress on Azure Kubernetes Service
Toru Makabe
PDF
コンテナ未経験新人が学ぶコンテナ技術入門
Kohei Tokunaga
PPTX
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
PDF
Dockerからcontainerdへの移行
Kohei Tokunaga
PPTX
Anthos を使ったエンタープライズ向けクラスタの設計とアップグレード戦略のススメ(CloudNative Days Tokyo 2021 発表資料)
NTT DATA Technology & Innovation
PDF
PostgreSQL13でのレプリケーション関連の改善について(第14回PostgreSQLアンカンファレンス@オンライン)
NTT DATA Technology & Innovation
PDF
コンテナにおけるパフォーマンス調査でハマった話
Yuta Shimada
分散トレーシング技術について(Open tracingやjaeger)
NTT Communications Technology Development
Ingress on Azure Kubernetes Service
Toru Makabe
コンテナ未経験新人が学ぶコンテナ技術入門
Kohei Tokunaga
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
Dockerからcontainerdへの移行
Kohei Tokunaga
Anthos を使ったエンタープライズ向けクラスタの設計とアップグレード戦略のススメ(CloudNative Days Tokyo 2021 発表資料)
NTT DATA Technology & Innovation
PostgreSQL13でのレプリケーション関連の改善について(第14回PostgreSQLアンカンファレンス@オンライン)
NTT DATA Technology & Innovation
コンテナにおけるパフォーマンス調査でハマった話
Yuta Shimada
What's hot
(20)
PDF
DockerとPodmanの比較
Akihiro Suda
PDF
eBPFを用いたトレーシングについて
さくらインターネット株式会社
PDF
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Shin Ohno
PDF
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
Preferred Networks
PPTX
Prometheus入門から運用まで徹底解説
貴仁 大和屋
PDF
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Toru Makabe
PDF
Grafana Lokiの Docker Logging Driver入門 (Docker Meetup Tokyo #34, 2020/01/16)
NTT DATA Technology & Innovation
PDF
Google Cloud で実践する SRE
Google Cloud Platform - Japan
PDF
Dockerイメージの理解とコンテナのライフサイクル
Masahito Zembutsu
PPTX
マイクロサービスにおける 結果整合性との戦い
ota42y
PDF
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
Recruit Lifestyle Co., Ltd.
PDF
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
NTT DATA Technology & Innovation
PDF
Apache Arrow - データ処理ツールの次世代プラットフォーム
Kouhei Sutou
PPTX
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...
NTT DATA Technology & Innovation
PDF
細かすぎて伝わらないかもしれない Azure Container Networking Deep Dive
Toru Makabe
PDF
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
PDF
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
NTT DATA Technology & Innovation
PDF
なぜ初心者は webpackが解らないのか?- Why can’t you understand the webpack? -
健人 井関
PDF
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
NTT DATA Technology & Innovation
PDF
Keycloak拡張入門
Hiroyuki Wada
DockerとPodmanの比較
Akihiro Suda
eBPFを用いたトレーシングについて
さくらインターネット株式会社
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Shin Ohno
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
Preferred Networks
Prometheus入門から運用まで徹底解説
貴仁 大和屋
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Toru Makabe
Grafana Lokiの Docker Logging Driver入門 (Docker Meetup Tokyo #34, 2020/01/16)
NTT DATA Technology & Innovation
Google Cloud で実践する SRE
Google Cloud Platform - Japan
Dockerイメージの理解とコンテナのライフサイクル
Masahito Zembutsu
マイクロサービスにおける 結果整合性との戦い
ota42y
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
Recruit Lifestyle Co., Ltd.
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
NTT DATA Technology & Innovation
Apache Arrow - データ処理ツールの次世代プラットフォーム
Kouhei Sutou
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...
NTT DATA Technology & Innovation
細かすぎて伝わらないかもしれない Azure Container Networking Deep Dive
Toru Makabe
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
NTT DATA Technology & Innovation
なぜ初心者は webpackが解らないのか?- Why can’t you understand the webpack? -
健人 井関
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
NTT DATA Technology & Innovation
Keycloak拡張入門
Hiroyuki Wada
Ad
Viewers also liked
(20)
PDF
Dockerの事例紹介
Hiroki Endo
PPTX
Docker webinar 20170426−01
Creationline,inc.
PDF
DevOpsを実践し成功に導くための ”はじめの一歩” 20171003
Creationline,inc.
PDF
鯨物語~Dockerコンテナとオーケストレーションの理解
Masahito Zembutsu
PDF
AWSでDockerを扱うためのベストプラクティス
Amazon Web Services Japan
PDF
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
Hinemos
PDF
Docker国内外本番環境サービス事例のご紹介
ThinkIT_impress
PDF
DockerCon SF 2015: Beyond CI to Production Scale PaaS with Docker
Docker, Inc.
PDF
Infrastructure as CodeでReNom環境構築入門
ReNom User Group
PDF
さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...
さくらインターネット株式会社
PDF
Docker 1.12 & Swarm Mode Introduction ~ Docker の新しい技術と swarm モードの紹介
Masahito Zembutsu
PPTX
Docker Community Edition & Enterprise Edition
Creationline,inc.
PPTX
paizaのオンラインジャッジを支えるDockerとその周辺
paiza
PPTX
【第11回 クラウドごった煮(コンテナ勉強会)】Docker networking tools
Nobuyuki Matsui
PDF
8a1#19[はじめてのdocker] 公開版
Kamon Nobuchika
PDF
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
Kunihiro TANAKA
PDF
Docker with RHEL7 技術勉強会
Etsuji Nakai
PDF
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
Masahito Zembutsu
PDF
捕鯨!詳解docker
雄哉 吉田
PDF
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Emma Haruka Iwao
Dockerの事例紹介
Hiroki Endo
Docker webinar 20170426−01
Creationline,inc.
DevOpsを実践し成功に導くための ”はじめの一歩” 20171003
Creationline,inc.
鯨物語~Dockerコンテナとオーケストレーションの理解
Masahito Zembutsu
AWSでDockerを扱うためのベストプラクティス
Amazon Web Services Japan
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
Hinemos
Docker国内外本番環境サービス事例のご紹介
ThinkIT_impress
DockerCon SF 2015: Beyond CI to Production Scale PaaS with Docker
Docker, Inc.
Infrastructure as CodeでReNom環境構築入門
ReNom User Group
さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...
さくらインターネット株式会社
Docker 1.12 & Swarm Mode Introduction ~ Docker の新しい技術と swarm モードの紹介
Masahito Zembutsu
Docker Community Edition & Enterprise Edition
Creationline,inc.
paizaのオンラインジャッジを支えるDockerとその周辺
paiza
【第11回 クラウドごった煮(コンテナ勉強会)】Docker networking tools
Nobuyuki Matsui
8a1#19[はじめてのdocker] 公開版
Kamon Nobuchika
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
Kunihiro TANAKA
Docker with RHEL7 技術勉強会
Etsuji Nakai
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
Masahito Zembutsu
捕鯨!詳解docker
雄哉 吉田
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Emma Haruka Iwao
Ad
Similar to Dockerを活用したリクルートグループ開発基盤の構築
(20)
PDF
ToolChainを使った次世代DevOps環境の作り方
Harada Kazuki
PPT
2010年11月27日土曜日FlexUserGroup勉強会 第125回 京都 Flex & Google App Engine for Java & ...
Sadao Tokuyama
PDF
世界をすこしだけ前に進めるということ
Yukei Wachi
PDF
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
normalian
PDF
Use JWT access-token on Grails REST API
Uehara Junji
PDF
NTTコミュニケーションズ Cloudn勉強会資料 SDKでAPIをたたいてみよう
Midori Oge
PDF
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
真吾 吉田
PDF
運用に自動化を求めるのは間違っているだろうか
Masahito Zembutsu
PDF
Webに今求められているレベル: HTML5 コントロールを利用した開発
インフラジスティックス・ジャパン株式会社
PDF
Building React, Flutter and Blazor development and debugging environment with...
Shotaro Suzuki
PDF
2014年を振り返る 今年の技術トレンドとDockerについて
Masahito Zembutsu
PDF
5分でわかる!ownCloudアドオンの作り方
Yuki Takahashi
PDF
SCALR OSS版のインストール手順のご紹介 20131204 01
Haruhiko KAJIKAWA
PDF
201312 scalr[oss] installation_idcf
IDC Frontier
PDF
オトナのDocker入門
Tsukasa Kato
PPTX
AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013
Takashi Someda
PPTX
Microsoft azure上にwebサイトやアプリケーションを構築する方法 アドバンスド
Kazumi Hirose
PDF
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Masahito Zembutsu
PPTX
オープンソースカンファレンス osc 2014 関西@京都 ownCloud性能検証
Tetsurou Yano
PDF
Karateによる UI Test Automation 革命
Takanori Suzuki
ToolChainを使った次世代DevOps環境の作り方
Harada Kazuki
2010年11月27日土曜日FlexUserGroup勉強会 第125回 京都 Flex & Google App Engine for Java & ...
Sadao Tokuyama
世界をすこしだけ前に進めるということ
Yukei Wachi
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
normalian
Use JWT access-token on Grails REST API
Uehara Junji
NTTコミュニケーションズ Cloudn勉強会資料 SDKでAPIをたたいてみよう
Midori Oge
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
真吾 吉田
運用に自動化を求めるのは間違っているだろうか
Masahito Zembutsu
Webに今求められているレベル: HTML5 コントロールを利用した開発
インフラジスティックス・ジャパン株式会社
Building React, Flutter and Blazor development and debugging environment with...
Shotaro Suzuki
2014年を振り返る 今年の技術トレンドとDockerについて
Masahito Zembutsu
5分でわかる!ownCloudアドオンの作り方
Yuki Takahashi
SCALR OSS版のインストール手順のご紹介 20131204 01
Haruhiko KAJIKAWA
201312 scalr[oss] installation_idcf
IDC Frontier
オトナのDocker入門
Tsukasa Kato
AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013
Takashi Someda
Microsoft azure上にwebサイトやアプリケーションを構築する方法 アドバンスド
Kazumi Hirose
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Masahito Zembutsu
オープンソースカンファレンス osc 2014 関西@京都 ownCloud性能検証
Tetsurou Yano
Karateによる UI Test Automation 革命
Takanori Suzuki
More from Recruit Technologies
(20)
PDF
新卒2年目が鍛えられたコードレビュー道場
Recruit Technologies
PDF
カーセンサーで深層学習を使ってUX改善を行った事例とそこからの学び
Recruit Technologies
PDF
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
Recruit Technologies
PDF
Tableau活用4年の軌跡
Recruit Technologies
PDF
HadoopをBQにマイグレしようとしてる話
Recruit Technologies
PDF
LT(自由)
Recruit Technologies
PDF
リクルートグループの現場事例から見る AI/ディープラーニング ビジネス活用の勘所
Recruit Technologies
PDF
Company Recommendation for New Graduates via Implicit Feedback Multiple Matri...
Recruit Technologies
PDF
リクルート式AIの活用法
Recruit Technologies
PDF
銀行ロビーアシスタント
Recruit Technologies
PDF
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例
Recruit Technologies
PDF
ユーザー企業内製CSIRTにおける対応のポイント
Recruit Technologies
PDF
ユーザーからみたre:Inventのこれまでと今後
Recruit Technologies
PDF
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
Recruit Technologies
PDF
EMRでスポットインスタンスの自動入札ツールを作成する
Recruit Technologies
PDF
RANCHERを使ったDev(Ops)
Recruit Technologies
PDF
リクルートにおけるセキュリティ施策方針とCSIRT組織運営のポイント
Recruit Technologies
PDF
ユーザー企業内製CSIRTにおける対応のポイント
Recruit Technologies
PDF
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
Recruit Technologies
PDF
「リクルートデータセット」 ~公開までの道のりとこれから~
Recruit Technologies
新卒2年目が鍛えられたコードレビュー道場
Recruit Technologies
カーセンサーで深層学習を使ってUX改善を行った事例とそこからの学び
Recruit Technologies
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
Recruit Technologies
Tableau活用4年の軌跡
Recruit Technologies
HadoopをBQにマイグレしようとしてる話
Recruit Technologies
LT(自由)
Recruit Technologies
リクルートグループの現場事例から見る AI/ディープラーニング ビジネス活用の勘所
Recruit Technologies
Company Recommendation for New Graduates via Implicit Feedback Multiple Matri...
Recruit Technologies
リクルート式AIの活用法
Recruit Technologies
銀行ロビーアシスタント
Recruit Technologies
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例
Recruit Technologies
ユーザー企業内製CSIRTにおける対応のポイント
Recruit Technologies
ユーザーからみたre:Inventのこれまでと今後
Recruit Technologies
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
Recruit Technologies
EMRでスポットインスタンスの自動入札ツールを作成する
Recruit Technologies
RANCHERを使ったDev(Ops)
Recruit Technologies
リクルートにおけるセキュリティ施策方針とCSIRT組織運営のポイント
Recruit Technologies
ユーザー企業内製CSIRTにおける対応のポイント
Recruit Technologies
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
Recruit Technologies
「リクルートデータセット」 ~公開までの道のりとこれから~
Recruit Technologies
Dockerを活用したリクルートグループ開発基盤の構築
1.
Dockerを活用したリクルートグループ開発基盤の構築 February 7, 2015 ! Naohiro
Yoshida Recruit Technologies Co.,Ltd. ∼基幹システム開発におけるDocker活用事例∼
2.
自己紹介 (def me {:name
"吉田 尚弘" :age "33" :job "アーキテクト" :company {:name "リクルートテクノロジーズ" :joined-‐at "2014/03/01"} :favorite-‐lang ["Java" "Clojure" "Go"]})
3.
本日の内容 DockerとClojureを使って基幹システムの開発環境構築 リードタイムを99%削減した話
4.
リクルートの事業領域 ■ 就職や結婚、出産/育児といったライフイベント領域 ■ 旅行やグルメ、美容などのライフスタイル領域
5.
リクルートポイントとは ■ リクルートの各サイトで共通利用可能なIDとポイント ■ Pontaポイントとの相互交換も可能でリクルート外でも利用可能
6.
リクルートポイントとは ■ リクルートの展開するサイトの会員数千万人のID/PWD等の重要情報を管理 ■ グループ内の多くのサイトと連携 ・・・
7.
ミッションクリティカルなシステム
8.
リクルートポイントの開発 ■ 基幹システムにも関わらず最低でも月に一回はリリース ■ サイト側のアプリ用の専用の環境を提供(40面以上) 内部環境 サイト向け開発環境 本番環境 2月リリース向け 1月リリース向け 3月リリース向け ・・ ・・ ・・ upgrade upgrade ここがカオス ・・・
9.
何が課題なのか ■ 専用の担当者が常時張り付き複数のチームが相互に連携し合っている ■ 環境をクリーニングしてアプリを入れ替えるのに10日程度のリードタイム 運用T DBA AP基盤T 開発T war war war war 10日後環境利用申請 WEB/APサーバ バッチサーバ DBサーバ
10.
この問題を解決するシステムを作ることにした
11.
環境自動発艦システムakagi ■ 利用者が必要な情報を入力してLaunchボタン押すだけで環境提供 jobnet-‐20141120.jar erd-‐20141120.jar REPOSITORY TAG
IMAGE ID app-‐a 20141120 8534598b6795 app-‐b 20141120 08f230efe1f0 exp UI Docker Agent Job Agent DB Agent コンテナ群 コンテナ 1 コンテナ 2 コンテナ ビルド時 利用者 環境利用時 開発者 SCM 10日かかっていた環境提供を10分程度まで短縮 構築にかかっていた人手を排除し90%のコストを削減
12.
container container container
container docker daemon Dockerとは ■ Linuxのコンテナ技術を利用して、隔離空間(コンテナ)を作成してプロセスを実行 ■ ファイルシステム/ネットワークなどはコンテナごとに独立している ■ ハイパーバイザと異なり、ゲストOSを起動するわけではないため高速に起動可能 環境をコンテナごと全て入れ替えたり 同じ設定の環境を複数高速に起動したり削除したりするのに向く OS 172.20.10.1 172.20.10.2 172.20.10.3 172.20.10.4 1コンテナ複数 プロセス可 プロセスごとにコンテナを分割しコンテナ間で連携することも可 参考
13.
container container Dockerとは ■ Dockerfileを作成してコンテナのイメージを作成 ■ 作成したイメージはDockerがインストールされていれば動作可能 ■ インフラの専門的な知識がないアプリケーションエンジニアでも記述可 FROM centos65 ! #
Java 8 RUN yum install -‐y wget unzip curl ADD download.sh download.sh RUN sh download.sh RUN rpm -‐ivh jdk-‐8u20-‐linux-‐x64.rpm RUN export JAVA_HOME=/usr/java/jdk1.8.0_20 # Tocmat 7 ENV CATALINA_HOME /usr/local/tomcat ENV PATH $CATALINA_HOME/bin:$PATH RUN mkdir -‐p "$CATALINA_HOME" WORKDIR $CATALINA_HOME ADD tomcat /usr/local/tomcat ADD start.sh /usr/bin/start.sh EXPOSE 8080 CMD sh /usr/bin/start.sh docker -d docker build Dockerfile 例)centos7の場合のimage保存先(default) /var/lib/docker/ -‐ devicemapper/devicemapper/ -‐ graph/${image_id} image作成 docker run container コンテナ起動 アプリケーションエンジニアが開発作業としてコンテナを作成し 環境ごと構築することができる 参考
14.
Clojureとは ■ Lich Hickyが開発したJVMで動作するLisp方言の関数型言語 ■
動的型付け/Immutable 参考 ;指定した名字の最大年齢算出する関数 (defn get-‐max-‐age [name] (-‐>> (repeatedly 100 new-‐person) ;Personを100個生成 (filter #(= (:name %) name)) ;名字でフィルター (map #(:age %)) ;age属性のみ取得 (apply max))) ;最大値取得 ! ;指定した名字に対応して部分適用 (def 灬╹ω╹灬 (partial get-‐max-‐age "sato")) (def ಠ_ಠ (partial get-‐max-‐age "tanaka")) ! ;それぞれ出力 (灬╹ω╹灬) (ಠ_ಠ)
15.
UI akagiのアプリケーションアーキテクチャ Java 8 Clojure 1.6 ring-server DB
Agent Java 8 Clojure 1.6 core.async Batch Agent Java 8 Clojure 1.6 http-kit core.async Docker Agent Java 8 Clojure 1.6 http-kit core.async ■ 全面的にClojureで開発 ■ Web UIから環境構築に必要な命令をAgentに配信 ■ Agentは自分のタスクを終了すると次の処理を行うエージェントに命令送信 http http http http http http http-kit Web/App Batch DB
16.
! Container ! Container 全てをDockerにしないのか? ■ DBサーバはOracle EE RACが必要で大量環境のコンテナに向いていないと判断 ■ 加えてJP1はそもそも導入予定のOSに対応していないなどがネック ! Data
Volume Container REDO CTRLSPFILE DATA INSTANCE ASM LISTENER INSTANCE ASM Node #1 Node #2 ・数GBのメモリ 環境数 ・インスタンス起動時間 JDBC LISTENER Oracle EE RAC JP1 JP1 Manager / Agentともに ホストOSがベンダー保証対象外 container Application Cent OS 6.5 Cent OS 7 HostのKernelが叩かれるのでリスクはある ※DockerのホストOSはKernel 3.8以上が推奨 # uname -‐r 3.10.0-‐123.6.3.el7.x86_64
17.
環境提供までの流れ (Docker部分) UI Docker Agent Repository docker -d Docker Registry docker contaiiner build/run ④Repositryからサイト別の設定情報を 取得してDockerfileを自動生成する ベースイメージはアプリビルド時に作っ ておいたものを使用 ②起動情報 ・アプリバージョン ・各種設定値 ③空き環境を判別してDocker操作用の エージェントにメッセージ送信 ⑤アプリ数分Dockerfileをビルドしてコンテナ起動 Dockerfile 利用者 docker contaiiner docker contaiiner ①ベースとなるイメージは作成しておく
18.
アプリ1 Module Container Web/App Container App Server Web Server 今回のDockerコンテナの構成 ■ コンテナを役割ごとに複数に分割 ■ サービスを起動するコンテナとモジュール/ログ/設定を配備するコンテナを分割 ■ Web
/ Appは同一のコンテナ ■ モジュール、ログ、設定用コンテナはData Only Container Config Container Log Container volumes from 1環境あたりのコンテナセット アプリ2 Module Container Web/App Container App Server Web Server アプリN Module Container Web/App Container App Server Web Server
19.
HOST Data Only Container(Pattern) ■ データのみを格納したコンテナで他のコンテナとデータ共有が可能 ■ サービス用コンテナと分割することで変更やバックアップが容易になる ■ Data
Only Contianerが停止してもサービスには影響がない FROM busybox VOLUME /var/log/ CMD /bin/sh Data Volume Container Container docker run -‐-‐volumes-‐from data service /var/lib/docker/vfs/dir/${volume-‐id} -‐rw-‐r-‐-‐r-‐-‐ 1 root root 4444 2月 1 23:34 catalina.log docker build -‐t log docker run -‐-‐name data log Dockerfile 参考
20.
アプリ1 アプリ2 この構成のメリット Web /
App Container Module Container Config Container Log Container ミドルウェア パッチ当て ログ確認 緊急設定変更 ■ 変更頻度の異なるコンテナを別々にすることでコンテナ変更時の影響を局所化 ■ 関心のあるコンテナのみを操作すればよい 凡例 docker build / docker run docker attach / docker exec Web / App Container Module Container アプリ1のみ起動 App engineer アプリ バージョンアップ 設定変更 Infra engineer akagi
21.
他の構成も検討したが ■ 全部入りコンテナだと使い勝手はよいが再作成時の入れ替えなどが課題 ■ 1プロセス1コンテナだとコンテナ数が無駄に増えすぎる Container Web Server (アプリ1) App Server Web
Server (アプリ2) App Server SSHD Monit 1環境1コンテナ 1プロセス1コンテナ アプリ1 Module Container App Server Container Config Container Web Server Container ○ 環境単位の移動は容易ではある △ 部分的な更新時の再作成 △ アプリ単位の提供が困難 ○ 原則の構成ではある △ 数が多いためコンテナが複雑になる Log Container link アプリ2 Module Container App Server Container Config Container Web Server Container Log Container link
22.
! ■ Dockerを活用して環境構築リードタイム99%削減 ■ 特定の人間に依存していた作業を撤廃し属人性排除 ■ コスト90%削減見込み ! まとめ 発見 ! ■ 重厚なシステムにおいてはDockerだけでは解決が困難な箇所がある ■ Docker内とDocker外の資産(ERD/JOBなど)の整合性の担保 ■ Dockerコンテナの構成は運用を考慮して最適な設計を
23.
最後に ■ リクルートは様々なサービスを持っている会社です ■ リクルートはビジネスの会社でリクルートテクノロジーズは技術の会社 ■ 様々なサービスを経験したり新しい技術を適用してみたい方募集中です !
Download