狠狠撸

狠狠撸Share a Scribd company logo
顿辞肠办别谤の事例绍介
自己紹介
●
名前
– 遠藤博樹
●
所属
– Works Applications
– ATE Div. 技術基盤開発グループ
●
仕事
– 主にインフラ技術の調査と社内展開
目次
●
エンタープライズ?
●
事例紹介
– 継続的インテグレーション
– 評価環境
– 開発環境
– DB運用
●
まとめ
●
エンタープライズ?
●
事例紹介
– 継続的インテグレーション
– 評価環境
– 開発環境
– DB運用
●
まとめ
製品の数と贩売形态
开発拠点
エンタープライズ?
●
製品の数が多く環境の入れ替えがよくある
●
古いバージョンの保守が定期的に必要
●
複数の国で同じ製品の開発をしている
●
エンタープライズ?
●
事例紹介
– 継続的インテグレーション
– 評価環境
– 開発環境
– DB運用
●
まとめ
継続的インテグレーション(CI)
?製品もバージョンもいっぱいあるんだよ?
今の開発の流れ
Jenkins GitLab
PullPush
Merge
Request
Hook!
Jobの起動
ビルド/テスト中
Pull
結果の記入
M
erge判
断
(1)(2)(3)
(4)
(5)
(6)
(8)
(7)
(9)
開発者
偉い人
CIの問題点
Jenkins
GitLab
tomcatのライブラリ
足りてないんですけど…
RubyやPythonの
バージョン違うんですけど???
Pull
Hardware
OS
ver0.8用実行環境
App ver0.5 Versionが違う!
あれ?
RedisのIP変わりました?
こんなNodeモジュール
知りません
重い…
CIの問題点
Jenkins GitLab
Jenkins
起動
環境準備
最初から
そうすればいいんですよ
Hardware
OS
ver0.5用実行環境
開発者サーバ管理者
Dockerを使ったCI環境
Jenkins GitLab
Pull
Hardware
Linux kernel
Bin/Libs
Docker
daemon ver0.5用環境
App ver0.5
Bin/Libs
Docker run
ビルド/テスト中
Docker
Image
ver0.8用環境
App ver0.8
Bin/Libs
Execute Shell
CI まとめ
CIのビルド/テスト実行環境をDockerで仮想化
●
起動が速いので
– 大量にくるマージリクエストを素早く処理できる
●
環境を簡単にパッケージ?名前付けできるので
– ソースコードと対応する环境を用意できる
評価環境
?作って終わりじゃないんだよ?
Web画面を伴う開発の流れ
Jenkins GitLab
M
erge判
断
tomcat
Deploy
結果の記入
偉い人
トラブル発生!
tomcat
Jenkins
DeployDeployDeploy Deploy
大トラブル発生!
tomcat
Jenkins
DeployDeployDeploy Deploy
複数のtomcatを作る手はある
tomcat
Jenkins
Deploy Deploy Deploy Deploy
tomcat tomcat tomcat
:8080 :8081 :8082 :8083
とりあえずDockerを使った
Jenkins
DeployDeployDeploy Deploy
改善した
Jenkins GitLab
docker run/
deploy
Hardware
Linux kernel
Bin/Libs
Docker
daemon Tomcat
war
Bin/Libs
Docker
Image
Tomcat
war
Bin/Libs
Merge
Request
Hook!
ジョブ起動
Jenkins
DeployDeployDeploy Deploy
GitLab
Jenkins GitLab
Marge
適用
Hook!
コンテナ終了処理
Jenkins GitLab
docker rm
Jenkins GitLab
評価まとめ
動作チェック用のアプリ実行環境をDockerで仮想化
●
仮想的に隔離されているので
– 誰かのアプリが問題を起こしても
影響が限定的
●
軽量なので
– 確認時のパフォーマンスにも影響しない
開発環境
?製品やバージョンごとにあるんだよ?
开発の问题点
痴颈谤迟耻补濒叠辞虫解决案
Dockerを使った開発環境
Hardware
Linux kernel
Bin/Libs
Docker
daemon Libs
xpra
Bin/Libs
Docker
Image
DB/Libs
Bin/Libs
Eclipse
xpra
コンテナ
Eclipse
(1) docker run
xpra
ID=10
(2) sessionxpra
(3) DISPLAY=10; exec eclipse
(4) view
(5) view
ホストPC
開発環境まとめ
開発のセット(Eclipseとかライブラリ)をDockerでパッケージ化
● Docker Registryがあるので
– 必要な環境をPullすれば使える
●
オーバーヘッドがないので
– 開発利用でも十分に利用できる
●
環境がパッケージ化されているので
– 終わったら環境を消すことも簡単
複数拠点DB運用
?海外拠点もあるんだよ?
同じデータベースを利用
東京のサーバ使って開発するの
遅いのでなんとかならないですか
オッケー!
Dockerを使ったDB環境
Master
Private Registry
東京
Slave
Private Registry
上海
Hardware
Linux kernel
Bin/Libs
Docker
daemon
DB
Bin/Libs
Hardware
Linux kernel
Bin/Libs
Docker
daemon
DB
Bin/Libs
Push
コピー
Pull
sync LOCAL FILE from S3 Bucket
選択の自由
データベース
今回はオフィス内のサーバ
データベース
DBのまとめ
複数拠点で使用するデータベースをDockerでパッケージ化
●
クラウドごとの差異や物理の違いを吸収できるので
– 状況に合ったインフラを選択し、同一環境を稼働できる
●
環境がパッケージ化されているので
– 同じ構成を東京と海外拠点で利用できる
●
オーバーヘッドがないので
– 开発利用でも十分に利用ができる
●
エンタープライズ?
●
事例紹介
– 継続的インテグレーション
– 評価環境
– 開発環境
– DB運用
●
まとめ
まとめ
●
事例紹介
– CI環境導入
– 開発環境導入
– 評価環境導入
– データベース環境導入
Thank you

More Related Content

顿辞肠办别谤の事例绍介