2010-07-15 DevLOVE 移行勉強会「我々が移行してきたのは、世界そのものだ。」のメモ
こくちーず http://kokucheese.com/event/index/3355/
Twitter公式タグ #devlove
場所 マイクロソフト新宿オフィス
※スライドを見てお話しを聴きながらのメモなので欠落があります。
■あいさつ
「移行」を扱った勉強会は今までなかった
■携帯サイトの移行 〜ピンクのクマさんお引っ越しの巻〜 佐藤洋三(@yoozoosato)氏 ソネットエンタテイメント
こんなものを移行した
ケータイポストペットパーク
要件はこれだっ!
既存会員のデータは全て保持
会員登録状態・購入履歴
key 個体識別番号
過去に配信していたデジタルコンテンツもすべて(待受画像・Flash)移行 4,000点くらい
切り戻し不可
移行元 Apache+Perl CGI+Sybase
方針はこうだ!
移行元の環境は使えないので新規に構築 Apache+PHP+MySQL
データはすべてコンバート
サーバ手配
ミドルウェアセットアップ
アプリ開発は外注
旧環境のリバースエンジニアリング・整理
移行リハーサル
ユーザデータの移行は開発会社と協力し、模擬移行を実施
コンテンツはデバッグも兼ねて新環境にインポート
移行本番
作業手順書を作成(コマンドも書いておく 実作業でコピペする)
旧環境の後片付け
バックアップ
サーバの片付け
問題が発生した!
移転直前に「入院なう」
チームメンバがバックアップしてくれた
ココには気をつけろ!
Webアプリなので切替はDNS
TTLを事前に短くしておく
10日前にやっておけば大丈夫 auは2時間キャッシュをもっている
リクエスト元が見えない→要注意
ケータイアプリ
外部システムからのリクエスト
見えないもの
<a href=...>が見えないもの
通信元が分からないならログを残す
FTPやmailのログも残す
移行が決まってから全部残す、でもよい
調べるのは cat *.log | awk {...} |uniq でOK
GUIは使わない
圧縮や転送は1つ1つコマンド
GUIには再現性がない CUIならスクリプトにできる
データの可視性重要
移行元から移行先に一発で移すスクリプトを組まない
途中で「人間が読める」フォーマットに落とす(CSV等)
CSVならエクセルで読める
こういう移行が理想
開発者がいる すぐそこにいて質問できる
バックアップは重要
体制的なバックアップ
平日日中>>>平日深夜>土日
深夜に作業してトラブルが起きて、担当者が捕まらなかったことがある
移行という作業の問題点
ゴールが見えない
どこまで調査すればいい?
ログ録りはいつから?
質問「移行の時はメンテ画面を出して止めたのか?止めずに実施したのか?」
移行時は止めた。メンテ画面を出した
日中予定を事情で別日の深夜 0:00-10:00 に実施
DNSのレコード切替を2回(メンテ画面にリダイレクトする切替、移行先に移す切替)
リハーサルで時間を計った
日中止めることについては、上には必要性を説いて納得してもらった
月末予定を月初に。月末は月極課金の更新なので、このときに止めると「ユーザの退会機会をうばう」とキャリアがうるさい
※質問したらポストペットのノベルティ(付箋紙)もらいました。ありがとうございます。(_ _)
■移行作業の半自動化 @kawashima氏
簡単移行作業についてご紹介
夜やることが多い→だからこそ自動化
本番作業では予期せぬ事件・事故がつきもの
半自動化=逐一確認しながら実行できるスクリプト
重要=対策しながら前進すること 切り戻しはどうせやらない
TeraTermのマクロを使う
パスワードの入力部分は「*****」と書いておけば、入力ダイアログが表示されて手入力になる
マクロに不備があっても直接操作してリカバれる
「実行→確認」のサイクル
実行時に確認ダイアログと音声が流れる(この音声が気になるw)
■LT 移行はつらいよ 奮闘編 わたびき(@bikisuke)氏
クレジットカードシステムのデータ移行のお話
2009年度JGGUG総会+スペシャルG*ワークショップの宣伝
■このあと参加者が4,5人にグルーピングしてダイアログ(ディスカッション)
コメント:
DevLoveには初参加でした。
グループダイアログは初めてでした。
(懇親会を兼ねて飲みながらだともっと話せたかもw)
「移行」はインフラ系勉強会のネタになりそう/ネタが多そうだなと。
「こうやった」とか「失敗談」「Tips」「やった人しか分からない(誰かに分かって欲しい)苦労話」など。
0 件のコメント:
コメントを投稿