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
Crowd4U Shikinensengu Project 2018
Search
Masaki KOBAYASHI
October 08, 2018
Technology
1
50
Crowd4U Shikinensengu Project 2018
Crowd4U 式年遷宮プロジェクト at Lab Camp 2018
Masaki KOBAYASHI
October 08, 2018
Tweet
Share
More Decks by Masaki KOBAYASHI
See All by Masaki KOBAYASHI
Human+AI Crowd Task Assignment Considering Result Quality Requirements (HCOMP2021)
makky
0
130
筑波大学 情報学学位プログラム 説明会 学生発表
makky
1
96
大事なことは全てログファイルに書いてある
makky
0
58
Arm Treasure Data Internship 2018 Final Report
makky
0
850
Other Decks in Technology
See All in Technology
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.6k
Contract One Dev Group 紹介資料
sansan33
PRO
0
6k
RDRA3.0を知ろう
kanzaki
2
440
OSMnx Galleryの紹介
mopinfish
0
150
Scale Security Programs with Scorecarding
ramimac
0
440
うちの会社の評判は?SNSの投稿分析にAIを使ってみた
doumae
0
360
Javaアプリケーションの配布とパッケージング / Distribution and packaging of Java applications
hogelog
1
360
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.2k
障害を回避するHttpClient再入門 / Avoiding Failures HttpClient Reintroduction
uskey512
1
220
Machine Intelligence for Vision, Language, and Actions
keio_smilab
PRO
0
500
AIの電力問題を概観する
rmaruy
1
220
GigaViewerにおけるMackerel APM導入の裏側
7474
0
460
Featured
See All Featured
Thoughts on Productivity
jonyablonski
69
4.7k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
42
2.3k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.6k
How to Ace a Technical Interview
jacobian
276
23k
Code Review Best Practice
trishagee
68
18k
Adopting Sorbet at Scale
ufuk
76
9.4k
Documentation Writing (for coders)
carmenintech
71
4.8k
Music & Morning Musume
bryan
47
6.6k
How STYLIGHT went responsive
nonsquared
100
5.6k
VelocityConf: Rendering Performance Case Studies
addyosmani
329
24k
Transcript
2018/10/06 M2 Masaki Kobayashi
式年遷宮とは 神社等において、周期を定めて社殿を更新し、新たな社殿に 神体を移すこと。三重県の伊勢神宮では天照大神を祭神と する内宮、豊受大神を祭る外宮ともに、20年ごとに、社殿を 新しく造営し祭神を遷座してきた。一般には、この神宮式年 遷宮のことを指す。 出典: (株)朝日新聞出版発行「知恵蔵」 2
式年遷宮とは 3 古い社殿 新しい社殿 ご神体を移す ※20年ごとに
Crowd4Uにおける式年遷宮 4 古いVM 新しいVM ご神体を移す ※20年ごとに(?)
なぜ式年遷宮が必要なのか 新しい機能を気軽に実装できる状態を維持したい 例: WebSocketを活用した機能を実装する •Crowd4Uで使われているApacheが古い •Apacheを更新した際のサーバやアプリへの影響が不明 •テストが全く書かれていないので影響の確認も困難 ※ 本番環境用の社殿(VM)は1つしかないので壊せない 5
式年遷宮で実現すること インフラ環境の近代化 6 Before 遷宮 After 遷宮 OS Scientific Linux
6.4 (2013-03-28) Ubuntu 16.04 Apache 2.2.15 (2013-08-13) 2.4.35 Ruby 1.9.3 (2011/10/31) 1.9.3 / 2.5.1 Sinatra 1.4.7 (2016-01-24) 1.4.7 MySQL 5.6.13 (2013-07-31) 5.7.x (予定) 気軽に切り替えら れるようにする コードの変更に関 わるやつは後から
式年遷宮を実現するために大切なこと Infrastructure as Code コンピューティング・インフラ(プロセス、ベアメタルサーバー、仮想 サーバー、など)の構成を管理したり、機械処理可能な定義ファイ ルを設定したり、プロビジョニングを自動化するプロセスである。 by Wikipedia =>コードによるインフラ構築の自動化
7
Vagrant: VM構築の自動化 8 $ vagrant up でVMが作れる
Ansible:構成管理の自動化 9
現在の状況 $ vagrant up •VM構築 •Crowd4Uに必要なミドルウェアの導入 •Crowd4U/Cylogの起動 •タスクが処理できることを確認済み 10 Infrastructure
as Code 最高!!
今後の話 •Vagrantで作ったVMを実運用する => 年内 •DBのバックアップ・レストア => 重要 •Ruby gemsの更新 (Sinatra,
mysql2, etc...) •DB Serverの更新 •WebAppとDBの分離 •全部テスト書く, ログ収集 11 ご神体 A ご神体 B バックアップ レストア バックアップし たやつ
次の式年遷宮に向けて (大前提) 次は式年遷宮と呼ばなくて済むように VMやコードの更新が手軽なら定期的である必要がない Vagrant/Ansible等のツールは時代に合わせて変えよう 要素ごとに別の何かに置き換えられるようにしておくべき そのために出来るだけコード化しておく 出来るだけシンプルに実装する 12
式年遷宮が終わったらやろうね〜〜 No 既存のコードが使えなくなるような変更しないつもりです => 軽微な機能修正や追加は式年遷宮には影響がないはず => 出来ればGitHubに変更をcommitしましょう 動作チェックは、現在の学生が作った実験タスクが動くかどうかで行っ ています (テストがないので)
=> 移行後に不具合が見つかったらその都度修正します => それぐらいの勢いがないと移行できないと思います
まとめ •Crowd4U式年遷宮プロジェクトで考えていることを 話しました •次の式年遷宮を見据えて、Infrastructure as Code を 意識して進めています •今年度中に本番環境で新しいVMを稼働させたい 動作テストとか色々お願いすると思うので宜しくおねがいします
14