セキュリティ・レジリエンス
形式検証を組み込んだ高信頼性認証・認可基盤PoC
クライアントの技術的な指揮のもと、Rustによる実装と証明・モデル検査に協力しました。
- Project Everest
- Rust
- Kani
- Tamarin
Service / 02
プロダクトエンジニアリング
プロダクトのアイデアや価値仮説を整理し、SaaS・Webアプリケーション・APIの設計、開発、本番導入を支援します。利用者の声や利用データをもとに、改善を続けます。
開発が進む中で、利用者の課題や事業の目的と、実装する機能にずれが生じることがあります。要件や前提の変化を確かめながら、何をつくるかの判断と日々の開発を結びつける必要があります。
支援の考え方
価値仮説の整理から、フロントエンド・バックエンドの開発、PoCの運用、本番導入まで支援します。開発チームがまだない段階でも、必要な役割と責任範囲を一緒に整理します。共通の進め方では、設計・構築・統合(Design・Build・Integrate)を中心に取り組みます。
↔ 横にスクロールして図全体をご覧いただけます。
Discover → Design → Build → Integrate → Operateの5段階。Product EngineeringはDesign・Build・Integrateを中心に担います。
支援領域
課題と要件の整理、設計・開発、導入後の改善を、3つの領域で支援します。
課題・要件の整理
利用者の課題を確認し、事業のアイデアを具体的な要件に整理します。
大きな開発投資を行う前に、プロダクトの核となる仮説を確かめます。
エンジニアリング
プロダクトの設計・実装から、利用者が使える環境への導入まで支援します。
利用するシステムやチームの要件を踏まえ、インターフェースと連携方法を設計します。
フロントエンド、バックエンド、データ層を一つのシステムとして設計・実装します。
導入・運用
本番利用に必要な信頼性や運用の要件を整理し、PoCで検証したものを実用化するための改修を進めます。
利用データと利用者の声を開発計画に反映し、改善の優先順位を決めます。
進め方の例
誰のどのような課題を解決するのかを整理し、プロダクトの価値仮説を明確にします。
仮説を具体的な要件に整理し、開発する範囲を定めます。
開発の初期からCI/CDを整え、フルスタックで実装します。
本番環境やPoCの環境に導入し、利用者に使ってもらいます。
利用状況を確認し、得られた学びを次の開発計画に反映します。
アーキテクチャ
↔ 横にスクロールして図全体をご覧いただけます。
CoRISEの標準技術スタックは、フロントエンドのReact、API・バックエンドのRust、データベースのPostgreSQLです。ReactからRustのAPIを呼び出し、RustがPostgreSQLとS3互換オブジェクトストレージにアクセスします。OpenTelemetryでフロントエンドとバックエンドを計装し、HTTPリクエストにトレースコンテキストを伝播します。Rust側でデータベースやオブジェクトストレージへの呼び出しも計装し、一連の処理を分散トレースとして追跡します。スパンはOTLPでOpenTelemetry Collectorへ送り、トレース基盤で保存・可視化します。ストレージやトレース基盤の製品は限定していません。境界外にはGitHub ActionsによるCI/CDとRustへのローリングリリースを例示しています。運用対象は本番環境全体です。