フロントエンドの学習|マイクロフロントエンド

マイクロフロントエンドよりもモノリスファースト

マイクロフロントエンドを読了しました。マイクロフロントエンドは、マイクロサービスの考え方をフロントエンドにも取り入れて、フロントエンドの垂直・水平に分割し、それぞれのチームがそれぞれの責務を果たしながら各機能の開発に取り組めるようにするための開発手法なのかなと感じました。

マイクロサービスアーキテクチャに関する基本的な考え方を身に着けている状態であれば、特に負荷なく学習を進められると思います。アーキテクチャとしてよりも、組織で各コンポーネントをどう分割するかみたいな部分が一番大きな論点かと思いますので、根本的にマイクロフロントエンドは中規模以上の組織向けの考え方です。モノリスファーストという言葉があるように、まずはクイックに開発ができるフレームワークと言語を使ってPoCを行い、事業化が実現したタイミングで、組織化と合わせてマイクロフロントエンドを検討するような取り組み方がベター化と思いました。

マイクロフロントエンドの書評

マイクロフロントエンドは、フロントエンドの今、マイクロフロントエンドの原則、マイクロフロントエンドアーキテクチャとその課題、マイクロフロントエンドアーキテクチャの発見、マイクロフロントエンドの技術的実装、マイクロフロントエンドの構築とデプロイ、事例:マイクロフロントエンドのための自動化パイプライン、マイクロフロントエンド用のバックエンドパターン、事例:モノリスからマイクロフロントエンドへ、組織にマイクロフロントエンドを導入するという構成でした。

全体的にフロントエンドに関しての新たな知見を得ることはできなかったので、自分自身のフロントエンドに関する知識レベルとしては、基本的なところはちゃんと押さえられているのかなと感じました。マイクロフロントエンドと言えども、結局はReactなどのフレームワークを利用して実装することになるので、結局のところは従来の開発手法とそこまで変わることはなさそうです。

バックエンドはモノリスだが、フロントエンドはマイクロフロントエンドで

バックエンドはモノリスで構築する予定ですが、フロントエンドはマイクロフロントエンドとして構築する予定にしています。フレームワークとしても慣れたReactを利用して実装する形にするのが良さそうです。バックエンドに関しては、予算の都合からモノリスにして、スケールアウトできるような構成にしようと思いますが、コードベースが大きくなりすぎてCIの実行時間がかなり長くなってきたら初めて分割を考えようと思います。まずはモノリスで効率的に開発を進められれば幸いです。

製品開発に向けて知識を仕入れまくっているところですが、次はソフトウェアアーキテクチャの基礎という本を読みます。ソフトウェアアーキテクティングに関して、まだまだ素人なところが大きいので、少しだけまともになるために、我武者羅に学んでいこうと思います。ソフトウェアアーキテクチャの基礎は400ページある大型本なので、少し時間をかけて学んでいこうと思います。新しい設計の世界を学ぶのが非常に楽しみですね。