[내가 경험했던 시스템 구축기] 서론

Spark Kim·2021년 10월 16일
0

3년 전, 사원 3년차일 때 시스템 아키텍쳐라고는 선배들이 구축해준 환경만 경험해보고, 흔히들 말하는 Web-WAS-DB 3Tier 환경에 대해서만 조금 경험했을 때였다. 그때 당시 재직중인 회사의 환경 상 컨테이너 경험 조차도 생소했고, 배포를 위해서는 Jboss, apache 재기동이 당연한 줄로만 알았다. 배포 한번 하려면 인프라 담당자, 보안 담당자 등 여러 담당자들과의 약속을 잡고 특정 일자, 특정 시간에 이중화가 된 웹서비스, 백엔드서버에 대해 하나씩 내리고, 올리고...
그나마 그 환경에서 접해본 오픈소스는 redis 정도가 전부였다.

그러나 모종의 이유로 갑작스럽게 여러 오픈 소스들을 경험하고, 최종적으로 우리 팀 내 시스템에 적용해야하는 미션이 그 당시의 내게 떨어지게 되었다.
내가 완수해야하는 미션은 이런 것들이 있었다.
1. 주어진 20대의 VM를 기준으로 시스템 인프라를 컨테이너 기반으로 구축하기
2. CI/CD Chain 구축
3. 설계한 시스템 아키텍쳐에 필요한 오픈소스들 설치/구축 (Redis, kafka, MongoDB, Prometheus...등)

이미 재직중인 회사에서 독자적인 Cloud 서비스를 하고 있다보니 다른 이들이 많이 쓴다는 AWS, GCE, Azure 와 같은 환경은 사용할 수 없었고, 선배들 또한 도와줄 여력이 되지 않아 혼자서 이 일을 감내해야 했기에 그 당시엔 눈물 깨나 흘렸었다.

지금은 그 당시의 경험이 꽤나 훌륭한 밑거름이 되었기에 경험을 되새기는 겸, 나중에 다시 참고하는 용도 겸 아는 대로 시리즈로 작성해보려 한다.
개인적인 기록 용도로 쓰다보니 이론적인 부분을 깊게 파고들기보다는 내가 구축했던 방법, 구축하며 겪었던 디버그 케이스들에 대한 작성이 대부분일 것 같다.
순서는 다음과 같이 작성해볼 생각이다.

  1. 기본 OS 환경 설정
  2. Docker의 간략한 개념과 설치
  3. Kubernetes 의 간략한 개념과 on-premise 환경에서의 설치
  4. CI/CD Chain 구축에 대하여
  5. RDB 셋팅 - Postgres
  6. 오픈소스 (1) Redis
  7. 오픈소스 (2) Kafka
  8. 오픈소스 (3) MongoDB
  9. 모니터링을 위한 Prometheus+Grafana
profile
성장 지향 백엔드 개발자

0개의 댓글