スマレジエンジニアyushiのブログ

スマレジエンジニアのブログ

Developer Roadmapを眺めつつBackendの知識を省みる(後編)

株式会社スマレジのエンジニアのyushiです。

6月は無事週一投稿できました。7月も引き続き頑張ります。

 

今回は、こちらの記事の続きになります。

yushi-dev.hatenablog.com

 

わからなかったもの

後半はよくわからないものが多く...。

今後の課題として、今回は列挙するに留めます。

  • 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回に分けておいて、後半に書くことがなくて焦りました...。