인턴 1달 회고

2026. 1. 8. 21:04·주저리

정확히는 1달은 아니고 6주정도 되었네요.

바쁘게 지나갔습니다. 고시원에서 나와 이사도 하고, 출퇴근 지옥도 겪어보며 직장인의 삶을 한달 넘게 보냈습니다.

 

주어진 시간에 최선을 다하려고 노력합니다. 특히 직접 문제를 정의하고 문제를 해결해나가는 경험을 했습니다.

 

목표는 다음과 같았습니다. "파편화된 시스템 통합 및 컨테이너화"

 

제일 문제가 되었던 부분은 퇴사자들의 히스토리와 문서가 없었다는 점이었습니다. 코드 베이스 관리도 규칙도 없이 방치되었습니다. 인프라나 서비스를 수정하고 빌드해야 하는데 내부 의존성에 대해 물어볼 사람 또는 문서가 없었습니다. 직접 호스트 서버에서 코드를 수정하고 코드를 올리지 않는 것이 반복되었고, 지금 당장의 문제만 해결하는 방식을 추구했습니다. 그들을 탓하지는 않겠다고 다짐했지만, 약간은 욕하고 싶고.. 시간을 갈아 넣는 방법 밖에 없는 것 같습니다. ㅜㅜ

 

또한, 비용 문제로 클라우드 서비스를 사용하지 않기 때문에 여러 대의 호스트 서버를 사용하며 노후화되었고, 언제 고장나지 않아도 이상하지 않을 서버들이 있었습니다. 이러한 상황에서 데이터가 유실되어도 아무것도 할 수 없을 것 같은 상황이었습니다.

 

회사에서 오케스트레이션 환경을 구축해보겠다며 인턴 목표를 지정했지만, 엄청 복잡하게 얽힌 의존성으로 이 인턴 기간 내에는 쉽지않다는 점을 깨달았습니다. 바꾼 부분을 기민하게 적용해보고 싶지만, 내부 서비스 또는 모듈의 예상치 못한 의존성 때문에 시간 소모가 컸습니다.

 

원래는 Docker Swarm을 적용해 SPOF를 줄이려 했지만, 막상 시스템에 대해서 이해하고 알아보니 당장 도입하기에는 현실적인 어려움이 있었습니다. 그래서 아래와 같은 노선으로 바꾸어 작업을 진행했습니다.

 

1. 서비스 분석 및 이미지화: 퇴사한 관리자들 말고 아무도 잘알지 못한 서비스들 (ELK, 데이터 API 모듈, 백오피스 서비스)등을 분석해 Docker Image로 만들었습니다. 이전에는 코드베이스를 도커 컨테이너를 실행하며 직접 코드 copy해 주입하는 특이한 형태의 배포 방식이 많았습니다. 이러한 부분을 env, config만 분리해 data부분만 호스트 서버에 있다면 docker compose로 실행할 수 있도록 했습니다.

 

2. 설정 파일과 Volume 데이터 분리: 설정을 바꿀 때마다 이미지를 새로 빌드해야하는 방식을 피하기 위해 Config와 Data를 분리해 이미지 빌드 없이 바뀌는 설정값만 적용할 수 있도록 규칙을 정했습니다. (물론 분리하기 힘든 예외적인 상황도 많아서 힘들었..)

 

3. 백업 체계 구축: Swarm 환경이 아니더라도 데이터 유실을 막기 위해서, 매일 별도의 스토리지 서버에 백업본은 rysnc 하도록 구성했습니다.

 

이러한 부분 말고도 여기저기에서 관리되던 운영 데이터 대시보드들을 통합하는 미션도 있지만, 제 시간안에는 불가능하지 않을까..? 라는 생각이 드네요..

 

이전에는 Repo의 소스를 서버에서 실행해도 실행되지 않으며 히스토리와 문서가 관리되지 않았습니다. 이러한 부분이 히스토리를 파악하고 어떻게 시스템, 의존성이 구성되었는지 확인하는데에 시간을 많이 쓴것 같습니다. 이러한 부분을 해결하는 것도 개발자의 영역이라고 생각합니다. 

 

기존 레거시의 문제를 파악하고 그 문제를 해결한다. 문제를 하위 문제로 쪼개서 각 단계로 해결한다. 항상 계획대로 되는 일은 없었고, 줄줄이 고구마 마냥 끌려나오는 문제들이 많았습니다. 이러한 인프라 작업만 하다보니 개인적으로 "내가 이걸 왜하지?"라는 의문도 든 것도 사실입니다. 하지만 회고를 작성하며 생각을 넣어두고 "지금 당장에 내가 할 수 있는 일을 최선을 다해서 해보자"라는 생각이 듭니다.

 

이전 개발자들에게 그 당시와 상황에서 최선의 선택이었다고 생각하고 싶습니다. 하지만 저런 방식으로 지금 당장의 문제만 해결하고 규칙 없으면 기술 부채가 쌓이고 쌓여 지금과 같은 문제가 터질 수 있음을 알게되었습니다. 

 

남은 시간 동안 제가 할 수 있는 일을 해보고 싶습니다. 제가 요즘 즐겨보는 "머니코드"라는 유튜브에서 신입에게 가장 중요한 요소는 '정직'과 '성실'이라고 하는데, 그 부분을 저도 보여주고 싶습니다. 하하!

'주저리' 카테고리의 다른 글

인턴 종료.  (0) 2026.03.11
기술 부채를 없애려다 또 빚을 지지 말자  (0) 2026.01.17
인턴 2주차 회고  (0) 2025.12.07
인턴 1주차 회고  (0) 2025.11.29
시작  (0) 2025.06.30
'주저리' 카테고리의 다른 글
  • 인턴 종료.
  • 기술 부채를 없애려다 또 빚을 지지 말자
  • 인턴 2주차 회고
  • 인턴 1주차 회고
doma17
doma17
모든 개발 주저리 모음집
  • doma17
    doma17의 개발 블로그
    doma17
  • 전체
    오늘
    어제
    • 분류 전체보기 (17)
      • 주저리 (6)
      • Code (1)
        • Java (2)
        • Spring (2)
        • NestJS (0)
        • JS&TS (0)
      • Infra (5)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • Github
  • 공지사항

  • 인기 글

  • 태그

    Java25
    Portainer
    Swarm
    fluentd
    StarRocks
    ContentCachingRequestWrapper
    elk
    elasticsearch
    멀티태넌시
    전환형
    multi-tenancy
    인턴
    Docker
    마이그레이션
    InputStream
    HTTPServletRequest
    NestJS
    Ai
    Agent
    jvm
    skill
    DOCKER SWARM
    PODMAN
    kubernetes
    OLAP
    java
    spring
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
doma17
인턴 1달 회고
상단으로

티스토리툴바