SlideShare a Scribd company logo
1 of 24
レガシーPHPアプリ(10年もの)を
運用している話
2014/07/26
TechOYAJI~ドキッ!おやじだらけのLT大会!ポロリもあるよ
自己紹介
• ひろのぶ(@hironobu_s)
• かいはつしゃ
• 所属:GMOインターネット
最近はお名前.comの開発をしています
ところで
ConoHaの中の人になりました
このイベントに申し込
んでから4日後に
異動!!!
今後ともよろしくお願いします
レガシーPHP
10年前
新卒で入社したときに、
ちょっとしたシステムを
作りました
• 10人くらいで使う、営業管理システム
• 名前、住所、電話番号など
• 典型的な顧客管理システム
• Excelだったものを、Webシステムに!
• 当時のBOSSから1週間でやれと言われて作っ
た
こんなの
(社内向けなので自主規制)
10年後の2014年・・・
2014年現在の状況
• グループ会社4社の営業部門で稼働中
• 一部門あたり30人〜100人以上
• 数百万件規模のお客様情報、対応履歴
• 偉い人達が「ビックデータだ」とか言いだして
いる
見た目は変わってない
規模だけ大きくなった
(社内向けなので自主規制)
我ながらよく動いてる
なと思います
10年も使うとは思ってなかった・・・
開発時(10年前)の構成
• PHP3 PHP4.0.6
(当初はPHP3で開発、途中からPHP4に)
• Mojvahiフレームワーク + Smarty
(開発終了。オフィシャルサイトは消滅)
• PostgreSQL7.4
(VACUUMするとテーブルが排他ロックされてた)
• Redhat Linux 9
(RHELじゃないですよ。無償版RedhatLinux)
現在の構成
• PHP5.4
• PostgreSQL8.4
• CentOS6
• 社内ホストでKVM上の仮想マシンとして動作
PHPのバージョンアップがきつい
• 特にPHP3→PHP4のメジャーアップデート
• PHP4→PHP5はフレームワークの修正が多数
• PHP5系では下位互換がある程度考えられてい
るようなので、あまり苦労はしていない。
10年運用して
わかったこと
良い話(1)
• システムを導入した営業部門がどこも協
力的だった
• 稼働後の要件変更が少なかった
• 使われ方が決まっているため、トラフィ
ックが安定していた
良い話(2)
• 休日はいつでもメンテナンスが行えた
• 営業部門が会社の大きな収益柱となっている
• グループ会社にもシステムが採用され、予算や
運用リソースの確保が容易になった
• Salesforceの見積もりがとても高額だった
次の10年へ・・・?
スーパーレガシーPHP
へ!
完

More Related Content

Similar to レガシーPHPアプリ(10年もの)を運用している話

ABC Wowds 2013 / Webデザイナーのためのフレームワーク a-blog cms 入門
ABC Wowds 2013 / Webデザイナーのためのフレームワーク a-blog cms 入門ABC Wowds 2013 / Webデザイナーのためのフレームワーク a-blog cms 入門
ABC Wowds 2013 / Webデザイナーのためのフレームワーク a-blog cms 入門Kazumich YAMAMOTO
 
爆速フレームワークでREST APIを作った話
爆速フレームワークでREST APIを作った話爆速フレームワークでREST APIを作った話
爆速フレームワークでREST APIを作った話Shohei Tai
 
5年しかもたない最高のシステムとの向き合い方
5年しかもたない最高のシステムとの向き合い方5年しかもたない最高のシステムとの向き合い方
5年しかもたない最高のシステムとの向き合い方Jumpei iwamura
 
PHP7ではなくHack/HHVMを選ぶ理由
PHP7ではなくHack/HHVMを選ぶ理由PHP7ではなくHack/HHVMを選ぶ理由
PHP7ではなくHack/HHVMを選ぶ理由Yuji Otani
 
雑兵なのに副業をやってみた
雑兵なのに副業をやってみた雑兵なのに副業をやってみた
雑兵なのに副業をやってみたShota Inoue
 
チームを改善していったら開発と営業が一緒になった件
チームを改善していったら開発と営業が一緒になった件チームを改善していったら開発と営業が一緒になった件
チームを改善していったら開発と営業が一緒になった件Tatsuya Sakai
 
歴史あるWebサービスに携わって2年半の間に起きた事やった事
歴史あるWebサービスに携わって2年半の間に起きた事やった事歴史あるWebサービスに携わって2年半の間に起きた事やった事
歴史あるWebサービスに携わって2年半の間に起きた事やった事Masataka Kono
 
今さら聞けないHTMLとCSSについて
今さら聞けないHTMLとCSSについて今さら聞けないHTMLとCSSについて
今さら聞けないHTMLとCSSについてTakahiro Kamiya
 
原宿で託児所とシステムを作ってみた
原宿で託児所とシステムを作ってみた原宿で託児所とシステムを作ってみた
原宿で託児所とシステムを作ってみたKouhei Ohi
 
KANAZAWA アプリ開発塾 2015 アプリ制作マスターへの道
KANAZAWA アプリ開発塾 2015 アプリ制作マスターへの道KANAZAWA アプリ開発塾 2015 アプリ制作マスターへの道
KANAZAWA アプリ開発塾 2015 アプリ制作マスターへの道Masayuki KaToH
 
Solrで日本語全文検索システムの構築と応用
Solrで日本語全文検索システムの構築と応用Solrで日本語全文検索システムの構築と応用
Solrで日本語全文検索システムの構築と応用Syuta Hashimoto
 
Go言語のフレームワークRevelの紹介とサービスにおける活用事例
Go言語のフレームワークRevelの紹介とサービスにおける活用事例Go言語のフレームワークRevelの紹介とサービスにおける活用事例
Go言語のフレームワークRevelの紹介とサービスにおける活用事例Yuji Otani
 
アプリ制作マスターへの道
アプリ制作マスターへの道アプリ制作マスターへの道
アプリ制作マスターへの道Masayuki KaToH
 
RPAってツールですか?
RPAってツールですか?RPAってツールですか?
RPAってツールですか?YasuharuMori2
 
起業から3年間を支えてくれた kintoneとChatOps_オルターブース
起業から3年間を支えてくれた kintoneとChatOps_オルターブース起業から3年間を支えてくれた kintoneとChatOps_オルターブース
起業から3年間を支えてくれた kintoneとChatOps_オルターブースCybozucommunity
 
making an magazine with XP-practices
making an magazine with XP-practicesmaking an magazine with XP-practices
making an magazine with XP-practicesKenji Hiranabe
 
デンキヤギの採用の考え方
デンキヤギの採用の考え方デンキヤギの採用の考え方
デンキヤギの採用の考え方terurou
 
Dataflow(python)を触った所感
Dataflow(python)を触った所感Dataflow(python)を触った所感
Dataflow(python)を触った所感Ryo Yamaoka
 
自社開発をしていなかった会社が Python を選んだ理由
自社開発をしていなかった会社が Python を選んだ理由自社開発をしていなかった会社が Python を選んだ理由
自社開発をしていなかった会社が Python を選んだ理由Daisuke Komatsu
 

Similar to レガシーPHPアプリ(10年もの)を運用している話 (20)

ABC Wowds 2013 / Webデザイナーのためのフレームワーク a-blog cms 入門
ABC Wowds 2013 / Webデザイナーのためのフレームワーク a-blog cms 入門ABC Wowds 2013 / Webデザイナーのためのフレームワーク a-blog cms 入門
ABC Wowds 2013 / Webデザイナーのためのフレームワーク a-blog cms 入門
 
爆速フレームワークでREST APIを作った話
爆速フレームワークでREST APIを作った話爆速フレームワークでREST APIを作った話
爆速フレームワークでREST APIを作った話
 
5年しかもたない最高のシステムとの向き合い方
5年しかもたない最高のシステムとの向き合い方5年しかもたない最高のシステムとの向き合い方
5年しかもたない最高のシステムとの向き合い方
 
PHP7ではなくHack/HHVMを選ぶ理由
PHP7ではなくHack/HHVMを選ぶ理由PHP7ではなくHack/HHVMを選ぶ理由
PHP7ではなくHack/HHVMを選ぶ理由
 
雑兵なのに副業をやってみた
雑兵なのに副業をやってみた雑兵なのに副業をやってみた
雑兵なのに副業をやってみた
 
チームを改善していったら開発と営業が一緒になった件
チームを改善していったら開発と営業が一緒になった件チームを改善していったら開発と営業が一緒になった件
チームを改善していったら開発と営業が一緒になった件
 
歴史あるWebサービスに携わって2年半の間に起きた事やった事
歴史あるWebサービスに携わって2年半の間に起きた事やった事歴史あるWebサービスに携わって2年半の間に起きた事やった事
歴史あるWebサービスに携わって2年半の間に起きた事やった事
 
今さら聞けないHTMLとCSSについて
今さら聞けないHTMLとCSSについて今さら聞けないHTMLとCSSについて
今さら聞けないHTMLとCSSについて
 
原宿で託児所とシステムを作ってみた
原宿で託児所とシステムを作ってみた原宿で託児所とシステムを作ってみた
原宿で託児所とシステムを作ってみた
 
Aizu.LT #16
Aizu.LT #16Aizu.LT #16
Aizu.LT #16
 
KANAZAWA アプリ開発塾 2015 アプリ制作マスターへの道
KANAZAWA アプリ開発塾 2015 アプリ制作マスターへの道KANAZAWA アプリ開発塾 2015 アプリ制作マスターへの道
KANAZAWA アプリ開発塾 2015 アプリ制作マスターへの道
 
Solrで日本語全文検索システムの構築と応用
Solrで日本語全文検索システムの構築と応用Solrで日本語全文検索システムの構築と応用
Solrで日本語全文検索システムの構築と応用
 
Go言語のフレームワークRevelの紹介とサービスにおける活用事例
Go言語のフレームワークRevelの紹介とサービスにおける活用事例Go言語のフレームワークRevelの紹介とサービスにおける活用事例
Go言語のフレームワークRevelの紹介とサービスにおける活用事例
 
アプリ制作マスターへの道
アプリ制作マスターへの道アプリ制作マスターへの道
アプリ制作マスターへの道
 
RPAってツールですか?
RPAってツールですか?RPAってツールですか?
RPAってツールですか?
 
起業から3年間を支えてくれた kintoneとChatOps_オルターブース
起業から3年間を支えてくれた kintoneとChatOps_オルターブース起業から3年間を支えてくれた kintoneとChatOps_オルターブース
起業から3年間を支えてくれた kintoneとChatOps_オルターブース
 
making an magazine with XP-practices
making an magazine with XP-practicesmaking an magazine with XP-practices
making an magazine with XP-practices
 
デンキヤギの採用の考え方
デンキヤギの採用の考え方デンキヤギの採用の考え方
デンキヤギの採用の考え方
 
Dataflow(python)を触った所感
Dataflow(python)を触った所感Dataflow(python)を触った所感
Dataflow(python)を触った所感
 
自社開発をしていなかった会社が Python を選んだ理由
自社開発をしていなかった会社が Python を選んだ理由自社開発をしていなかった会社が Python を選んだ理由
自社開発をしていなかった会社が Python を選んだ理由
 

More from Hironobu Saitoh

パブリッククラウドConoHaを使ってOpenStack APIを理解する
パブリッククラウドConoHaを使ってOpenStack APIを理解するパブリッククラウドConoHaを使ってOpenStack APIを理解する
パブリッククラウドConoHaを使ってOpenStack APIを理解するHironobu Saitoh
 
出張このべん in 大阪
出張このべん in 大阪出張このべん in 大阪
出張このべん in 大阪Hironobu Saitoh
 
このべん第5回 ConoHaでWordPressのお勉強!
このべん第5回 ConoHaでWordPressのお勉強!このべん第5回 ConoHaでWordPressのお勉強!
このべん第5回 ConoHaでWordPressのお勉強!Hironobu Saitoh
 
ConoHaにおける オブジェクトストレージの 利用動向
ConoHaにおける オブジェクトストレージの 利用動向ConoHaにおける オブジェクトストレージの 利用動向
ConoHaにおける オブジェクトストレージの 利用動向Hironobu Saitoh
 
ConoHa VPSの コマンドラインツールを作った
ConoHa VPSの コマンドラインツールを作ったConoHa VPSの コマンドラインツールを作った
ConoHa VPSの コマンドラインツールを作ったHironobu Saitoh
 
フロントエンドの人にも知ってもらいたいサーバーの話
フロントエンドの人にも知ってもらいたいサーバーの話フロントエンドの人にも知ってもらいたいサーバーの話
フロントエンドの人にも知ってもらいたいサーバーの話Hironobu Saitoh
 
PHPで並列処理する ライブラリを作った
PHPで並列処理する ライブラリを作ったPHPで並列処理する ライブラリを作った
PHPで並列処理する ライブラリを作ったHironobu Saitoh
 
クラウドのようなVPS 「ConoHa」 を使ってみよう +おまけ
クラウドのようなVPS 「ConoHa」 を使ってみよう +おまけクラウドのようなVPS 「ConoHa」 を使ってみよう +おまけ
クラウドのようなVPS 「ConoHa」 を使ってみよう +おまけHironobu Saitoh
 
クラウドのようなVPS 「ConoHa」 を使ってみよう。
クラウドのようなVPS 「ConoHa」 を使ってみよう。クラウドのようなVPS 「ConoHa」 を使ってみよう。
クラウドのようなVPS 「ConoHa」 を使ってみよう。Hironobu Saitoh
 
Unityのバックエンドに
ConoHaオブジェクトストレージ を使う
Unityのバックエンドに
ConoHaオブジェクトストレージ を使うUnityのバックエンドに
ConoHaオブジェクトストレージ を使う
Unityのバックエンドに
ConoHaオブジェクトストレージ を使うHironobu Saitoh
 
オブジェクトストレージを使ってイメージビューアを作ってみる
オブジェクトストレージを使ってイメージビューアを作ってみるオブジェクトストレージを使ってイメージビューアを作ってみる
オブジェクトストレージを使ってイメージビューアを作ってみるHironobu Saitoh
 
20140903groonga発表資料
20140903groonga発表資料20140903groonga発表資料
20140903groonga発表資料Hironobu Saitoh
 

More from Hironobu Saitoh (12)

パブリッククラウドConoHaを使ってOpenStack APIを理解する
パブリッククラウドConoHaを使ってOpenStack APIを理解するパブリッククラウドConoHaを使ってOpenStack APIを理解する
パブリッククラウドConoHaを使ってOpenStack APIを理解する
 
出張このべん in 大阪
出張このべん in 大阪出張このべん in 大阪
出張このべん in 大阪
 
このべん第5回 ConoHaでWordPressのお勉強!
このべん第5回 ConoHaでWordPressのお勉強!このべん第5回 ConoHaでWordPressのお勉強!
このべん第5回 ConoHaでWordPressのお勉強!
 
ConoHaにおける オブジェクトストレージの 利用動向
ConoHaにおける オブジェクトストレージの 利用動向ConoHaにおける オブジェクトストレージの 利用動向
ConoHaにおける オブジェクトストレージの 利用動向
 
ConoHa VPSの コマンドラインツールを作った
ConoHa VPSの コマンドラインツールを作ったConoHa VPSの コマンドラインツールを作った
ConoHa VPSの コマンドラインツールを作った
 
フロントエンドの人にも知ってもらいたいサーバーの話
フロントエンドの人にも知ってもらいたいサーバーの話フロントエンドの人にも知ってもらいたいサーバーの話
フロントエンドの人にも知ってもらいたいサーバーの話
 
PHPで並列処理する ライブラリを作った
PHPで並列処理する ライブラリを作ったPHPで並列処理する ライブラリを作った
PHPで並列処理する ライブラリを作った
 
クラウドのようなVPS 「ConoHa」 を使ってみよう +おまけ
クラウドのようなVPS 「ConoHa」 を使ってみよう +おまけクラウドのようなVPS 「ConoHa」 を使ってみよう +おまけ
クラウドのようなVPS 「ConoHa」 を使ってみよう +おまけ
 
クラウドのようなVPS 「ConoHa」 を使ってみよう。
クラウドのようなVPS 「ConoHa」 を使ってみよう。クラウドのようなVPS 「ConoHa」 を使ってみよう。
クラウドのようなVPS 「ConoHa」 を使ってみよう。
 
Unityのバックエンドに
ConoHaオブジェクトストレージ を使う
Unityのバックエンドに
ConoHaオブジェクトストレージ を使うUnityのバックエンドに
ConoHaオブジェクトストレージ を使う
Unityのバックエンドに
ConoHaオブジェクトストレージ を使う
 
オブジェクトストレージを使ってイメージビューアを作ってみる
オブジェクトストレージを使ってイメージビューアを作ってみるオブジェクトストレージを使ってイメージビューアを作ってみる
オブジェクトストレージを使ってイメージビューアを作ってみる
 
20140903groonga発表資料
20140903groonga発表資料20140903groonga発表資料
20140903groonga発表資料
 

レガシーPHPアプリ(10年もの)を運用している話