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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Masaki KOBAYASHI
October 08, 2018
Technology
1
59
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
150
筑波大学 情報学学位プログラム 説明会 学生発表
makky
1
110
大事なことは全てログファイルに書いてある
makky
0
72
Arm Treasure Data Internship 2018 Final Report
makky
0
910
Other Decks in Technology
See All in Technology
昔話で振り返るAWSの歩み ~S3誕生から20年、クラウドはどう進化したのか~
nrinetcom
PRO
0
100
Oracle Cloud Infrastructure(OCI):Onboarding Session(はじめてのOCI/Oracle Supportご利⽤ガイド)
oracle4engineer
PRO
2
16k
BFCacheを活用して無限スクロールのUX を改善した話
apple_yagi
0
130
夢の無限スパゲッティ製造機 #phperkaigi
o0h
PRO
0
380
Kiro Meetup #7 Kiro アップデート (2025/12/15〜2026/3/20)
katzueno
2
260
君はジョシュアツリーを知っているか?名前をつけて事象を正しく認識しよう / Do you know Joshua Tree?
ykanoh
4
140
データマネジメント戦略Night - 4社のリアルを語る会
ktatsuya
1
410
AgentCoreとLINEを使った飲食店おすすめアプリを作ってみた
yakumo
2
260
「お金で解決」が全てではない!大規模WebアプリのCI高速化 #phperkaigi
stefafafan
5
2.4k
Blue/Green Deployment を用いた PostgreSQL のメジャーバージョンアップ
kkato1
0
150
Datadog で実現するセキュリティ対策 ~オブザーバビリティとセキュリティを 一緒にやると何がいいのか~
a2ush
0
160
20260323_データ分析基盤でGeminiを使う話
1210yuichi0
0
190
Featured
See All Featured
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
200
Speed Design
sergeychernyshev
33
1.6k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
150
Building Applications with DynamoDB
mza
96
7k
GitHub's CSS Performance
jonrohan
1032
470k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
290
Mind Mapping
helmedeiros
PRO
1
130
The Curious Case for Waylosing
cassininazir
0
280
Technical Leadership for Architectural Decision Making
baasie
3
300
Making Projects Easy
brettharned
120
6.6k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
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