Suche senden
Hochladen
10年続いているwebサービスの画像サーバをノーメンテでftpサーバからs3互換のストレージサーバに移行している話
•
27 gefällt mir
•
23,398 views
Masataka Kono
Folgen
PHPカンファレンスでの発表資料です
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 47
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
Laravelのeloquent だけ入れた話
Laravelのeloquent だけ入れた話
Masataka Kono
歴史あるWebサービスに携わって2年半の間に起きた事やった事
歴史あるWebサービスに携わって2年半の間に起きた事やった事
Masataka Kono
Mysqlを4.0から5.0を経由して5.6へバージョンアップした話
Mysqlを4.0から5.0を経由して5.6へバージョンアップした話
Masataka Kono
PHPerに覚えて欲しい日本語の重要性
PHPerに覚えて欲しい日本語の重要性
Rina Fukuda
YAPC::Asia 2012 CPANに恩返ししよう
YAPC::Asia 2012 CPANに恩返ししよう
azuma satoshi
PHPの拡張モジュールをGoで作る
PHPの拡張モジュールをGoで作る
Yoshio Hanawa
ググリワードを探す話
ググリワードを探す話
toru ishikawa
Phpでアプリケーションサーバー
Phpでアプリケーションサーバー
k-motoyan
Empfohlen
Laravelのeloquent だけ入れた話
Laravelのeloquent だけ入れた話
Masataka Kono
歴史あるWebサービスに携わって2年半の間に起きた事やった事
歴史あるWebサービスに携わって2年半の間に起きた事やった事
Masataka Kono
Mysqlを4.0から5.0を経由して5.6へバージョンアップした話
Mysqlを4.0から5.0を経由して5.6へバージョンアップした話
Masataka Kono
PHPerに覚えて欲しい日本語の重要性
PHPerに覚えて欲しい日本語の重要性
Rina Fukuda
YAPC::Asia 2012 CPANに恩返ししよう
YAPC::Asia 2012 CPANに恩返ししよう
azuma satoshi
PHPの拡張モジュールをGoで作る
PHPの拡張モジュールをGoで作る
Yoshio Hanawa
ググリワードを探す話
ググリワードを探す話
toru ishikawa
Phpでアプリケーションサーバー
Phpでアプリケーションサーバー
k-motoyan
PHP-MLを使用して気軽に機械学習にトライしてみる
PHP-MLを使用して気軽に機械学習にトライしてみる
Ryo Shibayama
PHPカンファレンス2013 今ドキのPHPの書き方 ~PHP逆引きレシピ改訂版~
PHPカンファレンス2013 今ドキのPHPの書き方 ~PHP逆引きレシピ改訂版~
Yuta Sakurai
PHP7の内部実装から学ぶ性能改善テクニック
PHP7の内部実装から学ぶ性能改善テクニック
Yoshio Hanawa
ウェブエンジニアとしての1年目を振り返って
ウェブエンジニアとしての1年目を振り返って
Kohki Yamagiwa
Quercus on gae公開版
Quercus on gae公開版
Yusuke Kawabata
あと一つプログラミング言語を 覚えたら死ぬ! 脳みそがパンクしそうな あなたのための nodeJSことはじめ
あと一つプログラミング言語を 覚えたら死ぬ! 脳みそがパンクしそうな あなたのための nodeJSことはじめ
文樹 高橋
PHPマニュアルの育て方
PHPマニュアルの育て方
Masahiro Takagi
2015年4月ペパボテックカンファレンス資料
2015年4月ペパボテックカンファレンス資料
buty4649
トークイベントいろいろ
トークイベントいろいろ
高見 知英
php-buildがいかに便利かを力説する
php-buildがいかに便利かを力説する
Yoshio Hanawa
PHP7の拡張モジュール事情
PHP7の拡張モジュール事情
Yoshio Hanawa
たのしい独自フレームワーク
たのしい独自フレームワーク
Kenta USAMI
bottle.pyをつかったチャットアプリ作成チュートリアル
bottle.pyをつかったチャットアプリ作成チュートリアル
Satoshi Yamada
Requestsで始める5分前帰社
Requestsで始める5分前帰社
Satoshi Yamada
PHP7はなぜ速いのか
PHP7はなぜ速いのか
Yoshio Hanawa
PHP7で変わること ——言語仕様とエンジンの改善ポイント
PHP7で変わること ——言語仕様とエンジンの改善ポイント
Yoshio Hanawa
PHPNGの動向
PHPNGの動向
Yoshio Hanawa
zval をダイエットしてみた
zval をダイエットしてみた
Yoshio Hanawa
2014 1-19
2014 1-19
Satoshi KOJIMA
究極のPHP本完成
究極のPHP本完成
Katsuhiro Ogawa
ライブコーディング・Androidのライブラリを作ってみよう
ライブコーディング・Androidのライブラリを作ってみよう
Masataka Kono
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介
Masataka Kono
Weitere ähnliche Inhalte
Was ist angesagt?
PHP-MLを使用して気軽に機械学習にトライしてみる
PHP-MLを使用して気軽に機械学習にトライしてみる
Ryo Shibayama
PHPカンファレンス2013 今ドキのPHPの書き方 ~PHP逆引きレシピ改訂版~
PHPカンファレンス2013 今ドキのPHPの書き方 ~PHP逆引きレシピ改訂版~
Yuta Sakurai
PHP7の内部実装から学ぶ性能改善テクニック
PHP7の内部実装から学ぶ性能改善テクニック
Yoshio Hanawa
ウェブエンジニアとしての1年目を振り返って
ウェブエンジニアとしての1年目を振り返って
Kohki Yamagiwa
Quercus on gae公開版
Quercus on gae公開版
Yusuke Kawabata
あと一つプログラミング言語を 覚えたら死ぬ! 脳みそがパンクしそうな あなたのための nodeJSことはじめ
あと一つプログラミング言語を 覚えたら死ぬ! 脳みそがパンクしそうな あなたのための nodeJSことはじめ
文樹 高橋
PHPマニュアルの育て方
PHPマニュアルの育て方
Masahiro Takagi
2015年4月ペパボテックカンファレンス資料
2015年4月ペパボテックカンファレンス資料
buty4649
トークイベントいろいろ
トークイベントいろいろ
高見 知英
php-buildがいかに便利かを力説する
php-buildがいかに便利かを力説する
Yoshio Hanawa
PHP7の拡張モジュール事情
PHP7の拡張モジュール事情
Yoshio Hanawa
たのしい独自フレームワーク
たのしい独自フレームワーク
Kenta USAMI
bottle.pyをつかったチャットアプリ作成チュートリアル
bottle.pyをつかったチャットアプリ作成チュートリアル
Satoshi Yamada
Requestsで始める5分前帰社
Requestsで始める5分前帰社
Satoshi Yamada
PHP7はなぜ速いのか
PHP7はなぜ速いのか
Yoshio Hanawa
PHP7で変わること ——言語仕様とエンジンの改善ポイント
PHP7で変わること ——言語仕様とエンジンの改善ポイント
Yoshio Hanawa
PHPNGの動向
PHPNGの動向
Yoshio Hanawa
zval をダイエットしてみた
zval をダイエットしてみた
Yoshio Hanawa
2014 1-19
2014 1-19
Satoshi KOJIMA
究極のPHP本完成
究極のPHP本完成
Katsuhiro Ogawa
Was ist angesagt?
(20)
PHP-MLを使用して気軽に機械学習にトライしてみる
PHP-MLを使用して気軽に機械学習にトライしてみる
PHPカンファレンス2013 今ドキのPHPの書き方 ~PHP逆引きレシピ改訂版~
PHPカンファレンス2013 今ドキのPHPの書き方 ~PHP逆引きレシピ改訂版~
PHP7の内部実装から学ぶ性能改善テクニック
PHP7の内部実装から学ぶ性能改善テクニック
ウェブエンジニアとしての1年目を振り返って
ウェブエンジニアとしての1年目を振り返って
Quercus on gae公開版
Quercus on gae公開版
あと一つプログラミング言語を 覚えたら死ぬ! 脳みそがパンクしそうな あなたのための nodeJSことはじめ
あと一つプログラミング言語を 覚えたら死ぬ! 脳みそがパンクしそうな あなたのための nodeJSことはじめ
PHPマニュアルの育て方
PHPマニュアルの育て方
2015年4月ペパボテックカンファレンス資料
2015年4月ペパボテックカンファレンス資料
トークイベントいろいろ
トークイベントいろいろ
php-buildがいかに便利かを力説する
php-buildがいかに便利かを力説する
PHP7の拡張モジュール事情
PHP7の拡張モジュール事情
たのしい独自フレームワーク
たのしい独自フレームワーク
bottle.pyをつかったチャットアプリ作成チュートリアル
bottle.pyをつかったチャットアプリ作成チュートリアル
Requestsで始める5分前帰社
Requestsで始める5分前帰社
PHP7はなぜ速いのか
PHP7はなぜ速いのか
PHP7で変わること ——言語仕様とエンジンの改善ポイント
PHP7で変わること ——言語仕様とエンジンの改善ポイント
PHPNGの動向
PHPNGの動向
zval をダイエットしてみた
zval をダイエットしてみた
2014 1-19
2014 1-19
究極のPHP本完成
究極のPHP本完成
Andere mochten auch
ライブコーディング・Androidのライブラリを作ってみよう
ライブコーディング・Androidのライブラリを作ってみよう
Masataka Kono
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介
Masataka Kono
Phpcon2015
Phpcon2015
Hiroshi Tokumaru
サンタクロースを支えるIT技術 @M_Ishikawa #yapcasia
サンタクロースを支えるIT技術 @M_Ishikawa #yapcasia
Masayuki Ishikawa
Behat Driven Development
Behat Driven Development
Ryo Tomidokoro
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Tomoki Hasegawa
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
ichikaway
PHPの今とこれから2015
PHPの今とこれから2015
Rui Hirokawa
営業・運用を支える "気付ける" 管理画面
営業・運用を支える "気付ける" 管理画面
Masao Maeda
Visual Studio Code #phpcon2015
Visual Studio Code #phpcon2015
Aya Tokura
PHPer女子が語る2015!こんなコードを書くヒトはモテない〜コラボ編〜@PHPカンファレンス2015 #phpcon2015
PHPer女子が語る2015!こんなコードを書くヒトはモテない〜コラボ編〜@PHPカンファレンス2015 #phpcon2015
Hikari Fukasawa
PHPデプロイツールの世界
PHPデプロイツールの世界
Yuuki Takezawa
WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側
Yusuke Naka
いまどきのPHP開発現場 -2015年秋-
いまどきのPHP開発現場 -2015年秋-
Masashi Shinbara
MySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいこと
yoku0825
Android lint-srp-practice
Android lint-srp-practice
cch-robo
ビジュアル構文解析
ビジュアル構文解析
ichikaz3
DB設計でこだわりたい三つの要素
DB設計でこだわりたい三つの要素
Takahiro YAMADA
よくある業務開発の自動化事情 #jjug_ccc #ccc_cd3
よくある業務開発の自動化事情 #jjug_ccc #ccc_cd3
irof N
強くなるためのプログラミング -プログラミングに関する様々なコンテストとそのはじめ方-#pyconjp
強くなるためのプログラミング -プログラミングに関する様々なコンテストとそのはじめ方-#pyconjp
cocodrips
Andere mochten auch
(20)
ライブコーディング・Androidのライブラリを作ってみよう
ライブコーディング・Androidのライブラリを作ってみよう
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介
Phpcon2015
Phpcon2015
サンタクロースを支えるIT技術 @M_Ishikawa #yapcasia
サンタクロースを支えるIT技術 @M_Ishikawa #yapcasia
Behat Driven Development
Behat Driven Development
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
PHPの今とこれから2015
PHPの今とこれから2015
営業・運用を支える "気付ける" 管理画面
営業・運用を支える "気付ける" 管理画面
Visual Studio Code #phpcon2015
Visual Studio Code #phpcon2015
PHPer女子が語る2015!こんなコードを書くヒトはモテない〜コラボ編〜@PHPカンファレンス2015 #phpcon2015
PHPer女子が語る2015!こんなコードを書くヒトはモテない〜コラボ編〜@PHPカンファレンス2015 #phpcon2015
PHPデプロイツールの世界
PHPデプロイツールの世界
WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側
いまどきのPHP開発現場 -2015年秋-
いまどきのPHP開発現場 -2015年秋-
MySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいこと
Android lint-srp-practice
Android lint-srp-practice
ビジュアル構文解析
ビジュアル構文解析
DB設計でこだわりたい三つの要素
DB設計でこだわりたい三つの要素
よくある業務開発の自動化事情 #jjug_ccc #ccc_cd3
よくある業務開発の自動化事情 #jjug_ccc #ccc_cd3
強くなるためのプログラミング -プログラミングに関する様々なコンテストとそのはじめ方-#pyconjp
強くなるためのプログラミング -プログラミングに関する様々なコンテストとそのはじめ方-#pyconjp
Kürzlich hochgeladen
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
Kürzlich hochgeladen
(8)
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
10年続いているwebサービスの画像サーバをノーメンテでftpサーバからs3互換のストレージサーバに移行している話
1.
10年続いているWebサービスの 画像サーバをノーメンテで FTPサーバからS3互換のストレー ジサーバに移行している話 GMO Pepabo, Inc. Masataka
Kono 2015-10-03 PHPカンファレンス
2.
自己紹介 ● カラーミーショップのエンジニア ● ペパボに入社して2年9ヶ月 ●
Webプログラマー歴も2年9ヶ月 ● PHPerです ● Twitterは @mapyo です ● みんなからは「ぼいらー」
3.
ぼいらー? ぼいらー?
4.
ペパボはあだ名で呼び合う文化がある。 入社するとあだ名どうする?という会話がある。 ペパボに入った時に、最初に開かれた飲み会で過去 に半年間ほどボイラーのメンテナンスをしていたという 経験を話したら、次の日から、 ぼいらーと呼ばれるようになってた。
5.
お話させて頂く内容 ● 講演のタイトルに出てくる用語の説明 ● 移行のイメージ ●
ファイルアクセスを抽象化してくれるライブラリを 探したりPHP5.3対応したり ● 画像サーバとのやり取りを共通化 ● ひたすらリファクタリング ● 具体的なデータの移行の方法 ● ひたすら移行していく
6.
講演のタイトル 10年続いているWebサービスの 画像サーバをノーメンテで FTPサーバからS3互換のストレー ジサーバに移行している話
7.
講演のタイトルに出てくる用語の説明 ● 10年続いているWebサービスとは? ● 画像サーバ(FTPサーバ)とは? ●
S3互換のストレージサーバとは?
8.
10年続いているWeb サービスとは?
9.
10.
カラーミーショップ ● 10年続くネットショップ運営サービス ● 大部分はPHP ●
独自フレームワーク ● Rails(公開api) ● CoffeeScript ● AngularJS ● エンジニア募集中!
11.
画像サーバ(FTPサーバ) とは?
12.
画像サーバ(FTPサーバ)の定義 ● ブラウザでアップした商品画像などのファイル置き場 ● 直接FTPサーバにユーザさんがアクセスする事はない ●
全部で18台。総容量6T弱 ● 4ロールでFTPサーバにアクセス
13.
画像サーバの参照方法 CDN経由で全てアクセスされる
14.
S3互換のストレージサー バとは?
15.
S3互換のストレージサーバ ● 今回の移行プロジェクトと同時に開始 ● 社内用の大統一オブジェクトストレージサービス ●
APIがS3互換で裏側がMogileFS ● S3のAPIが使用可能(全てではない) ● Bayt(ベイト)と名付けられました ● 今回のお話では一先ずS3と思って頂けると。 ※僕は作ってません。 ※この細かい話は出てきません ※詳細は第3回ペパボテックカンファレンスで発表されたスライドをご確認ください。
16.
http://www.slideshare. net/lamanotrama/mogilefsprivate-s3
17.
http://www.slideshare.net/hiboma/mogilefs- private-s3-api
18.
移行のイメージ ● FTPサーバとやり取りしているロジックを1箇所 に集約 ● そのロジックを変更してS3互換サーバに更新が かかるように ※データの移行方法については後ほど説明します。 ※言うのは簡単だけどやるのは大変。。。
19.
ライブラリを探す ● ファイルアクセスを抽象化してくれるライブラリ ● FTPからS3互換サーバに移行した時に同じイン ターフェースになるように。 ●
自作するのはそれなり手間がかかりそうだ なぁ。
20.
Flysystem ● GitHubのスター数は2000以上! ● FTP,
S3だけじゃなくてLocalとかDropboxとか Azureとかいろいろ ● Laravel, Symfony, Zendなど、メジャーなフレー ムワークで簡単に使える仕組みも用意されてい る https://github.com/thephpleague/flysystem
21.
http://flysystem.thephpleague.com/api/
22.
めっちゃ便利そう!!
23.
あ、、、
24.
https://github. com/thephpleague/flysystem/blob/master/comp
25.
PHPのバージョンの壁 ● サービスでメインで動いているPHPのバージョンは5.3系 ● とはいえ、今からPHPのバージョンアップに時間は裂けな い。。 ●
他にもあったけど、機能が足りなかった ● 最初は、このライブラリの実装を参考に5.3でも動くようにし ていた。 ● でも、コピペしてPHP5.3対応してるだけな感じ。。。
26.
FlysystemをPHP5.3で も動くようにしよう! よし!
27.
という事で動くようにしました https://github.com/mapyo/flysystem https://github.com/mapyo/flysystem-aws-s3-v2
28.
やったこと ● PHP5.3でテストを動かす ● テストコードをPHP5.3対応 ●
テストを実行 ● ひたすら直す! ● []→array() ● traitをよしなに対応 ● Travisで一応5.3〜5.6のテストは通っている
29.
画像サーバとのやり取りを共通化! ● Flysystemを使いつつ、画像サーバ特有の処理 を共通化したものを作る ● しかし、4つのロールで画像サーバとやりとりす る処理がある ●
コピペコードにならないように社内用の Composerライブラリに追加。テストも書いた。
30.
ひたすらリファクタリング!!! ● 画面は50画面近く。細かい修正もいれるともっ とあった。 ● グローバル関数やグローバル変数との戦い ●
FTPのコネクションをグローバル変数に入れて いくつかのグローバル関数で使いまわしてたり ● ある程度まとまったグローバル関数たちをまと めてクラス化したり
31.
● 移行の話が出てきてから、リファクタリングが一 通り終った期間が4ヶ月間くらい。 ● 一人で粛々と仕様を決めてリファクタリングしま くってた (こればっかりやってたわけではなくて、作業待ち の時間もありました) リファクタリングは無事終了。
32.
ノーメンテで画像データ を移行する方法
33.
ノーメンテで画像データを移行する方法 1. APPサーバからFTPサーバとS3互換サーバの 両方に更新されるように修正 2. FTPサーバからS3互換サーバへファイルをイン ポートする 3.
FTPサーバになくて、S3互換サーバにあるファ イルをS3互換サーバから消す。 4. CDNの接続先を切り替える(FTP→S3) 5. FTPとS3両方に更新していた処理をやめる
34.
1.FTPサーバとS3互換サーバ両方に更新 追加、更新、削除 (put, delete) 画像サーバにアップする 処理を共通化しているの で、変更箇所は共通化し た部分のみ! 移行を始める時にこの 機能をまずはリリース。
35.
2.FTPからS3サーバにファイルを送る 1. rsyncする 2. インポートする ※一工夫あり
36.
インポートする処理について ● s3cmdを使ってファイルをputする ● 既にファイルがある場合はputをスキップ ●
つまり、S3互換サーバにないファイルのみput する ※ちょっとややこしいのでもう一回戻って説明しま す。 ※1パターンを除いてこれで対応可能
37.
別途対応しないといけないパターン ● rsync〜インポートするまでの時間に、削除され たファイル。 ● S3互換サーバに削除されたファイルが残ってし まうので消す ※もう一回戻りましょう。
38.
3.余分なファイルの削除とチェック ● S3互換サーバからファイルの一覧取得 ● FTPサーバからファイルの一覧取得 ●
2つを比較 ● S3互換サーバにあって、FTPサーバにないもの をS3互換サーバから削除 PHPで削除用スクリプトを作って対応
39.
4.CDNの接続先を切り替える 変更前
40.
4.CDNの接続先を切り替える 変更後
41.
5.画像を同時に更新する処理をやめる
42.
以上でノーメンテで切り 替えできました! やったー!!!
43.
この作業を×18台! ● 1台につき、3日〜4日くらい ● 並列で進められる部分は進めた ●
インポートの処理が負荷の関係で並列で出来なかった ● だいたい3ヶ月くらいかかった。 しかし!
44.
先月、無事に全台移行 が完了しました! やったー!!!1 そして、、、
45.
最後に ● 画像サーバを移行しようという話が出たのが今 年の1月。 ● そこからどうしようか考えて共通処理作ってリ ファクタリングしてデータを移行して終ったのが 9月 ●
長かった。。。。
46.
最後に2 ● ユーザさんとしては全く普段と変わらない ● しかし、裏側の仕組みはガラリと変わっている ●
というのがなんか面白かった ● 大きな障害もなく、無事移行が完了出来たのが 一番よかった!!!
47.
ありがとうございまし た!!! 以上です!!
Jetzt herunterladen