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
54
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
140
筑波大学 情報学学位プログラム 説明会 学生発表
makky
1
100
大事なことは全てログファイルに書いてある
makky
0
65
Arm Treasure Data Internship 2018 Final Report
makky
0
880
Other Decks in Technology
See All in Technology
メッセージ駆動が可能にする結合の最適化
j5ik2o
6
820
AIエージェントによるエンタープライズ向けスライド検索!
shibuiwilliam
4
630
明日から真似してOk!NOT A HOTELで実践している入社手続きの自動化
nkajihara
1
870
ABEJA FIRST GUIDE for Software Engineers
abeja
0
3.2k
事業状況で変化する最適解。進化し続ける開発組織とアーキテクチャ
caddi_eng
1
4.2k
持続可能なアクセシビリティ開発
azukiazusa1
6
280
マルチドライブアーキテクチャ: 複数の駆動力でプロダクトを前進させる
knih
0
6.7k
adk-samples に学ぶデータ分析 LLM エージェント開発
na0
2
150
膨大なデータをどうさばく? Java × MQで作るPub/Subアーキテクチャ
zenta
0
120
re:Invent2025 事前勉強会 歴史と愉しみ方10分LT編
toshi_atsumi
0
220
やり方は一つだけじゃない、正解だけを目指さず寄り道やその先まで自分流に楽しむ趣味プログラミングの探求 2025-11-15 YAPC::Fukuoka
sugyan
3
910
雲勉LT_Amazon Bedrock AgentCoreを知りAIエージェントに入門しよう!
ymae
2
170
Featured
See All Featured
Statistics for Hackers
jakevdp
799
230k
GitHub's CSS Performance
jonrohan
1032
470k
Agile that works and the tools we love
rasmusluckow
331
21k
A Modern Web Designer's Workflow
chriscoyier
697
190k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
Speed Design
sergeychernyshev
32
1.2k
Why Our Code Smells
bkeepers
PRO
340
57k
Rails Girls Zürich Keynote
gr2m
95
14k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.8k
[RailsConf 2023] Rails as a piece of cake
palkan
57
6.1k
Being A Developer After 40
akosma
91
590k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
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