プロダクト / Webシステム開発
決めた通りに完成し、そのあとも良くなり続ける
業務向けソフトウェアを提供する企業との取り組みです。同社は、プロダクト共通の認証基盤の内製を始めましたが、技術的な難しさから着手直後に断念しました。開発支援会社のKDOTはその開発を引き取り、Amazon Cognitoによる認証とトークン発行に、Goで実装した独自の認可サービスを組み合わせた共通基盤を設計しました。現在は同社の10近いプロダクトがこの基盤を共通で使い、新しいプロダクトを追加するたびに認証を作り直す必要がなくなりました。KDOTは統括するチームでこの複雑な基盤を開発し、その上で機能追加と運用保守を数年にわたって続けています。
01
プロダクトごとに認証と権限管理を作ると、プロダクトが増えるたびに同じ設計を繰り返すことになりがちです。共通の認証基盤があれば各プロダクトは認証を作らずに済みますが、その基盤自体は、一つのプロダクトの認証よりも作るのが難しくなりがちです。複数のプロダクトの利用者と権限を、一つの基盤でまとめて扱うことになるためです。
02
共通の認証基盤で難しくなりやすいのは、一つひとつの機能よりも、それらが組み合わさったときの複雑さです。利用者の認証、プロダクトごとに異なる権限、外部の基幹システムから届く利用者情報、プロダクト群が必要とする周辺機能が、すべて同じ基盤の上で整合していなければなりません。たとえば利用者が実際に持つ権限は、外部の基幹システムから届くロールと、基盤側で付与したロールや権限を合わせて決まります。その一方で、権限はプロダクトごとに区切って定義し、あるプロダクトの権限設定が他のプロダクトの権限に影響しないようにしなければなりません。KDOTは、これらの要素を一つのシステムとして整合させました。ロールとスコープはReactで作った管理画面から登録でき、CognitoやLambdaによる認証処理などのインフラはTerraformで本体と分けて管理しています。
03
認証基盤は作って終わりではなく、機能を足すたびに既存の認証や権限との整合を保つことが求められます。実装はKDOTが統括するエンジニアチームで進め、同じチームが基盤を使う各プロダクトとの調整も随時おこなっています。機能追加の設計は、基盤全体の整合を保てる形にしてから実装し、プロダクトが増えても同じ基盤のまま機能追加を続けています。設計から数年たった現在も、この基盤は大きな問題を起こさずに稼働し、機能追加と運用保守が続いています。
決めた通りに完成し、そのあとも良くなり続ける
プロダクト / Webシステム開発 / 技術顧問(技術企業向け)
AIを主力とする開発会社との取り組みです。同社にはプロダクト開発の引き合いがありましたが、大規模な開発の経験も、中核の技術を担える人もいませんでした。KDOTは技術顧問として、アプリケーション基盤と中核の技術を用意し、エンドクライアントとのプロジェクトの進め方も並走しながら伝えました。同社は海外市場向けの単発ワークのマッチングサービスを受託し、数億円規模の開発を公開まで完走しました。これで同社が受託できる範囲は、AIからプロダクト開発まで広がりました。
プロダクト / Webシステム開発 / プロダクトマネジメント (PdM) 支援
製造業向けにソフトウェア製品を提供する企業との取り組みです。同社は工場の電力を見える化する機能を製品に加えたいと考えていましたが、社内の開発者だけでは手も知見も足りませんでした。電力計の接続から、データを工場の判断に使える形にするところまでを開発支援会社のKDOTにまとめて任せ、同社は着手から約4か月でこの機能を製品に加えて工場へ販売できるようになりました。納品後の約9か月はKDOTが運用を担い、支援が終わった今は同社が自ら運用を続けています。
データ基盤構築 / プロダクト / Webシステム開発
広告枠の価格設定モデルを開発する分析会社との取り組みです。分析会社はこのモデルを、アドネットワークを運営する配信事業者に提供しています。配信事業者は、自社の環境で自社のデータと統合して分析を実行し、新しいモデルを自ら検証できるようにしたいと考えていました。それにはモデルを配信事業者のシステム上で稼働させる基盤が必要でしたが、分析会社はそれを社内で開発できませんでした。KDOTは分析会社側のチームに参画し、この基盤をチームで設計・構築しました。分析会社はモデルを分析結果として納品するだけでなく、稼働させる基盤まで含めて納品できました。あわせて、社外からの要望に応じてモデルを相手の環境へデプロイできる基盤を自社の資産にできました。分析会社はこの基盤を継続的に提供するサービスも配信事業者に提案しています。
事業の課題や技術的な悩みなど、どんなことでもお聞かせください