Mark Stratmann
About Me Background Image

Обо мне

Компьютерный ботаник и являюсь им уже очень, очень давно

Недавний опыт

Платформа архивирования электронной почты

CTO и ведущий full-stack разработчик

Отвечал за комплексную корпоративную платформу архивирования электронной почты и обеспечения соответствия требованиям, обслуживающую нескольких глобальных клиентов. Платформа обрабатывает миллионы писем ежедневно в облачной инфраструктуре AWS и в on-premises развёртываниях.

Ключевые технологии: 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 chart для всех сервисов платформы. Реализованы политики автоскейлинга, pod disruption budgets и сетевые политики для безопасного межсервисного взаимодействия.

Инфраструктура AWS: Построил автоматизированные пайплайны развёртывания с использованием шаблонов CloudFormation и playbook’ов Ansible в нескольких регионах AWS. Управляет VPN-шлюзами, IAM-ролями, security groups и конфигурацией DNS Route53.

CI/CD: Внедрил Azure Pipelines для автоматизированного тестирования и сборки контейнеров. Включает параллельный запуск тестов с Jest и Mocha, отчётность по покрытию кода и многостадийные пайплайны развёртывания.

Мониторинг: Интегрировал сбор метрик Prometheus, дашборды Grafana и ELK stack для агрегации логов. Реализовал проверки здоровья сервисов и политики оповещений.

Окружения разработки Docker: Спроектировал комплексные конфигурации docker-compose для локальной разработки, включая:

  • Replica set’ы MongoDB с проверками готовности через mongosh
  • Базы данных MySQL/Percona с пользовательскими настройками collation
  • Кластеры Kafka/Zookeeper с инициализацией топиков
  • Серверы MinIO (S3-совместимые) с созданием bucket’ов
  • Мультисервисные архитектуры с оркестрацией зависимостей
  • Инструменты для разработки: kubectl proxy, mongo-express, kafdrop, MySQL clients

Docker-образы контейнеров: Собирал и оптимизировал контейнерные образы с использованием multi-stage сборок для:

  • Сервисов Node.js: образы на базе Alpine с компиляцией TypeScript, node-prune для оптимизации размера и distroless runner’ы для минимального runtime footprint
  • Сервисов Go: образы на базе devcontainer с зависимостями librdkafka для подключения к Kafka
  • Базовых образов Ubuntu: пользовательские образы, заранее сконфигурированные с Node.js, Java JDK, AWS CLI и инструментами разработки

Базовый контейнер Ubuntu: Собирал и поддерживал базовый образ Ubuntu 22.04 с Node.js, Java JDK 24, AWS CLI, ZooKeeper, etcd, Kafka и инструментами разработки для единообразных окружений сборки.

Контейнер CloudShell: Собирал базовые и инструментальные контейнеры Azure Cloud Shell с PowerShell 7 и различными Azure SDK для рабочих процессов управления облаком Microsoft.

Dev Containers для VS Code: Настраивал окружения контейнеров разработки для нескольких сервисов с поддержкой удалённой разработки, пробросом SSH и управлением расширениями.

Базы данных и управление данными

MongoDB: Документная БД с replica set’ами для высокой доступности. Реализованы автоматизированные бэкапы и процедуры аварийного восстановления с использованием mongodump/mongorestore.

MySQL/Percona: Реляционная БД для структурированных данных, включая процессы бэкапа и восстановления Percona с использованием myloader/mydumper для эффективной миграции данных.

CouchDB: Кластеризованное хранилище документов для распределённого хранения данных с multi-node развёртываниями.

Миграция баз данных: Разработал инструменты миграции данных между кластерами MySQL и MongoDB, поддерживающие крупномасштабные переносы данных с интеграционным тестированием на наборах данных, приближённых к production.

Окружение разработки Claude Code (ralph-agent)

Личный проект - окружение разработки для ИИ

Создал Docker-ориентированное окружение разработки, оптимизированное для длительно выполняющихся задач ИИ-агентов с использованием Claude Code. Включает настройку non-root пользователя с пробросом SSH и Git, автоматическое управление версиями Node.js через NVM и совместимость с VS Code Remote Development.

Ключевые технологии: Docker, Ubuntu 24.04, Node.js, VS Code Remote

Резюме

Обширный опыт построения масштабируемых корпоративных multi-tenant SaaS-платформ с экспертизой по всему технологическому стеку. Подтверждённая способность проектировать микросервисы, внедрять надёжные CI/CD пайплайны и управлять сложными развёртываниями облачной инфраструктуры. Сильная база в системах аутентификации, event-driven архитектурах и современных frontend фреймворках с фокусом на поддерживаемые, хорошо протестированные кодовые базы.

Сводка по технологиям

ТехнологияНазначение
TypeScriptОсновной язык для API (Fastify, Express), фронтенда (Next.js, React), общей библиотеки типов (@cryoserver/types)
Node.jsBackend runtime для 10+ микросервисов
GoSMTP-сервис для высокопроизводительной передачи почты
ReactUI-фреймворк для клиентских интерфейсов и внутренних админ-дашбордов
Next.jsReact-фреймворк для клиентских UI
MongoDBОсновное документное хранилище для данных пользователей и конфигураций
MySQL/PerconaРеляционная БД для структурированных данных, используется с Prisma ORM
CouchDBКластеризованное документное хранилище для распределённых данных
RedisКэширование сессий
Kafka/KafkaJSEvent-driven обмен сообщениями между микросервисами
KubernetesОркестрация контейнеров для production-развёртываний
HelmМенеджер пакетов для 50+ конфигураций Kubernetes chart
AnsibleProvisioning инфраструктуры и управление конфигурациями (AWS, Azure)
DockerКонтейнеризация всех сервисов с multi-stage сборками
AWS SDKИнтеграция с S3, IAM, Cognito и другими сервисами AWS
OAuth2/JWTАутентификация и авторизация API
CypressEnd-to-end и компонентное тестирование для frontend-приложений
PrismaType-safe ORM для MySQL-миграций
ZodRuntime-валидация для TypeScript-типов
MUI (Material UI)Библиотека UI-компонентов для Next.js-приложений
PuppeteerГенерация PDF
Node-RD KafkaKafka-клиент для сервисов Node.js
SolrИндексация поиска и сервис запросов
Prometheus/GrafanaСбор и визуализация метрик
ELK StackElasticsearch, Logstash, Kibana для централизованного логирования
Azure PipelinesCI/CD для автоматизированных сборок и развёртываний
Playwright/MCPАвтоматизация браузера для ИИ-ориентированного UI-тестирования
llama.cppЛокальный инференс LLM для экспериментальных CLI-инструментов
Shibboleth SPМодуль Apache для федерации SAML 2.0
ZooKeeperСервис координации для кластеров Kafka и Solr
MinIOS3-совместимое хранилище для локальной разработки
MavenИнструмент сборки Java-проектов с тестированием Surefire
TurboRepoИнструмент monorepo для управления несколькими Next.js-приложениями