Mark Stratmann
About Me Background Image

自己紹介

コンピュータオタクで、もう本当に本当に長い間そうしてきました。

最近の経験

メールアーカイブプラットフォーム

CTO 兼 シニア・フルスタック開発者

複数のグローバル顧客に提供する、エンタープライズ級の包括的なメールアーカイブ/コンプライアンス・プラットフォームを担当。AWS クラウド基盤およびオンプレミス環境にまたがり、日次で数百万通のメールを処理。

主要技術: TypeScript, Node.js, Go, Java 21, Spring Boot 3.5, React, Next.js, MongoDB, MySQL, Kafka, Kubernetes, Helm, Ansible ELK, Prometheus, Grafana, AWS, Docker, Cypress, Redis, Prisma, SAML 2.0, OAuth2

インフラ & DevOps

Kubernetes デプロイ: 全プラットフォームサービス向けに 50+ の Helm チャート設定を作成。オートスケーリング・ポリシー、Pod Disruption Budget、ネットワーク・ポリシーを実装し、安全なサービス間通信を実現。

AWS インフラ: 複数の AWS リージョンにまたがり、CloudFormation テンプレートと Ansible Playbook を用いた自動デプロイ・パイプラインを構築。VPN ゲートウェイ、IAM ロール、セキュリティグループ、Route53 の DNS 設定を管理。

CI/CD: 自動テストとコンテナビルドのために Azure Pipelines を実装。Jest と Mocha による並列テスト実行、コードカバレッジレポート、多段デプロイ・パイプラインを提供。

監視: Prometheus によるメトリクス収集、Grafana ダッシュボード、ログ集約のための ELK スタックを統合。サービスのヘルスチェックとアラートポリシーを実装。

Docker 開発環境: ローカル開発向けに、包括的な docker-compose 設定を設計(例:)

  • mongosh ヘルスチェック付き MongoDB レプリカセット
  • カスタム照合順序設定を備えた MySQL/Percona データベース
  • トピック初期化付き Kafka/Zookeeper クラスター
  • バケット作成付き MinIO(S3 互換)サーバー
  • 依存関係のオーケストレーションを含むマルチサービス・アーキテクチャ
  • 開発ツール: kubectl proxy, mongo-express, kafdrop, MySQL clients

Docker コンテナイメージ: 以下向けに、マルチステージビルドを用いてコンテナイメージを構築・最適化:

  • Node.js サービス: TypeScript コンパイルを含む Alpine ベースのイメージ、サイズ最適化のための node-prune、実行時フットプリント最小化の distroless ランナー
  • Go サービス: Kafka 接続のための librdkafka 依存関係を含む Devcontainer ベースのイメージ
  • Ubuntu ベースイメージ: Node.js、Java JDK、AWS CLI、開発ツールを事前設定したカスタムイメージ

Ubuntu ベースコンテナ: 一貫したビルド環境のため、Node.js、Java JDK 24、AWS CLI、ZooKeeper、etcd、Kafka、開発ツールを含む Ubuntu 22.04 ベースイメージを構築・保守。

CloudShell コンテナ: Microsoft クラウド管理ワークフロー向けに、PowerShell 7 と各種 Azure SDK を含む Azure Cloud Shell のベース/ツールコンテナを構築。

VS Code Dev Containers: 複数サービス向けに、リモート開発対応、SSH パススルー、拡張機能管理を備えた開発コンテナ環境を設定。

データベース & データ管理

MongoDB: 高可用性のためのレプリカセットを備えたドキュメントストア。mongodump/mongorestore を用いた自動バックアップと災害復旧手順を実装。

MySQL/Percona: 構造化データ向けのリレーショナルデータベース。効率的なデータ移行のため、myloader/mydumper を用いた Percona のバックアップ/リストア・ワークフローを整備。

CouchDB: マルチノード構成での分散データ保存を行う、クラスタ型ドキュメントストア。

データベース移行: MySQL と MongoDB クラスター間のデータ移行ツールを開発。プロダクション相当のデータセットに対する統合テストを伴い、大規模データ転送をサポート。

Claude Code 開発環境 (ralph-agent)

個人プロジェクト - AI 開発環境

Claude Code を用いた長時間稼働の AI エージェントタスク向けに最適化した、Docker ベースの開発環境を作成。SSH と Git のパススルーを備えた非 root ユーザー構成、NVM による Node.js バージョンの自動管理、VS Code Remote Development 互換を特徴とする。

主要技術: Docker, Ubuntu 24.04, Node.js, VS Code Remote

概要

スケーラブルなマルチテナント型エンタープライズ SaaS プラットフォーム構築における豊富な経験を持ち、フルスタック全域に精通。マイクロサービスのアーキテクチャ設計、堅牢な CI/CD パイプラインの実装、複雑なクラウドインフラのデプロイ管理において実績。認証システム、イベント駆動アーキテクチャ、最新フロントエンドフレームワークに強みがあり、保守性とテスト容易性の高いコードベースを重視。

技術サマリー

TechnologyPurpose
TypeScriptAPI(Fastify, Express)、フロントエンド(Next.js, React)、共有型ライブラリ(@cryoserver/types)の主要言語
Node.js10+ マイクロサービスのバックエンド実行環境
Go高性能メール転送のための SMTP サービス
React顧客向けおよび社内管理ダッシュボード向け UI フレームワーク
Next.js顧客向け UI のための React フレームワーク
MongoDBユーザーおよび設定データ向けの主要ドキュメントストア
MySQL/Percona構造化データ向けリレーショナル DB(Prisma ORM と併用)
CouchDB分散データ向けクラスタ型ドキュメントストア
Redisセッションキャッシュ
Kafka/KafkaJSマイクロサービス間のイベント駆動メッセージング
Kubernetes本番デプロイ向けコンテナオーケストレーション
Helm50+ の Kubernetes チャート設定のパッケージマネージャ
Ansibleインフラのプロビジョニングおよび構成管理(AWS, Azure)
Dockerマルチステージビルドを用いた全サービスのコンテナ化
AWS SDKS3、IAM、Cognito、その他 AWS サービスとの統合
OAuth2/JWTAPI の認証および認可
Cypressフロントエンドアプリケーションの E2E/コンポーネントテスト
PrismaMySQL マイグレーション向け型安全な DB ORM
ZodTypeScript 型のランタイム検証
MUI (Material UI)Next.js アプリケーション向け UI コンポーネントライブラリ
PuppeteerPDF 生成
Node-RD KafkaNode.js サービス向け Kafka クライアント
Solr検索インデックス作成およびクエリサービス
Prometheus/Grafanaメトリクス収集と可視化
ELK StackElasticsearch、Logstash、Kibana による集中ログ管理
Azure Pipelines自動ビルド/デプロイのための CI/CD
Playwright/MCPAI 駆動 UI テストのためのブラウザ自動化
llama.cpp実験的 CLI ツール向けローカル LLM 推論
Shibboleth SPSAML 2.0 フェデレーション向け Apache モジュール
ZooKeeperKafka および Solr クラスター向けコーディネーションサービス
MinIOローカル開発向け S3 互換ストレージ
MavenSurefire テストを備えた Java プロジェクトのビルドツール
TurboRepo複数の Next.js アプリケーションを管理するモノレポツール