こんにちは!リビルドの中西です。日曜日のゆったりとした時間を羽田空港のおしゃれなラウンジで堪能しております。みなさまいかがお過ごしでしょうか?
今回は2019年2月17日(土)に東京のグランパークカンファレンスで行われたLaravel JP Conference 2019に参加してきましたのでレポートをお届けします!
参加の動機
弊社PHPでメインで利用しているフレームワークがLaravelということもありまして、スポンサーやらせていただきました。さらなる社内の技術向上を目的に参加させていただきました。
弊社リビルドもロゴ乗ってる!ありがとうございます🙇♂️ https://t.co/vZfTh8JgiA
— TETSU (@kaoru6strings) 2019年2月15日
各セッションの感想
ServiceProvider, ServiceContainer 入門
これまでで一番わかりやすいServiceProvider, ServiceContainerの解説でした!
僕も以前まではコントローラの中で new CsvService()
とかしてサービスクラス使っていました。今後は、CSV入出力・メール送信などの汎用性の高い処理はサービスクラスにまとめてServiceProviderに登録して利用するのがよさそう。
laravelでパッケージ開発
これまでcomposer経由でインストールされるLaravelのパッケージはなんか怖い感じがしたのですが、サービスプロバイダーの理解が進めば怖がらずに使えそうな感じがしました。
パッケージ化のメリットは以下のような感じ
- いきなり独立したリポジトリとして管理しなくても、composerでディレクトリを指定して自作のパッケージをインストールできるので日々の業務の中でもパッケージ化にトライすることができる
- うまく行けばマイクロサービス的に切り離せばいいし、上手くいかないときは今までどおり単一のプロジェクトとして管理すればよい
という感じでした。
LaravelでのAPI開発を爆速にするためにやっていること
実際に色々なTryをした結果、どうすればうまくいったのか知見の共有をしてくださった感じでした!
- 開発のスピードを上げたいから人数を増やせばいいというものではない
- まずは現状のメンバーで個々のパフォーマンスをいかにあげるかどうかがポイント
- そのためにはDX(Developer eXperience: 開発者の開発に対する満足度のこと)をあげることが重要
こういう知見の共有は現場の人間としてはとてもありがたいですよね。僕も日々の業務で感じた事系のアウトプット増やしていきます!
Laravelのデプロイ戦略。VPSからDocker、Kubernates、サーバレスまで
個人的にインフラ周りで悩んでいるので大本命のセッションでした!
ポイントは以下のような感じでした。
- すぐにDockerやEC2のオートスケーリングを導入する必要はないが、どういう技術でどういう種類があるのかくらいは抑えておく必要がある
- とくにオートスケーリングの設計は早めに考えておかないと新規のサービスなどはアクセスが増えたときにかなり焦る(というかサービスがとまる)
- Docker運用するなら、ローカルに保存しているデータは外部に保存するよう実装を変える必要がある
ログとか本番環境の稼働状況など、どんどん見える化していくのは後々障害が発生したときに強い味方になると思うので個人的にもどんどん勉強していこうと思いました。
Laravelで学ぶ、ウェブアプリケーションチューニングの基本
セッションの冒頭でチューニングは職人芸じゃなく、理詰めで誰でもできるものなんですよという言葉がすごく印象的でした。
ポイントとしては以下の感じでした!
- チューニングは職人芸じゃない
- やることがわかれば怖くない
- 「遅い」はとても曖昧な言葉
- 「弊社のWebサイト遅くね?」と言われたらその「遅い」がなぜなのか、原因をつきとめるところからスタートするべし
チューニング難しそうなイメージがあったのですが、理詰めでいけば怖くないとわかったのが良かったです!
新卒2年目がLaravelコントリビュート出来た理由とその面白さ
初学者の方に有用な情報が盛りだくさんなすごいいいセッションでした!
俺もLaravelコントリビューターになりたい!まずはLaravelのコードを読んで、改善できそうな部分をIssueをたててディスカッションするところからということだったのでがんばります!
個人的な今後の目標
今回のカンファレンスに参加させていただいて、個人的な課題がいくつかみつかりました。
- Laravelのログ設計や、サーバーログの見える化ができるように頑張る
- いざというときに備えたインフラ設計を考える
- 自動デプロイがスムーズに設計できるようになる
- Laravelコントリビューターになる
大好きなLaravelを安定稼働させるためのインフラ構築に興味が湧いた中西なのでした。というわけで、 AWS + Laravelでなにかサービス作ってみようと思います。 目標はサーバー代くらいは稼げるサービスをつくる。実運用するとログの設計方針とかも見えてくると思うので。
さいごに
Laravel JP Conference 運営のみなさま、スピーカーのみなさま、学び多き最高に楽しい時間を本当にありがとうございました!