株式会社スマレジのエンジニアのyushiです。
6月は無事週一投稿できました。7月も引き続き頑張ります。
今回は、こちらの記事の続きになります。
わからなかったもの
後半はよくわからないものが多く...。
今後の課題として、今回は列挙するに留めます。
- Search Engines
- Message Brokers
- GraphQL
- Graph Databases
- Building for Scale
Architectural Pattern
マイクロサービスについては社内でも度々話題に出ます。
自社サービスは長く続くほど、フレームワークやミドルウェアのサポート終了やコードの複雑化といったシステム老朽化が問題になります。肥大化したシステムのリプレイスはとても難しいです。開発メンバーのスキルも更新されなくなってしまいます。
もしシステムが分散されていれば、部分ごとに少しずつ置き換えていくことが可能です。
一方で、サービスを分ければ、それらをどう連携させるか、どう資産を共有するかといった課題も見えてきます。簡単ではないですね。
Containerization vs Virtualization
Dockerは仕事でも個人的にも開発環境としてよく使っています。
作成したLaravel開発用のテンプレートがこちら。
https://github.com/nek0meshi/laravel-template
そのうち記事にまとめたい。
WebSockets
相互通信の仕組みですね。React・Vue.js等のJSフレームワークとも相性が良く、ますます活躍しそうな気がします。サーバからブラウザに対して通信できるのはとても不思議...。
Laravelで実装する場合は、下記の記事がとてもわかりやすかったです。
https://qiita.com/NkawaK/items/5ba2cb1c2ef6fb03042d
Web Servers
何を実装するにも必要な仕組みなのに、こんな終盤に登場するのは不思議です。インフラエンジニアの担当範囲ということでしょうか? DevOps編では中盤に登場しています(https://roadmap.sh/devops)。
設定のしやすいNginxが今は人気でしょうか?
Keep Learning
学びは終わらないのです。2021年版が発表される頃には、もっと成長した自分でいたい。
特に、Testing、CI/CD、Web Serversあたりは実際にものを作りながら深めていきたいと思っています。
まとめ
全てを網羅している必要があるわけでもないですが、こういったロードマップは指針となってくれてありがたいです。
2回に分けておいて、後半に書くことがなくて焦りました...。