E4NET

[IT서비스 사업본부] EKEP, PRMS 사내 인프라 개선 프로젝트 본문

E4.Live/프로젝트 소개

[IT서비스 사업본부] EKEP, PRMS 사내 인프라 개선 프로젝트

E4. 2021. 8. 24. 16:11

     IT서비스프로젝트소개   

사업명  : EKEP, PRMS 사내 인프라 개선 프로젝트
발주처  : 이포넷
사업기간  : 2021년 05월 20일 ~ 현재
담당PM  : 이득경 부사장
투입인력  : 서영은 책임, 전서언 주임, 최원상 주임


안녕하세요. IT서비스사업본부 최원상 주임입니다.

사내 인프라 팀에서 진행 중인 사내 인프라 개선 프로젝트에 대해서 소개하려고 합니다. 사내 임직원 전체가 사용하고 있는 EKEP 및 언어사업부에서 사용하는 PRMS를 포함하여, 기존 레거시 환경에서 프라이빗 클라우드 환경으로 인프라 개선 작업을 진행하고 있습니다.(대상시스템: EKEP, PRMS, DOMS, META, E4Lang)

크게 기존 Spring Legacy에서 SpringBoot로 변환 및 프로젝트 내에 사용된, 예전 방식의 코드와 라이브러리들의 현행화를 진행하고 있습니다. 또한 서비스 배포 환경을 최신 트렌드인 Docker를 사용하여 구축하였습니다.

기존 사내 시스템은 개발자가 서버에 접속하여 Gitlab에 있는 소스를 Pull 하여 빌드하고 Tomcat Standalone 형태로 Tomcat을 Shutdown/Startup 하는 방식이었다면, 이번 개선에서는 Gitlab CICD와 Docker/Docker-Compose를 이용하여 자동 배포하도록 변경하였습니다. ( 참고 : wikipedia_docker )

해당 방식은 Gitlab에서 배포하고자 하는 pipeline을 실행시켜 자동으로 서버에 기존에 운영중인 서비스를 종료시키고 앞서 배포하고자 하는 소스 기준으로 서비스를 실행시키는 구조입니다. 개발자는 소스를 Push하고 배포 버튼만 누르면 모든 과정이 자동으로 진행됩니다.

또한 서버를 이중화하여 멀티 인스턴스 방식으로 운영하며 하나의 서버가 비정상적으로 종료/시스템 장애 등 문제가 발생하더라도 이를 HaProxy가 감지하여 다른 인스턴스로 로드밸런싱 시켜 원활한 서비스를 이용 할 수 있도록 구성하였습니다. 아무래도 새로 개발하는 프로젝트가 아니다 보니, 걷어내야 할 코드도 많고 변경해야 할 설정 파일도 많아 처음 며칠동안 실행조차 안되어 미로를 헤매는 심정이었습니다. 그래서 근본적인 해결보다는 일단 돌아가게만 하자는 유혹도 있어 힘들었지만 그럴때마다 부사장님께서 도와주시면서 바로잡아 주셨습니다.

현재 EKEP / META / DOMS가 Docker 환경으로 구동중이고, 지금도 조금씩 내외부적으로 변화하고 있습니다. PRMS / E4Lang도 곧 새로운 환경에서 서비스를 운영할 예정입니다. 사내 시스템이 완벽해지는 그날까지 열심히 하겠습니다!

0 Comments
댓글쓰기 폼