kazu22002の技術覚書

PHPer, Golang, AWS エンジニアの日々

ランサーズのcakephpのバージョンアップに感じたこと

会社としてバージョンアップをやろうとしている感があり、いいな。と感じて書きたいことが色々と出てきたので感想を書いてみようと思います。

engineer.blog.lancers.jp

基本良い感想しかないと思います。

なぜ気になったのか

まずかなり前から気になっていた動向でした。というのも、かなり自分でも同じ環境で開発をしていたこともあり、バージョンアップを行おうと試行錯誤をしていたため、サービスをどうバージョンアップまで取り組むのかノウハウが気になったからです。

あとは実際に移行作業も行ったのもあり、規模感が知りたかった。というのもありますね。

実際に、自分はcakephp1.2 -> cakephp2.10にバージョンアップを行いましたが、うまくやれたという実感は全くなかったです。

kazu22002.hatenablog.com

kazu22002.hatenablog.com

どれくらいの人数が取り組んでいるのか気になっていますが、php7まで対応する予定とのことで、これからも興味があるので、また経過をアップしてくれるとうれしいですね。

期間

どれくらいの規模のものをどれくらいの期間で行ったのか。

CakePHP1.3→2.8移行は、2017/11から本格的に着手しました。

ソース(60万行、200コントローラー)

約1年ぐらいですね。コントローラー単位で少しずつ移行していったみたいですね。(これでやりたかった。)

1年で移行できていれば、十分良いですね。まぁ、まだフェーズがあるみたいですが、cakephpのメジャーバージョンアップはかなりの規模だと個人的には思っているので、これからのフェーズは短くなるといいですね。

どれくらい障害があったとか気になるけど、あまりなかったのかな。サービス自体使ってないから影響があまりわからないのが残念です。

自分でバージョンアップを行った規模も結構なコントローラー数100程度(3サービスぐらい)を行い、移行するまで半年ぐらいかかりました。

比較をしても良い感じでできたのかな。と思っています。

Githubに移行のノウハウ

これはやれば良かったとすごく感じています。

移行をするまでのノウハウをgitで管理して、だれでも見れるようにしておくのは素晴らしいですね。

いまみるとルーティング部分もあるのかな。(これやりたかったけど、やり方がわからず一気に移行しました。サンプルソースが欲しかったので、色々とみてみようかと思います。)

所属していた会社でこういう文化はなかったから、言ったら実現できたのかな。

今後はやり方としてgitでノウハウを更新していくのもいいかと思ったので、実践していきたいです。

今後の予定をみて

確かcakephp3まで移行すると思っていたので、期待していますが、phpのバージョンアップが先にありますね。

php5 -> php7 は移行しやすい気がしますが、トラップもいくつかあったりするので、気になっています。php7までアップすればセキュリティーサポートとして安心できるあたりですね。

cakephpのセッション周りとか暗号化あたりで削除された暗号化をつかってたりしてたからどうアップするのか気になります。まぁ、bcrypt使ってれば問題ないんだっけかな。)

php5.6 -> php7移行でmemcacheとか暗号化まわりのミドルウェアで詰まった気がするなぁ。

ソース自体はそこまで変更することはないだろうから、テストコードを書いていれば移行は早そうですね。

個人的には、cakephp2 -> cakephp3の移行が一番気になっている部分です。

自分で試行錯誤して移行できるか検討しましたが、一人でできる規模でなかったのと、model周りの変更を吸収できる気がしなかったので挫折しました。

配列からオブジェクトへの変更でここまで苦労するとは思ってなかったのと、プロジェクトの構成の完成イメージがなかったので時間がかかり諦めた感じです。

いまやったらやれるのかな。多少、自信ができたのかな。

cakephp3での勉強会もしているみたいなので、今後も期待していいのかと思っています。

エンジニアブログいいですね

実際に動くサービスをメンテナンスしている人たちのブログだから、共感や同じことを悩みにしている会社はあると思います。

ランサーズのブログはスキルセットが似ていたので、結構気にしているブログです。

頑張って欲しいです。