SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
Copyright © 2016 TIS Inc. All rights reserved.
Dockercon 2016報告会 #tistudy201606
Docker国内外本番環境の事例紹介
TIS株式会社
戦略技術センター
森元 敏雄
Copyright © 2016 TIS Inc. All rights reserved.
自己紹介
2
 氏名 :森元敏雄
 所属 :TIS株式会社 戦略技術センター
 担当業務:部門内の開発・検証環境の構築・保守
OSS関連製品の技術調査、記事執筆・寄稿
 執筆記事:
連載1:Dockerを知る-周辺ツールと業界動向
(https://thinkit.co.jp/story/2014/12/02/5456)
連載2:より深くDockerを知る
(https://thinkit.co.jp/story/2015/03/06/5672)
連載3:進化を続けるDockerの今を知る
(https://thinkit.co.jp/story/2015/03/06/5672)
OSS運用監視ソフト 注目の10製品徹底比較 2016年版
(http://www.atmarkit.co.jp/ait/articles/1606/14/news011.html)
OSS サーバ構築自動化ツール、4製品徹底検証 2016年版
(https://www.atmarkit.co.jp/ait/articles/1606/14/news011.html)
TIS技術blog Tech-sketch
(http://tech-sketch.jp/author/morimoto)
Copyright © 2016 TIS Inc. All rights reserved.
今回のセッションの概要
3
 Dockerを開発環境、本番環境に活用した先進的
な公開事例をご紹介します。
 その事例から想定される、Dockerの本番利用イ
メージを考えてみます。
今回の発表内容は
Think IT上の👈こちらの
記事を基にしています。
https://thinkit.co.jp/article/9701
合わせご一読頂けますと
幸いです。
Copyright © 2016 TIS Inc. All rights reserved.
アジェンダ
1. 開発環境の事例
① パッケージの保守開発環境(Works Applications社)
2. 本番環境の事例
① 料理レシピ情報サイト運用(クックパット社)
② 大規模コマースサイト運用(Shopify社)
③ 研究機関の大規模バッチ運用 (国立情報学研究所)
3. Dockerの本番活用イメージ
① Webサイト環境イメージ
② バッチ環境イメージ
4
Copyright © 2016 TIS Inc. All rights reserved.
アジェンダ
1. 開発環境の事例
① パッケージの保守開発環境(Works Applications社)
2. 本番環境の事例
① 料理レシピ情報サイト運用(クックパット社)
② 大規模コマースサイト運用(Shopify社)
③ 研究機関の大規模バッチ運用 (国立情報学研究所)
3. Dockerの本番活用イメージ
① Webサイト環境イメージ
② バッチ環境イメージ
5
Copyright © 2016 TIS Inc. All rights reserved.
①パッケージの保守開発環境(Works Applications社)
6
 導入前の問題
• 多数のパッケージ製品の開発検証環境が必要
• 各製品の新旧バージョンの保守・開発環境が必要
• 国内・海外の開発拠点の環境の共通化が必要
株式会社ワークスアプリケーションズ 遠藤博樹氏 講演資料より引用
http://www.slideshare.net/endhrk/Docker-use-case-36473690/
生産管理ソリューション
人工知能型ERP
財務・管理会計
人事・給与
マイナンバー管理
グループウェア
メッセンジャー
SCM
Eコマース
BPM
クラウド管理サービス
グローバル対応
etc…
Copyright © 2016 TIS Inc. All rights reserved. 7
 開発環境でのバージョン不整合の問題
①パッケージの保守開発環境(Works Applications社)
Copyright © 2016 TIS Inc. All rights reserved. 8
 開発環境を東京に集約することによる問題
①パッケージの保守開発環境(Works Applications社)
Copyright © 2016 TIS Inc. All rights reserved. 9
 対応策
• 開発環境(開発・検証・CI)をDockerコン
テナに統合
• 各製品、各バージョンの開発環境をリポジ
トリで管理
• 開発者のリクエストに応じて、必要となる
開発環境一式をコンテナで一括提供する仕
組みを実現
• 開発環境をオンプレミスだけではなく、パ
ブリッククラウドも利用できる状態を実現
①パッケージの保守開発環境(Works Applications社)
Copyright © 2016 TIS Inc. All rights reserved. 10
 製品、バージョンに対応した開発環境をコンテナで提供
①パッケージの保守開発環境(Works Applications社)
Copyright © 2016 TIS Inc. All rights reserved. 11
 環境をオンプレミス、クラウドで自由に選択可能に
①パッケージの保守開発環境(Works Applications社)
Copyright © 2016 TIS Inc. All rights reserved. 12
 導入後の効果
• 開発環境提供の運用コストの低減
• 各製品の各バージョンの開発・検証環境が
統一され、製品の品質が安定
• 使用するリソース量が削減でき、開発者
個々に開発・検証環境の提供を実現
• DBサーバを含む開発・検証環境を開発者に
近いロケーションでの提供を実現
品質の向上とコストの低減を両立する為には、
貴重なフルスタックエンジニアを開発環境の改善
という投資にアサインできるかが鍵になる。
①パッケージの保守開発環境(Works Applications社)
Copyright © 2016 TIS Inc. All rights reserved.
アジェンダ
1. 開発環境の事例
① パッケージの保守開発環境(Works Applications社)
2. 本番環境の事例
① 料理レシピ情報サイト運用(クックパット社)
② 大規模コマースサイト運用(Shopify社)
③ 研究機関の大規模バッチ運用 (国立情報学研究所)
3. Dockerの本番活用イメージ
① Webサイト環境イメージ
② バッチ環境イメージ
13
Copyright © 2016 TIS Inc. All rights reserved.
①料理レシピ情報サイト運用(クックパット社)
14
 導入の為に実施した対策
• コンテナの更新によるアクセスの変更は、nginxの
設定の変更で対応
• コンテナの自動デプロイの導入により、アプリケー
ションの更新作業を自動化
クックパッド株式会社 開発者ブログより引用
http://techlife.cookpad.com/entry/2015/04/20/134758
 前提条件
• WebアプリケーションサーバとしてDockerを採用
• アプリケーションの更新はDockerコンテナ単位で
実施
• 更新作業によるサービス停止は許容されない
◆Docker環境で構築されたシステムの運用自動化を実現
Copyright © 2016 TIS Inc. All rights reserved. 15
アプリケーションの
更新はコンテナを入
れ替える形で実施
呼び出すコンテナの切り
替えは上位のnginxの設
定変更で対応
②料理レシピ情報サイト運用(クックパット社)
Copyright © 2016 TIS Inc. All rights reserved. 16
 実現できたこと
• 1つのシステムを複数のDockerコンテナの
組み合わせで構成
• クラスタ構成されたDockerサーバでの負荷
分散および冗長化の確保
• アプリケーションの更新および設定変更の
自動化
 今後の課題
• コンテナ配置のワークロードの自動化
• コンテナ増減によるオートスケールの実現
②料理レシピ情報サイト運用(クックパット社)
Copyright © 2016 TIS Inc. All rights reserved.
アジェンダ
1. 開発環境の事例
① パッケージの保守開発環境(Works Applications社)
2. 本番環境の事例
① 料理レシピ情報サイト運用(クックパット社)
② 大規模コマースサイト運用(Shopify社)
③ 研究機関の大規模バッチ運用 (国立情報学研究所)
3. Dockerの本番活用イメージ
① Webサイト環境イメージ
② バッチ環境イメージ
17
Copyright © 2016 TIS Inc. All rights reserved. 18
②大規模コマースサイト運用(Shopify社)
Shopify ENGINEERING blogのGraeme Johnson氏の記事から引用
https://engineering.shopify.com/17489060-docker-at-shopify-how-we-built-containers-
that-power-over-100-000-online-shops
◆10万テナントのショップサイトをDocker環境で実現
Copyright © 2016 TIS Inc. All rights reserved. 19
 導入方法
• コンテナ内部から不要な機能を除き、最小化
• コンテナの構築をDockerfileで自動化
• アプリケーションをDockerコンテナで動作させる
ことを前提とする Containerizingを行った
• 提供するアプリケーションを1つのコンテナに集約
 導入後の効果
• 利用申し込みからテナントへのサービスの提供の自
動化を実現
• サービス提供までの時間短縮を実現
• リソース使用量の低減にも成功
• 現在は20万件以上のテナントにサービスを提供
②大規模コマースサイト運用(Shopify社)
Copyright © 2016 TIS Inc. All rights reserved.
アジェンダ
1. 開発環境の事例
① パッケージの保守開発環境(Works Applications社)
2. 本番環境の事例
① 料理レシピ情報サイト運用(クックパット社)
② 大規模コマースサイト運用(Shopify社)
③ 研究機関の大規模バッチ運用 (国立情報学研究所)
3. Dockerの本番活用イメージ
① Webサイト環境イメージ
② バッチ環境イメージ
20
Copyright © 2016 TIS Inc. All rights reserved. 21
③研究機関の大規模バッチ運用 (国立情報学研究所)
国立情報学研究所(NII) 横山重俊先生の講演資料から引用
http://www.iic.hokudai.ac.jp/kyodo_kenkyu/cloud-week-
2015/document/20150909yokoyama.pdf
 経緯
• 某事件の影響で遺伝子研究の分野でも論文の再現性
の検証を行うことが必須に
• 論文の検証に再現には、巨大な遺伝子のデータを大
規模かつ複雑なソフトウェアでの解析が必須
Copyright © 2016 TIS Inc. All rights reserved. 22
③研究機関の大規模バッチ運用 (国立情報学研究所)
 課題
• 巨大データの処理のために、各大学のリソースを1
つの大きなクラウドとして利用できる環境を実現
⇒そのクラウド環境の運用負荷が課題に
Copyright © 2016 TIS Inc. All rights reserved. 23
③研究機関の大規模バッチ運用 (国立情報学研究所)
 対応
• 遺伝子解析プログラムをDockerコンテナ化
• 遺伝子解析処理の超並列稼働と順序制御を自動化
Copyright © 2016 TIS Inc. All rights reserved.
まとめ:Dockerの本番導入事例からわかること
これら導入事例をから、Dockerを本番で活用する為には以
下を考慮する必要があると考えられる。
24
① Dockerコンテナは、同じ機能を大量かつ、並
列で動作させるのに適している。
② 1つのコンテナには、稼働させる1つの機能
を搭載する。
③ 搭載するアプリケーションもDockerコンテナ
で動作させることを前提で開発する。
④ Dockerを採用する最大の目的は、サービス提
供時間の短縮と運用の自動化である。
Copyright © 2016 TIS Inc. All rights reserved.
アジェンダ
1. 開発環境の事例
① パッケージの保守開発環境(Works Applications社)
2. 本番環境の事例
① 料理レシピ情報サイト運用(クックパット社)
② 大規模コマースサイト運用(Shopify社)
③ 研究機関の大規模バッチ運用 (国立情報学研究所)
3. Dockerの本番活用イメージ
① Webサイト環境イメージ
② バッチ環境イメージ
25
Copyright © 2016 TIS Inc. All rights reserved.
①Webサイト環境
26
Copyright © 2016 TIS Inc. All rights reserved.
①Webサイト環境
27
セッション層
アプリケーション層
永続データ層
Copyright © 2016 TIS Inc. All rights reserved.
②バッチ環境イメージ
28
対象データの分割とコンテナの分散配置が肝
Copyright © 2016 TIS Inc. All rights reserved.
②バッチ環境イメージ
29
東京工業大学 寛本英之先生 論文「科学技術計算における効率の良い複数拠点利用とそれを実現する
ユーザ駆動型・拠点協調フレームワークの開発と検証」より引用
https://jhpcn-kyoten.itc.u-tokyo.ac.jp/ja/docH27/FinalRep/jh150042-MD03_FinalRep.pdf
◆Docker環境でも適用できそうなバッチの実装
複数のNodeに対して
全てのバッチ処理を要
求しておく
Copyright © 2016 TIS Inc. All rights reserved.
②バッチ環境イメージ
30
別nodeで処理が開始
されたJOBはキャンセ
ルする。
Copyright © 2016 TIS Inc. All rights reserved.
まとめ:Dockerの本番活用に必要なもの
Dockerを活用した本番環境を稼働、運用する為には
『Docker環境に最適化されたアプリケーション
+運用フレームワーク製品の開発』が必要
31
企業間の連携だけではなく、Dockerの活用についての知
見も実績も豊富な大学・研究機関との連携も行いたい
http://www.iic.hokudai.ac.jp/kyodo_kenkyu/cloud-week-2016/
Docker国内外本番環境サービス事例のご紹介

Contenu connexe

Tendances

Tendances (20)

KubernetesでRedisを使うときの選択肢
KubernetesでRedisを使うときの選択肢KubernetesでRedisを使うときの選択肢
KubernetesでRedisを使うときの選択肢
 
Paxos
PaxosPaxos
Paxos
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
 
Docker超入門
Docker超入門Docker超入門
Docker超入門
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較
 
Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
 
JVMのGCアルゴリズムとチューニング
JVMのGCアルゴリズムとチューニングJVMのGCアルゴリズムとチューニング
JVMのGCアルゴリズムとチューニング
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれ
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
 
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
 
Apache Avro vs Protocol Buffers
Apache Avro vs Protocol BuffersApache Avro vs Protocol Buffers
Apache Avro vs Protocol Buffers
 
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
 
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
Rootlessコンテナ
RootlessコンテナRootlessコンテナ
Rootlessコンテナ
 
Redisの特徴と活用方法について
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法について
 
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーKubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
 

En vedette

Dockerの事例紹介
Dockerの事例紹介Dockerの事例紹介
Dockerの事例紹介
Hiroki Endo
 

En vedette (6)

【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
 
DockerCon SF 2015: Beyond CI to Production Scale PaaS with Docker
DockerCon SF 2015: Beyond CI to Production Scale PaaS with DockerDockerCon SF 2015: Beyond CI to Production Scale PaaS with Docker
DockerCon SF 2015: Beyond CI to Production Scale PaaS with Docker
 
Dockerの事例紹介
Dockerの事例紹介Dockerの事例紹介
Dockerの事例紹介
 
Infrastructure as CodeでReNom環境構築入門
Infrastructure as CodeでReNom環境構築入門Infrastructure as CodeでReNom環境構築入門
Infrastructure as CodeでReNom環境構築入門
 
Dockerを活用したリクルートグループ開発基盤の構築
Dockerを活用したリクルートグループ開発基盤の構築Dockerを活用したリクルートグループ開発基盤の構築
Dockerを活用したリクルートグループ開発基盤の構築
 
鯨物語~Dockerコンテナとオーケストレーションの理解
鯨物語~Dockerコンテナとオーケストレーションの理解鯨物語~Dockerコンテナとオーケストレーションの理解
鯨物語~Dockerコンテナとオーケストレーションの理解
 

Similaire à Docker国内外本番環境サービス事例のご紹介

Share pointを支えるsql server2014最新情報 tokyo_公開用
Share pointを支えるsql server2014最新情報 tokyo_公開用Share pointを支えるsql server2014最新情報 tokyo_公開用
Share pointを支えるsql server2014最新情報 tokyo_公開用
Yukio Kumazawa
 

Similaire à Docker国内外本番環境サービス事例のご紹介 (20)

Chefで始めるWindows Server構築
Chefで始めるWindows Server構築Chefで始めるWindows Server構築
Chefで始めるWindows Server構築
 
OpenStackに必要な技術スキルとは
OpenStackに必要な技術スキルとはOpenStackに必要な技術スキルとは
OpenStackに必要な技術スキルとは
 
コンテナ技術と普及がシステム・インテグレータに与える影響
コンテナ技術と普及がシステム・インテグレータに与える影響コンテナ技術と普及がシステム・インテグレータに与える影響
コンテナ技術と普及がシステム・インテグレータに与える影響
 
Database as code in Devops - DBを10分間で1000個構築するDB仮想化テクノロジーとは?(Ishikawa)
Database as code in Devops - DBを10分間で1000個構築するDB仮想化テクノロジーとは?(Ishikawa)Database as code in Devops - DBを10分間で1000個構築するDB仮想化テクノロジーとは?(Ishikawa)
Database as code in Devops - DBを10分間で1000個構築するDB仮想化テクノロジーとは?(Ishikawa)
 
The road of Apache CloudStack Contributor (Translation and Patch)
The road of Apache CloudStack Contributor (Translation and Patch)The road of Apache CloudStack Contributor (Translation and Patch)
The road of Apache CloudStack Contributor (Translation and Patch)
 
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
 
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
 
Docker向け軽量os 3製品比較
Docker向け軽量os 3製品比較Docker向け軽量os 3製品比較
Docker向け軽量os 3製品比較
 
CLOUDIAN at Support Engineer Night
CLOUDIAN at Support Engineer NightCLOUDIAN at Support Engineer Night
CLOUDIAN at Support Engineer Night
 
DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介
DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介
DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介
 
Servcie Fabric and Cloud Design Pattern
Servcie Fabric and Cloud Design PatternServcie Fabric and Cloud Design Pattern
Servcie Fabric and Cloud Design Pattern
 
Docker Enterprise Editionで実践するCaaS
Docker Enterprise Editionで実践するCaaSDocker Enterprise Editionで実践するCaaS
Docker Enterprise Editionで実践するCaaS
 
Dockerのエンタープライズ運用を支える技術 - FlexPod Day 2017 Tokyo
Dockerのエンタープライズ運用を支える技術 - FlexPod Day 2017 TokyoDockerのエンタープライズ運用を支える技術 - FlexPod Day 2017 Tokyo
Dockerのエンタープライズ運用を支える技術 - FlexPod Day 2017 Tokyo
 
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
 
Share pointを支えるsql server2014最新情報 tokyo_公開用
Share pointを支えるsql server2014最新情報 tokyo_公開用Share pointを支えるsql server2014最新情報 tokyo_公開用
Share pointを支えるsql server2014最新情報 tokyo_公開用
 
ベンダーロックインフリーのビジネスクラウドの世界
ベンダーロックインフリーのビジネスクラウドの世界ベンダーロックインフリーのビジネスクラウドの世界
ベンダーロックインフリーのビジネスクラウドの世界
 
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
 
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
 
インフラチームとCCoEの関係.pptx
インフラチームとCCoEの関係.pptxインフラチームとCCoEの関係.pptx
インフラチームとCCoEの関係.pptx
 
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
 

Plus de ThinkIT_impress

Plus de ThinkIT_impress (12)

あんちゃ(二上 杏奈)氏「勢いで会社辞めた私が、なぜ本を出版するまでになったのか?」
あんちゃ(二上 杏奈)氏「勢いで会社辞めた私が、なぜ本を出版するまでになったのか?」あんちゃ(二上 杏奈)氏「勢いで会社辞めた私が、なぜ本を出版するまでになったのか?」
あんちゃ(二上 杏奈)氏「勢いで会社辞めた私が、なぜ本を出版するまでになったのか?」
 
染谷昌利氏「フリーランスとして生き残るための心構え」
染谷昌利氏「フリーランスとして生き残るための心構え」染谷昌利氏「フリーランスとして生き残るための心構え」
染谷昌利氏「フリーランスとして生き残るための心構え」
 
161118 tistudy open_stack summit(barcelona)報告会_インプレス河原
161118 tistudy open_stack summit(barcelona)報告会_インプレス河原161118 tistudy open_stack summit(barcelona)報告会_インプレス河原
161118 tistudy open_stack summit(barcelona)報告会_インプレス河原
 
オープン・クラウド・プラットフォーム構築の秘訣
オープン・クラウド・プラットフォーム構築の秘訣オープン・クラウド・プラットフォーム構築の秘訣
オープン・クラウド・プラットフォーム構築の秘訣
 
エンタープライズクラスのOpenStackとは
エンタープライズクラスのOpenStackとはエンタープライズクラスのOpenStackとは
エンタープライズクラスのOpenStackとは
 
ハイブリッドコンテンツプラットホームAlfrescoが開く文書管理と共有のパラダイムシフト
ハイブリッドコンテンツプラットホームAlfrescoが開く文書管理と共有のパラダイムシフトハイブリッドコンテンツプラットホームAlfrescoが開く文書管理と共有のパラダイムシフト
ハイブリッドコンテンツプラットホームAlfrescoが開く文書管理と共有のパラダイムシフト
 
オープンソースのトレンドとビジネス活用2014 〜メリットと安心・安全に活用するポイント〜
オープンソースのトレンドとビジネス活用2014 〜メリットと安心・安全に活用するポイント〜オープンソースのトレンドとビジネス活用2014 〜メリットと安心・安全に活用するポイント〜
オープンソースのトレンドとビジネス活用2014 〜メリットと安心・安全に活用するポイント〜
 
Tuning maniax 2014 Hadoop編
Tuning maniax 2014 Hadoop編Tuning maniax 2014 Hadoop編
Tuning maniax 2014 Hadoop編
 
Tuning maniax 2014 2nd stage linux編
Tuning maniax 2014 2nd stage linux編Tuning maniax 2014 2nd stage linux編
Tuning maniax 2014 2nd stage linux編
 
Tuning maniax 2014 2nd stage windows編
Tuning maniax 2014 2nd stage windows編Tuning maniax 2014 2nd stage windows編
Tuning maniax 2014 2nd stage windows編
 
Tuning maniax 2014 1st stage webサイト編
Tuning maniax 2014 1st stage webサイト編Tuning maniax 2014 1st stage webサイト編
Tuning maniax 2014 1st stage webサイト編
 
Tuning maniax 2014 ルール紹介
Tuning maniax 2014 ルール紹介Tuning maniax 2014 ルール紹介
Tuning maniax 2014 ルール紹介
 

Dernier

Dernier (11)

論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 

Docker国内外本番環境サービス事例のご紹介

  • 1. Copyright © 2016 TIS Inc. All rights reserved. Dockercon 2016報告会 #tistudy201606 Docker国内外本番環境の事例紹介 TIS株式会社 戦略技術センター 森元 敏雄
  • 2. Copyright © 2016 TIS Inc. All rights reserved. 自己紹介 2  氏名 :森元敏雄  所属 :TIS株式会社 戦略技術センター  担当業務:部門内の開発・検証環境の構築・保守 OSS関連製品の技術調査、記事執筆・寄稿  執筆記事: 連載1:Dockerを知る-周辺ツールと業界動向 (https://thinkit.co.jp/story/2014/12/02/5456) 連載2:より深くDockerを知る (https://thinkit.co.jp/story/2015/03/06/5672) 連載3:進化を続けるDockerの今を知る (https://thinkit.co.jp/story/2015/03/06/5672) OSS運用監視ソフト 注目の10製品徹底比較 2016年版 (http://www.atmarkit.co.jp/ait/articles/1606/14/news011.html) OSS サーバ構築自動化ツール、4製品徹底検証 2016年版 (https://www.atmarkit.co.jp/ait/articles/1606/14/news011.html) TIS技術blog Tech-sketch (http://tech-sketch.jp/author/morimoto)
  • 3. Copyright © 2016 TIS Inc. All rights reserved. 今回のセッションの概要 3  Dockerを開発環境、本番環境に活用した先進的 な公開事例をご紹介します。  その事例から想定される、Dockerの本番利用イ メージを考えてみます。 今回の発表内容は Think IT上の👈こちらの 記事を基にしています。 https://thinkit.co.jp/article/9701 合わせご一読頂けますと 幸いです。
  • 4. Copyright © 2016 TIS Inc. All rights reserved. アジェンダ 1. 開発環境の事例 ① パッケージの保守開発環境(Works Applications社) 2. 本番環境の事例 ① 料理レシピ情報サイト運用(クックパット社) ② 大規模コマースサイト運用(Shopify社) ③ 研究機関の大規模バッチ運用 (国立情報学研究所) 3. Dockerの本番活用イメージ ① Webサイト環境イメージ ② バッチ環境イメージ 4
  • 5. Copyright © 2016 TIS Inc. All rights reserved. アジェンダ 1. 開発環境の事例 ① パッケージの保守開発環境(Works Applications社) 2. 本番環境の事例 ① 料理レシピ情報サイト運用(クックパット社) ② 大規模コマースサイト運用(Shopify社) ③ 研究機関の大規模バッチ運用 (国立情報学研究所) 3. Dockerの本番活用イメージ ① Webサイト環境イメージ ② バッチ環境イメージ 5
  • 6. Copyright © 2016 TIS Inc. All rights reserved. ①パッケージの保守開発環境(Works Applications社) 6  導入前の問題 • 多数のパッケージ製品の開発検証環境が必要 • 各製品の新旧バージョンの保守・開発環境が必要 • 国内・海外の開発拠点の環境の共通化が必要 株式会社ワークスアプリケーションズ 遠藤博樹氏 講演資料より引用 http://www.slideshare.net/endhrk/Docker-use-case-36473690/ 生産管理ソリューション 人工知能型ERP 財務・管理会計 人事・給与 マイナンバー管理 グループウェア メッセンジャー SCM Eコマース BPM クラウド管理サービス グローバル対応 etc…
  • 7. Copyright © 2016 TIS Inc. All rights reserved. 7  開発環境でのバージョン不整合の問題 ①パッケージの保守開発環境(Works Applications社)
  • 8. Copyright © 2016 TIS Inc. All rights reserved. 8  開発環境を東京に集約することによる問題 ①パッケージの保守開発環境(Works Applications社)
  • 9. Copyright © 2016 TIS Inc. All rights reserved. 9  対応策 • 開発環境(開発・検証・CI)をDockerコン テナに統合 • 各製品、各バージョンの開発環境をリポジ トリで管理 • 開発者のリクエストに応じて、必要となる 開発環境一式をコンテナで一括提供する仕 組みを実現 • 開発環境をオンプレミスだけではなく、パ ブリッククラウドも利用できる状態を実現 ①パッケージの保守開発環境(Works Applications社)
  • 10. Copyright © 2016 TIS Inc. All rights reserved. 10  製品、バージョンに対応した開発環境をコンテナで提供 ①パッケージの保守開発環境(Works Applications社)
  • 11. Copyright © 2016 TIS Inc. All rights reserved. 11  環境をオンプレミス、クラウドで自由に選択可能に ①パッケージの保守開発環境(Works Applications社)
  • 12. Copyright © 2016 TIS Inc. All rights reserved. 12  導入後の効果 • 開発環境提供の運用コストの低減 • 各製品の各バージョンの開発・検証環境が 統一され、製品の品質が安定 • 使用するリソース量が削減でき、開発者 個々に開発・検証環境の提供を実現 • DBサーバを含む開発・検証環境を開発者に 近いロケーションでの提供を実現 品質の向上とコストの低減を両立する為には、 貴重なフルスタックエンジニアを開発環境の改善 という投資にアサインできるかが鍵になる。 ①パッケージの保守開発環境(Works Applications社)
  • 13. Copyright © 2016 TIS Inc. All rights reserved. アジェンダ 1. 開発環境の事例 ① パッケージの保守開発環境(Works Applications社) 2. 本番環境の事例 ① 料理レシピ情報サイト運用(クックパット社) ② 大規模コマースサイト運用(Shopify社) ③ 研究機関の大規模バッチ運用 (国立情報学研究所) 3. Dockerの本番活用イメージ ① Webサイト環境イメージ ② バッチ環境イメージ 13
  • 14. Copyright © 2016 TIS Inc. All rights reserved. ①料理レシピ情報サイト運用(クックパット社) 14  導入の為に実施した対策 • コンテナの更新によるアクセスの変更は、nginxの 設定の変更で対応 • コンテナの自動デプロイの導入により、アプリケー ションの更新作業を自動化 クックパッド株式会社 開発者ブログより引用 http://techlife.cookpad.com/entry/2015/04/20/134758  前提条件 • WebアプリケーションサーバとしてDockerを採用 • アプリケーションの更新はDockerコンテナ単位で 実施 • 更新作業によるサービス停止は許容されない ◆Docker環境で構築されたシステムの運用自動化を実現
  • 15. Copyright © 2016 TIS Inc. All rights reserved. 15 アプリケーションの 更新はコンテナを入 れ替える形で実施 呼び出すコンテナの切り 替えは上位のnginxの設 定変更で対応 ②料理レシピ情報サイト運用(クックパット社)
  • 16. Copyright © 2016 TIS Inc. All rights reserved. 16  実現できたこと • 1つのシステムを複数のDockerコンテナの 組み合わせで構成 • クラスタ構成されたDockerサーバでの負荷 分散および冗長化の確保 • アプリケーションの更新および設定変更の 自動化  今後の課題 • コンテナ配置のワークロードの自動化 • コンテナ増減によるオートスケールの実現 ②料理レシピ情報サイト運用(クックパット社)
  • 17. Copyright © 2016 TIS Inc. All rights reserved. アジェンダ 1. 開発環境の事例 ① パッケージの保守開発環境(Works Applications社) 2. 本番環境の事例 ① 料理レシピ情報サイト運用(クックパット社) ② 大規模コマースサイト運用(Shopify社) ③ 研究機関の大規模バッチ運用 (国立情報学研究所) 3. Dockerの本番活用イメージ ① Webサイト環境イメージ ② バッチ環境イメージ 17
  • 18. Copyright © 2016 TIS Inc. All rights reserved. 18 ②大規模コマースサイト運用(Shopify社) Shopify ENGINEERING blogのGraeme Johnson氏の記事から引用 https://engineering.shopify.com/17489060-docker-at-shopify-how-we-built-containers- that-power-over-100-000-online-shops ◆10万テナントのショップサイトをDocker環境で実現
  • 19. Copyright © 2016 TIS Inc. All rights reserved. 19  導入方法 • コンテナ内部から不要な機能を除き、最小化 • コンテナの構築をDockerfileで自動化 • アプリケーションをDockerコンテナで動作させる ことを前提とする Containerizingを行った • 提供するアプリケーションを1つのコンテナに集約  導入後の効果 • 利用申し込みからテナントへのサービスの提供の自 動化を実現 • サービス提供までの時間短縮を実現 • リソース使用量の低減にも成功 • 現在は20万件以上のテナントにサービスを提供 ②大規模コマースサイト運用(Shopify社)
  • 20. Copyright © 2016 TIS Inc. All rights reserved. アジェンダ 1. 開発環境の事例 ① パッケージの保守開発環境(Works Applications社) 2. 本番環境の事例 ① 料理レシピ情報サイト運用(クックパット社) ② 大規模コマースサイト運用(Shopify社) ③ 研究機関の大規模バッチ運用 (国立情報学研究所) 3. Dockerの本番活用イメージ ① Webサイト環境イメージ ② バッチ環境イメージ 20
  • 21. Copyright © 2016 TIS Inc. All rights reserved. 21 ③研究機関の大規模バッチ運用 (国立情報学研究所) 国立情報学研究所(NII) 横山重俊先生の講演資料から引用 http://www.iic.hokudai.ac.jp/kyodo_kenkyu/cloud-week- 2015/document/20150909yokoyama.pdf  経緯 • 某事件の影響で遺伝子研究の分野でも論文の再現性 の検証を行うことが必須に • 論文の検証に再現には、巨大な遺伝子のデータを大 規模かつ複雑なソフトウェアでの解析が必須
  • 22. Copyright © 2016 TIS Inc. All rights reserved. 22 ③研究機関の大規模バッチ運用 (国立情報学研究所)  課題 • 巨大データの処理のために、各大学のリソースを1 つの大きなクラウドとして利用できる環境を実現 ⇒そのクラウド環境の運用負荷が課題に
  • 23. Copyright © 2016 TIS Inc. All rights reserved. 23 ③研究機関の大規模バッチ運用 (国立情報学研究所)  対応 • 遺伝子解析プログラムをDockerコンテナ化 • 遺伝子解析処理の超並列稼働と順序制御を自動化
  • 24. Copyright © 2016 TIS Inc. All rights reserved. まとめ:Dockerの本番導入事例からわかること これら導入事例をから、Dockerを本番で活用する為には以 下を考慮する必要があると考えられる。 24 ① Dockerコンテナは、同じ機能を大量かつ、並 列で動作させるのに適している。 ② 1つのコンテナには、稼働させる1つの機能 を搭載する。 ③ 搭載するアプリケーションもDockerコンテナ で動作させることを前提で開発する。 ④ Dockerを採用する最大の目的は、サービス提 供時間の短縮と運用の自動化である。
  • 25. Copyright © 2016 TIS Inc. All rights reserved. アジェンダ 1. 開発環境の事例 ① パッケージの保守開発環境(Works Applications社) 2. 本番環境の事例 ① 料理レシピ情報サイト運用(クックパット社) ② 大規模コマースサイト運用(Shopify社) ③ 研究機関の大規模バッチ運用 (国立情報学研究所) 3. Dockerの本番活用イメージ ① Webサイト環境イメージ ② バッチ環境イメージ 25
  • 26. Copyright © 2016 TIS Inc. All rights reserved. ①Webサイト環境 26
  • 27. Copyright © 2016 TIS Inc. All rights reserved. ①Webサイト環境 27 セッション層 アプリケーション層 永続データ層
  • 28. Copyright © 2016 TIS Inc. All rights reserved. ②バッチ環境イメージ 28 対象データの分割とコンテナの分散配置が肝
  • 29. Copyright © 2016 TIS Inc. All rights reserved. ②バッチ環境イメージ 29 東京工業大学 寛本英之先生 論文「科学技術計算における効率の良い複数拠点利用とそれを実現する ユーザ駆動型・拠点協調フレームワークの開発と検証」より引用 https://jhpcn-kyoten.itc.u-tokyo.ac.jp/ja/docH27/FinalRep/jh150042-MD03_FinalRep.pdf ◆Docker環境でも適用できそうなバッチの実装 複数のNodeに対して 全てのバッチ処理を要 求しておく
  • 30. Copyright © 2016 TIS Inc. All rights reserved. ②バッチ環境イメージ 30 別nodeで処理が開始 されたJOBはキャンセ ルする。
  • 31. Copyright © 2016 TIS Inc. All rights reserved. まとめ:Dockerの本番活用に必要なもの Dockerを活用した本番環境を稼働、運用する為には 『Docker環境に最適化されたアプリケーション +運用フレームワーク製品の開発』が必要 31 企業間の連携だけではなく、Dockerの活用についての知 見も実績も豊富な大学・研究機関との連携も行いたい http://www.iic.hokudai.ac.jp/kyodo_kenkyu/cloud-week-2016/