金融取引システムの立ち上げ及び運用

PythonTypeScriptNext.jsAWSPostgreSQLMulti-tenant

プロジェクト概要

金融企業において、私設取引システム(PTS)の開発・運用をテックリーダーとして担当しました。株式PTSでは既存システムの保守開発を行い、セキュリティトークンPTSでは立ち上げから携わりました。外部向けのWebシステムとバックオフィス業務用システムを開発し、マルチテナントアーキテクチャによるセキュアな運用基盤を構築しました。

担当業務

システム開発

  • 外部向けWebシステムの設計・開発
  • バックオフィス業務用システムの開発
  • マルチテナントシステムの認証・認可設計

開発環境整備

  • DevContainerによる開発環境の整備
  • テスト基盤(pytest)の構築とテスト自動化
  • CI/CD (CodePipeline, CodeBuild) による自動デプロイパイプライン構築

開発推進

  • 技術選定・開発規約策定
  • コードレビュー・品質管理
  • AI開発環境の導入推進 (Claude Code, GitHub Copilot)
  • チームマネジメント (最大9名)

使用技術

言語・フレームワーク

  • Python 3.10: バックエンドAPI及び社内ライブラリ開発
  • TypeScript: フロントエンド開発
  • Next.js: バックオフィス用Webアプリ開発
  • OpenAPI Specification: API仕様定義及びAPI Gateway構築

インフラ・クラウド

  • AWS Lambda: API及びバッチ処理(原則Lambda利用)
  • AWS CodePipeline / CodeBuild: ruffの確認やpytestの実行、及びデプロイの自動化
  • AWS API Gateway: APIエンドポイント管理、Authorizerとの連携
  • AWS Cognito: 外部向けシステムの認証認可
  • AWS Dynamic Policy: 動的アクセス制御
  • Docker: 開発環境コンテナ化(DevContainer)、DBやAPIのSandbox機能提供

データベース

  • PostgreSQL: マルチテナントデータ分離(Row Level Security)

開発ツール

  • Git: バージョン管理(CodeCommit, GitHub)、CI/CDとの連携
  • pytest: 単体テスト及び結合テストの実行
  • Playwright: リグレッションテストの実行
  • ruff: Python linter/formatter
  • Claude Code / GitHub Copilot: AI駆動開発
  • Asana / Jira: チケット管理
  • Backlog: ナレッジ集約

技術的な取り組み

1. マルチテナントアーキテクチャ設計

PostgreSQLのRow Level Security (RLS) とAWS Dynamic Policyを活用し、テナントごとのデータとアクセス権を厳密に分離。セキュリティと保守性を両立したマルチテナントシステムを実現しました。

2. AI駆動開発環境の導入

Claude Code (Bedrock) を中心としたAI開発環境を導入。カスタムプロンプトによる実装レベルのコード生成を実現し、開発効率を向上させました。

3. 品質保証体制の確立

  • DevContainerによる開発環境の整備で静的解析の恩恵を浸透させ開発体験の向上
  • pytestを活用したテスト基盤の構築(単体テストの自動化、結合テストのスクリプト化)
  • テストカバレッジの向上と品質の安定化を実現

役割

テックリーダー

  • 要件定義、設計、実装、テスト、運用の全工程を担当
  • 技術選定・開発規約策定・コードレビュー
  • チケット運用ルールの作成及び改善、ナレッジの整備及び運用ルール作成と改善

成果

  • 金融取引システムの安定稼働を実現
  • マルチテナントアーキテクチャによるセキュアな運用基盤の構築
  • AI駆動開発の導入による開発効率の向上
  • DevContainer・テスト自動化・CI/CDによる品質保証体制の確立

学んだこと

金融システムにおける高度なセキュリティ要件と、マルチテナントアーキテクチャの設計・実装を通じて、エンタープライズレベルのシステム開発の知見を獲得しました。また、AI開発ツールの効果的な活用方法や、チーム開発における品質管理の重要性を学びました。