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

Infrastructure & DevOps

Kubernetes Deployments: 모든 플랫폼 서비스에 대해 50개 이상의 Helm 차트 구성을 생성했습니다. 오토스케일링 정책, pod disruption budget, 네트워크 정책을 구현하여 서비스 간 통신을 안전하게 구성했습니다.

AWS Infrastructure: 여러 AWS 리전에 걸쳐 CloudFormation 템플릿과 Ansible 플레이북을 사용해 자동화된 배포 파이프라인을 구축했습니다. VPN 게이트웨이, IAM 역할, 보안 그룹, Route53 DNS 구성을 관리했습니다.

CI/CD: 자동화된 테스트 및 컨테이너 빌드를 위해 Azure Pipelines를 구현했습니다. Jest 및 Mocha를 활용한 병렬 테스트 실행, 코드 커버리지 리포팅, 멀티 스테이지 배포 파이프라인을 포함합니다.

Monitoring: Prometheus 메트릭 수집, Grafana 대시보드, 로그 집계를 위한 ELK 스택을 통합했습니다. 서비스 헬스 체크 및 알림 정책을 구현했습니다.

Docker Development Environments: 로컬 개발을 위한 포괄적인 docker-compose 구성을 설계했으며, 포함 사항:

  • mongosh 헬스 체크가 포함된 MongoDB 레플리카 세트
  • 커스텀 collation 설정이 적용된 MySQL/Percona 데이터베이스
  • 토픽 초기화가 포함된 Kafka/Zookeeper 클러스터
  • 버킷 생성이 포함된 MinIO (S3-compatible) 서버
  • 의존성 오케스트레이션을 포함한 멀티 서비스 아키텍처
  • 개발 도구: kubectl proxy, mongo-express, kafdrop, MySQL clients

Docker Container Images: 다음을 위해 멀티 스테이지 빌드를 사용하여 컨테이너 이미지를 빌드 및 최적화했습니다:

  • Node.js services: TypeScript 컴파일을 포함한 Alpine 기반 이미지, 용량 최적화를 위한 node-prune, 최소 런타임 풋프린트를 위한 distroless runner
  • Go services: Kafka 연결을 위한 librdkafka 의존성이 포함된 devcontainer 기반 이미지
  • Ubuntu base images: Node.js, Java JDK, AWS CLI 및 개발 도구가 사전 구성된 커스텀 이미지

Ubuntu Base Container: 일관된 빌드 환경을 위해 Node.js, Java JDK 24, AWS CLI, ZooKeeper, etcd, Kafka 및 개발 도구를 포함한 Ubuntu 22.04 베이스 이미지를 빌드하고 유지보수했습니다.

CloudShell Container: Microsoft 클라우드 관리 워크플로를 위해 PowerShell 7 및 다양한 Azure SDK를 포함한 Azure Cloud Shell 베이스/도구 컨테이너를 빌드했습니다.

VS Code Dev Containers: 원격 개발 지원, SSH 패스스루, 확장(Extension) 관리 기능을 포함하여 여러 서비스에 대한 개발 컨테이너 환경을 구성했습니다.

Database & Data Management

MongoDB: 고가용성을 위한 레플리카 세트를 갖춘 문서 저장소. mongodump/mongorestore를 사용한 자동 백업 및 재해 복구 절차를 구현했습니다.

MySQL/Percona: 구조화된 데이터를 위한 관계형 데이터베이스로, 효율적인 데이터 마이그레이션을 위해 myloader/mydumper를 사용하는 Percona 백업/복구 워크플로를 제공합니다.

CouchDB: 멀티 노드 배포를 통한 분산 데이터 저장을 위한 클러스터형 문서 저장소.

Database Migration: MySQL과 MongoDB 클러스터 간 데이터 마이그레이션 도구를 개발했으며, 운영 환경과 유사한 데이터셋에 대한 통합 테스트를 통해 대규모 데이터 전송을 지원했습니다.

Claude Code 개발 환경 (ralph-agent)

개인 프로젝트 - AI 개발 환경

Claude Code를 사용한 장시간 실행 AI 에이전트 작업에 최적화된 Docker 기반 개발 환경을 구축했습니다. SSH 및 Git 패스스루를 포함한 non-root 사용자 설정, NVM을 통한 자동 Node.js 버전 관리, VS Code Remote Development 호환성을 제공합니다.

주요 기술: Docker, Ubuntu 24.04, Node.js, VS Code Remote

요약

전체 기술 스택 전반에 걸친 전문성을 바탕으로 확장 가능하고 멀티 테넌트 엔터프라이즈 SaaS 플랫폼을 구축한 풍부한 경험이 있습니다. 마이크로서비스 아키텍처 설계, 견고한 CI/CD 파이프라인 구현, 복잡한 클라우드 인프라 배포 관리 역량을 입증했습니다. 인증 시스템, 이벤트 기반 아키텍처, 현대적인 프론트엔드 프레임워크에 대한 강한 배경을 보유하고 있으며, 유지보수 가능하고 테스트가 잘 갖춰진 코드베이스에 집중합니다.

기술 요약

기술용도
TypeScriptAPI(Fastify, Express), 프론트엔드(Next.js, React), 공유 타입 라이브러리(@cryoserver/types)를 위한 주요 언어
Node.js10개 이상의 마이크로서비스를 위한 백엔드 런타임
Go고성능 메일 전송을 위한 SMTP 서비스
React고객용 및 내부 관리자 대시보드를 위한 UI 프레임워크
Next.js고객용 UI를 위한 React 프레임워크
MongoDB사용자 및 구성 데이터용 주요 문서 저장소
MySQL/Percona구조화된 데이터를 위한 관계형 데이터베이스(Prisma ORM과 함께 사용)
CouchDB분산 데이터를 위한 클러스터형 문서 저장소
Redis세션 캐싱
Kafka/KafkaJS마이크로서비스 간 이벤트 기반 메시징
Kubernetes프로덕션 배포를 위한 컨테이너 오케스트레이션
Helm50개 이상의 Kubernetes 차트 구성을 위한 패키지 매니저
Ansible인프라 프로비저닝 및 구성 관리(AWS, Azure)
Docker멀티 스테이지 빌드를 포함한 전 서비스 컨테이너라이제이션
AWS SDKS3, IAM, Cognito 및 기타 AWS 서비스와의 통합
OAuth2/JWTAPI 인증 및 인가
Cypress프론트엔드 애플리케이션의 엔드투엔드 및 컴포넌트 테스트
PrismaMySQL 마이그레이션을 위한 타입 세이프 데이터베이스 ORM
ZodTypeScript 타입을 위한 런타임 검증
MUI (Material UI)Next.js 애플리케이션을 위한 UI 컴포넌트 라이브러리
PuppeteerPDF 생성
Node-RD KafkaNode.js 서비스용 Kafka 클라이언트
Solr검색 인덱싱 및 쿼리 서비스
Prometheus/Grafana메트릭 수집 및 시각화
ELK Stack중앙화 로깅을 위한 Elasticsearch, Logstash, Kibana
Azure Pipelines자동화된 빌드 및 배포를 위한 CI/CD
Playwright/MCPAI 기반 UI 테스트를 위한 브라우저 자동화
llama.cpp실험적 CLI 도구를 위한 로컬 LLM 추론
Shibboleth SPSAML 2.0 연동을 위한 Apache 모듈
ZooKeeperKafka 및 Solr 클러스터를 위한 코디네이션 서비스
MinIO로컬 개발을 위한 S3-compatible 스토리지
MavenSurefire 테스트를 포함한 Java 프로젝트 빌드 도구
TurboRepo여러 Next.js 애플리케이션 관리를 위한 모노레포 도구