リモートワーク・ご商談等のオンライン対応について

ギークスジョブの掲載案件はリモートワークでの参画がご相談可能です。
また、現在実施している個別説明会、各種イベント、顧客企業様との商談打ち合わせはオンラインでご対応いただけます。

Tech Valley

エンジニア向け技術セミナー「10年分の負債を大規模リニューアル」セミナーレポート!

エンジニア向け技術セミナー「10年分の負債を大規模リニューアル」セミナーレポート!タイトル画像

ITフリーランスに特化した20年の支援実績を持つギークスでは、「Tech Valley(テックバレー)」と称し、エンジニアを対象とした最新の技術を学ぶ機会や知識を深めるセミナーを実施しています。

今回は、ITやAIを活用し企業のDXを推進している、株式会社うるるのお二人にご登壇いただいたイベント内容をレポートします!
マイクロサービスアーキテクチャについて詳しく知りたいエンジニアにとって必見のレポートです!

この記事の目次

開催の背景

「Tech Valley(テックバレー)」は「エンジニアの好奇心を満たす出会いが見つかる」をコンセプトに、企業・著名なエンジニア・CTOによる講演やパネルディスカッションなど、様々な形で開催しているイベントです。

今回は、「geechs job(ギークスジョブ)」にご登録いただいているITフリーランスの方々の「昨今注目されている『マイクロサービス』について実践的な知識を身に着けたい」「エンジニアとして他職種の方との関わり方悩んでおり、うまく関係性を築く方法を知りたい」といった声をもとに、企画しました。

登壇者紹介

森山宏啓氏

森山宏啓氏NJSS事業本部 プロダクトソリューション課 課長

新卒で中小SIerに入社し、プログラマーとして従事
その後、創業期ベンチャー、医療介護向け事業会社にてエンジニアを軸に、バックオフィス・セールス・事業責任者を経験
2019年に株式会社うるるへ転職し、現在はエンジアリングマネージャーとして従事

栗原史明氏

栗原史明氏NJSS事業本部 AI活用推進課 課長

2018年に株式会社うるるに転職入社
以来、NJSS担当のサーバーサイドエンジニアとして従事
2021年10月にAIプロジェクトに参画し、2022年10月にはAI活用推進課の課長に就任して今に至る

ファシリテーターは、「Tech Valley」を推進するMakinoが担当しました。

セミナーの内容

プログラムは2部構成となっており、前半部は典型的モノレポによる10年分の負債を改善した方法、後半部は他職種/経営層とエンジニアをうまくつなぐためのアプローチ方法をお話ししました。

セミナーのプログラム画像

フルリニューアルに至るまでの背景と開発の課題とは

うるる社のビジネスの中核である入札情報速報サービス「NJSS」ですが、リリース当初からビジネスを軌道に乗せることを重視しており、新規機能開発を優先していたため、2019年頃に5ヵ年の中期経営計画に突入しようとしているタイミングでは、様々な技術的負債を抱えていたと栗原氏は当時を振り返りました。
当時のシステムはテストコードは無く、すでにサポートが終了しているPHP1.3で開発しているなど、技術課題が多くある状態。その年、同社の中長期の経営計画を立てるなかで、コスト、納期、品質を考慮し、NJSSのフルリニューアルが決定しました。そこで導入した技術の一つが、マイクロサービスアーキテクチャでした。

フルリニューアルでの技術的取り組み
フルリニューアル時に取り組んだ技術改革

マイクロサービスの導入は、果たしてメリットだらけなのか

マイクロサービスとは、ビジネス機能に合わせて小さなサービスに分割するアプローチです。対称となるアーキテクチャの概念として、モノリシックアーキテクチャ(通称:モノリス)があります。

マイクロサービスアーキテクチャとは

マイクロサービスアーキテクチャを導入するメリットとしては、ソースコードやシステム稼働の影響範囲を限定できるため、例えば、一つのマイクロサービスがダウンしても、本サービスには影響がないことが挙げられます。一見、メリットしかないように思われる同設計ですが、どんなシステムにも合うものではないと栗原氏は言います。
例えば、マイクロサービス化は、データ整合性担保の難易度が上がるため、特にトランザクション処理の実装は難易度が高くなったり、運用コストが肥大化する恐れもあるようです。

そのため、マイクロサービス化を検討する際は、サービス特性とデータ特性を十分に考える必要があると言えます。サービス特性を考えるとは、「誰」が「何」をするためのサービスなのかという視点で分割することです。
データ特性を考える際は、サービス間のトランザクション処理は複雑になり易いことから、サービスの分割と同時に情報のやり取りを考慮する必要があります。また、マイクロサービスでは、サービスを跨ぐ永続化アクセスはアンチパターンとされているため、注意が必要です。

うるる社は、2つの特性を考慮した結果、フルリニューアル時にマイクロサービス化を採用し、その結果、16年分の技術的負債を86%削減、サービスの稼働継続性の向上に成功しました。一方で、運用コストが倍になるなど、未だ課題も残っているとのことです。

フルリニューアル時にマイクロサービス化を採用の画像

マイクロサービス化を実現させるためにエンジニアができること

マイクロサービスの高い効果が得られるのは、技術面の工夫だけではありません。社内組織と連動していることも重要であることから、うるる社は同時に組織の優先順位の付け方や判断の軸の見直しを図ったと森山氏は話しました。

当時、開発部門よりセールス部門の権限が強く、新規機能開発を優先してきたことで技術負債を抱えてしまった経験から、各部署間においてプロジェクトの目的や事業の方向性に照らし合わせた意思決定ができる組織創りをするべく、4つの取り組みを行いました。
一例として、インセプションデッキを作成して目的の擦り合わせを行ったり、各部署の代表者と定例ミーティングを実施したりするなど、部門を超えたコミュニケーションの場を設けたと言います。新たな技術の導入には、開発部門だけでなく、関連ある部門を巻き込んだ取り組みが、成功への近道になると語っていただきました。

インセプションデッキとは…プロジェクトメンバーが、プロジェクトの概念を把握し、目的やゴールに対して共通認識を持つために作成するもの

さいごに

セミナー内では、参加者より技術的な質問が数多く寄せられました。なかには、今まさにマイクロサービスの導入を検討している方もおり、特徴を理解するうえで有意義なものになったと感想をいただきました。

Tech Valleyでは、今後も継続してエンジニアを対象とした最新の技術を学ぶ機会や知識を深めるセミナーを実施していく予定です。引き続き、ITフリーランスの皆さまのキャリアサポートを行ってまいります。

▽ 無料登録(エントリー)はこちら
https://geechs-job.com/entry

▽ Tech ValleyページURL
https://geechs-job.com/techvalley

▽ TechValleyを介したイベント実施にご興味のある企業様はこちら
https://geechs-job.com/contact

この記事をシェアする

前の記事 次の記事
上に戻る