PHP Way – 開催趣旨
& BASE編
PHPから別言語に変えることを考えた振り返り
BASE株式会社 取締役CTO
藤川 真一
開発言語をPHPから他の言語に変更するWebサービス企業があ
る中で、あえてPHPを使い続けることを決めており、今後の
サービスの成長、チームの発展をPHPでコミットしていく企業
によるプレゼンテーションをおこないます。
Webの開発言語やフレームワークの話、適材適所の技術活用に
ついての考え方、 今後の発展とサービスの成長に向けてのコ
ミット等について参加各社がプレゼンテーションを行います。
PHPを活用するエンジニアにとっての明るいキャリアパスにつ
いて考えていきましょう。
2017/12/21
2PHP Way開催趣旨
2017/12/21
3Agenda
コネヒト株式会社 CTO 島田 達朗氏
※発表内容「コネヒトが考える技術選択の仕方について」
株式会社サイバーエージェント SGE CTO 白井英氏
※発表内容「PHPでのゲームのサーバサイド開発の変遷〜PHPとの
付き合い方〜」
BASE株式会社 取締役CTO 藤川真一
※発表内容「PHPから別言語に変えることを考えた振り返り」
3社によるトークセッション
どこか自信が持てない(?) PHPの選択に、
胸張って間違ってないんだと思えることがゴール
2017/12/21
4本イベントのゴール
それではよろしくお願いいたします
2017/12/21
5
PHP Way – BASE編
PHPから別言語に変えることを考えた振り返り
BASE株式会社 取締役CTO
藤川 真一
2017/12/21
7藤川の紹介
BASE株式会社 取締役CTO 2014年正式ジョインしてから4年目
ネットでは、えふしん、で活動してます
最近まで社会人大学院生やってました
慶應義塾大学大学院メディアデザイン研究科を単位取得退学
モバツイ (PHP5)、ShopCard.me ( Objective C + Rails)
8BASE株式会社
サービスインして5周年を迎えた会社です
2017/12/21
9サービス
WebのBASE ( https://thebase.in )
PAY.JP (https://pay.jp)
BASEアプリ
PAY IDアプリ
10サーバサイド技術視点での大きな特徴
モールアプリ向けのバックエンド(集約)
(将来、**スーパーセールをやるならこっちが受け皿)
40万店舗を超える独自ショップ(分散)
フリーミアムで無限にショップが増えることを前提とした
アーキテクチャ(今年は、独自ドメインSSLなどを頑張った)
フィンテック分野での期待を背負うことが社の戦略
UX、セキュリティ、スケーラビリティの3つの実現が超絶重要
決済代行サービスに、密結合した無料のCMSがついているのがBASE
P H P バ ー ジ ョ ン : P H P 5 . x / 7 . x P H P フ レ ー ム ワ ー ク : C a k e P H P 2 . x
P H P 実 行 環 境 : N g i n x , A p a c h e 2 + m o d _ p h p
イ ン フ ラ : A W S
C I / C D : C i r c l e C I , D e p l o y G a t e
デ ー タ : R D S ( M y S Q L , P o s t g r e S Q L ) , H a d o o p , B i g Q u e r y, R e d S h i f t , A t h e n a , E T L , F l u e n t d ,
R e d i s
解 析 : P y t h o n ( N u m P y / S c i P y / P a n d a s / s c i k i t - l e a r n / G e n s i m / X G B o o s t ) , R , M e C a b ,
C a b o c h a , C + + , C U D A , Te n s o r F l o w , Te n s o r B o a r d
デ プ ロ イ : S l a c k , R o R , C h e f
画 像 : A k a m a i , I m a g e F l u x , S 3
検 索 : A m a z o n C l o u d S e a r c h
モ バ イ ル プ ッ シ ュ : A W S L a m b d a , S 3 , F C M
モ ニ タ リ ン グ : M a c k e r e l , R a y g u n , N e w r e r i c , F i r e b a s e , R e d a s h
ラ イ ブ : Wo w z a S t r e a m i n g C l o u d , F i r e b a s e
11技術スタック
2017/12/21
12アプリによる次世代ECへの取り組み
PHP5.x + Cake 2.x以外は普通にイマドキ
2017/12/21
13最新アーキテクチャ的に言うと
CTO3年目 そろそろ将来を考える
「PHPをどうするか問題」
技術顧問にも次世代の相談と検討
2017/12/21
142016年時点に戻ります
2017/12/21
152016年 当時のイシュー
・Cake2.xが終わったらどうする?
・PHP5.3、もうサポート終わってるし!
・Webは全然テストがないよ!
テストを作り込むのに向いた人材不足
・パフォーマンス問題
当時の環境で、Cake2.3 + PHP5.3で、
何もないコントローラ起動するだけで50msec級で遅っ
(PHP単体では7msec以下で十分速いので、
積み上げたフレームワークがまあまあヘビー)
フリーミアムなECサービスは、
究極的にはトランザクション(PV)あたり
コストの戦いになるのでは?
2017/12/21
16サービス性からみた未来への仮説
一つの価値観で言語選択を語るものではない
2017/12/21
17Early Stage言語、Later Stage言語
Early Stage Later Stage
スケーラビリティよりも生産性
明日をも知れぬフェーズ
失敗したら課題も増えない
ワンオペ機能開発
組織開発、コンフリクト問題
型がなくて痛い目にあう
社会的責任の重さ、スケーラビリティ
ドメイン駆動開発、マイクロサービス
でもスピード落とせない
2017/12/21
18開発技術の選択性
UX実現の生産性
機能性、生産性(主にスケーラビリティ実現性)
ここが欲しい
Better!
BASEとして
はキツイ
☓
BASEにとってのLater Stageは、
・いつ
・どこで
・誰を敵として
・何をしているべきなのか?
19技術ビジョン
これに対して間に合わないのでは遅いけど、早くてもコストがか
かって大変なのでベストなタイミングを予測する
代替案として他の言語、FWを考えてみました!
2017/12/21
20そこで、まず、
当然、一番気になる。
2017/12/21
21Ruby on Rails
羨ましいポイント 懸念したポイント
社内に経験者いる、採用可能性高い
流行っている
優れた人材が多い
少なくとも目立ってる人は多い
いろいろエレガント
採用可能性に対して、
自社が打ち出せる強みとの兼ね合い
流行りには廃りがセット、だが
バージョンアップ追従と、
EC繁忙期との兼ね合いが辛い
(この概念こそが技術的負債に!?)
Later Stageの選択肢だったっけ?!
22Python
会社的に考えると変えるならこれ
2017/12/21
羨ましいポイント 懸念したポイント
PAY.JPで使ってるので経験豊富
言語やライブラリが優れてる
Webニーズが少ない
人材の厚みは考える
Later Stageの環境だったっけ?!
もしかしたらUXとか人材タイプ違うかも
2017/12/21
23Java
Later Stageにふさわしいのはこれ、、、だが
羨ましいポイント 懸念したポイント
実績とパフォーマンス
大規模サイトは無問題
今からJava?スイッチングコスト高
アプリケーション vs UX
柔軟性は少し犠牲になるかな?!
Later Stageにふさわしい
なんだかんだスタンダード
J2EEはあるが、本当にWebに向いて
いるのか!?
2017/12/21
24Scala
根強い人気
羨ましいポイント 懸念したポイント
スタートアップからの上場組のNEXT Java以上のスイッチングコスト?!
評価できてないのでわからないw
Later Stageにふさわしい ビルドなどの生産性どうなん!?
2017/12/21
25Go
Better Cという新しい選択肢
羨ましいポイント 懸念したポイント
Viewがないところ
適材適所で使うと効果絶大
Webの言語じゃないですよね?
PHPに向いてないところをフォローできる
2017年に流行ってる言語
2017/12/21
26PHP7
羨ましいポイント 懸念したポイント
PHP7にするだけでパフォーマンスUP ハイスキルPHP開発者の高齢化現象
みなさまの情報発信が減って、
タコツボ化、オワコン化に見える
PHPコミュニティもいい
PHPも比較してみました
型を取り入れるなど順調な進化
裾野が広い
要職についたり、独立したりして
採用可能性が低くなる
単純に人材確保性が下がることだけが恐怖
2017/12/21
27マッピングしてみると
Web UXのための生産性
機能性、生産性(主にスケーラビリティ実現性)
※個人の感想です
わざわざリスクとコストを支払って乗り換える!?
2017/12/21
28トレードオフが大きすぎて答えが出ない
近年、PHPからRailsに移行して成功した企業、
失敗した企業
2017/12/21
29PHPから乗り換えた他社分析
うまく行った(?)企業の特徴
・M&A話が近く存在する企業?
・元Rails使いがCTOとして就任した企業
(採用人脈という観点)
・上場後の将来を鑑みるタイミング
(一区切りはついてる)
30タイミング重要?
もしや、一旦、かがんでもいいタイミングというのがある?
今はまだ、PHPで無問題
2017/12/21
31で、たどりついた結論
32PHPで問題ない技術的な視点
ビジネスで成功するために力不足の実行環境ではない
メルカリ、Facebook 、Slack etc….
相対的なWeb開発言語の役割の変化と先鋭化
AI化、クラウド連携が前提、一つの言語で閉じる時代ではない。
チームとしては、多言語展開
Go + PHP7 という新しいソリューション Webとそれ以外を分ける
Goが出てきて、どこかPHPっぽくね?と思った人?
適材適所の組み合わせとしては、結構理想的なのかも
丁度、Cake PHP4が出てくる!
確かに乗り換えるなら新しいものにしたくなる気持わかる
2017/12/21
33懸念された人材採用面
ECビジネスにおけるPHPの選択は採用には不利ではない
EC cubeプラグイン開発やスクラッチでのCake PHPは、割と王道
新卒でSIに入ったJava経験者からのWebサービスへの転職はスムーズ
問題は、新卒でRails企業で育ってしまった、
スタートアップ経験者25〜28歳ぐらいの優秀なサムライ人材に
どうやって振り向いてもらうか!
2017/12/21
34がんばりどころ!
PHP7 / CakePHP4 の世界に向けて頑張る決意!
PHPであることを気にしない優秀な人材に振り向いてもらうように。
自社のプレゼンスを発揮するために、とにかく足元をしっかりと固める
AI時代に向けて、適材適所開発の価値観をしっかり作っていく
情報発信をしっかり行い、良いWEB UXを作るための選択肢として定着させる
35Githubのトラストスコア別開発言語
※2016年9月時点
トラストスコア 5 トラストスコア 4 トラストスコア 3
トラストスコア 2 トラストスコア 1
2017/12/21
36来年のWeb技術基盤イシュー
BASE全サービスのPHP7へのシフトを完了させる(with 自動テスト)
Cake2からCake4へのシフト
カートと決済のマイクロサービス化(別リポジトリ化 / API化)
Amazon Aurora
スーパーセールに耐えうるリアルタイム在庫処理
CTO / VPoE / VPoP のチーム化
2017/12/21
37そして将来
オープンソースでの貢献を増やし、PHP言語市場を活性化させる
5年以内に、PHP / Cake PHPのフルタイムコミッタを雇えるように!
Facebook / Google など超絶成功した企業は言語、OSを作る
トレンドを自分達で作る。攻撃は最大の防御
今後、BASE社がしっかりPHPの世界、Webビジネスの世界で
よりプレゼンスを取っていけるように、WEB UX から技術基盤まで
さまざまな仲間を募集しています!!

20171219 / phpway / BASE,Inc.