Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Crowd4U Shikinensengu Project 2018
Masaki KOBAYASHI
October 08, 2018
Technology
1
40
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
44
筑波大学 情報学学位プログラム 説明会 学生発表
makky
1
77
大事なことは全てログファイルに書いてある
makky
0
40
Arm Treasure Data Internship 2018 Final Report
makky
0
710
Other Decks in Technology
See All in Technology
私見「UNIXの考え方」/20230124-kameda-unix-phylosophy
opelab
0
160
PCI DSS に準拠したシステム開発
yutadayo
0
310
エアドロップ for オープンソースプロジェクト
epicsdao
0
390
01_ユーザーリサーチ実施の進め方
kouzoukaikaku
0
350
Oracle Transaction Manager for Microservices Free 22.3 製品概要
oracle4engineer
PRO
5
100
Multi-Cloud Gatewayでデータを統治せよ!/ Data Federation with MCG
tutsunom
1
220
Hatena Engineer Seminar #23 「チームとプロダクトを育てる Mackerel 開発合宿」
arthur1
0
390
ChatGPT for Hacking
anugrahsr
0
4.3k
OCIコンテナサービス関連の技術詳細 /oke-ocir-details
oracle4engineer
PRO
0
770
Kaggleシミュレーションコンペの動向
nagiss
0
260
MoT/コネヒト/Kanmu が語るプロダクト開発xデータ分析 - 分析から機械学習システムの開発まで一人で複数ロールを担う大変さ
masatakashiwagi
3
710
LINE iOSエンジニアの日々 / LINE iOS Engineer Days
line_developers
PRO
1
150
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
13
1.1k
Six Lessons from altMBA
skipperchong
15
2.3k
The Invisible Customer
myddelton
113
12k
Designing the Hi-DPI Web
ddemaree
273
32k
Fontdeck: Realign not Redesign
paulrobertlloyd
74
4.3k
5 minutes of I Can Smell Your CMS
philhawksworth
198
18k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
24
4.5k
Side Projects
sachag
451
37k
Building Applications with DynamoDB
mza
85
5k
Fireside Chat
paigeccino
16
1.8k
Agile that works and the tools we love
rasmusluckow
320
20k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
239
19k
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