본문 바로가기

더 괜찮은 개발자가 되기위한/프로젝트 완료하기

서비스 시작

□ 서비스 시작


○ 운영 환경 전환 작업


테스트가 완료됐으면 이제 시스템을 운영환경으로 옮겨야 한다. 얼핏 보기에 테스트 서버에 있는 데이터를 그대로 옮기면 될 것 같지만, 개발 환경과 운영 환경은 시스템 소프트의 버전과 제품이 다를 수 있고 서버 사양이 다르기 때문에 생각보다 어려운 작업이 될 수 있다.


운영 환경 전환 절차


일반적인 운영환경 전환 절차는 5단계로 나뉜다. 먼저 데이터베이스를 이전해야 한다. 개발 환경에서 생성한 테이블, 인덱스, 함수, 프로시저, 스케쥴러 등 데이터베이스와 관련된 프로그램을 운영 환경에 생성한다. 그리고 시스템에서 필요한 코드를 개발서버에서 이관하거나 추가로 생성해야 한다.


이제 좀 더 시간과 노력이 필요한 데이터를 이관 작업을 준비해야 한다. 데이터는 데이터베이스에 있는 정형데이터와 파일로 저장된 비정형 데이터로 나눌 수 있다. 정형 데이터의 경우에는 데이터베이스가 제공하는 이관 툴로 작업할 수 있다. 하지만 데이터베이스 버전이 다르거나 인코딩 방식에 차이가 있는 경우 직접 작업하는 것 보다는 데이터베이스 엔지니어를 부르는 것이 보다 효율적이다. 파일로 저장된 비정형 데이터의 경우에는 용량이 테라 바이트가 넘는 경우가 가끔씩 있다. 이와 같은 경우에는 이관 전용 소프트웨어를 사용하는 것이 가장 좋지만 고가이기 때문에 고속 전송을 지원하는 외장하드를 활용하는 것도 좋은 방법이 될 수 있다. 데이터 이관이 완료됐으면 테스트를 통해 작업이 정상적으로 진행됐는지 확인해야 한다. 데이터베이스 같은 경우에는 건수와 테이블 용량을 확인하고 샘플링을 통해 테이블의 직접 조회해 봐야 한다. 파일 데이터의 경우 디스크 점유 용량과 파일 건수를 확인해보고 샘플링 한 파일을 직접 열어봐야 한다.

이제 어플리케이션 프로그램을 이관할 차례이다. 가장 먼전 해야 할 것은 프로그램 내부에 있는 디버깅 코드를 제거하는 것이다. UNIX에서 제공하는 findgrep 등의 명령어를 조합해서 자주 사용되는 디버깅 패턴을 검색해서 제거할 수 있다. 테스트 과정에서 프로그램에 삽입되었던 StubHarness를 제거해야 한다. 프로그램이 다른 시스템과 인터페이스를 할 경우 직접 시스템을 연동할 수 없는 경우가 있기 때문에 테스트를 위한 가장의 코드를 삽입해야 하는데 이것을 StubHarness라고 부른다. Test.phpTestClass.java와 같이 테스트를 위해 만들었던 임시 프로그램도 모두 삭제해야 한다. 이것 또한 UNIX에서 제공하는 명령어를 통해 쉽게 찾을 수 있다.


프로그램 이관이 모두 끝났다면 웹서버 설정을 해야 한다. 엔터프라이즈 환경에서는 별도의 파일을 통해 데이터베이스 연결 설정을 저장한다. 웹서버나 프레임워크에서 제공하는 환경 파일에 들어있는 데이터베이스 주소와 아이디 그리고 비밀번호 정보를 수정해야 한다. 만일 테스트 환경에서 Tomcat을 사용했고 운영환경에서 제우스를 사용한다고 하면 Tomcat을 연결하기 위한 JDBC 연결 URLjava:comp와 같은 문자를 넣어주기 때문에 이것을 반드시 제거해야 한다.


개발 환경에서 시스템테스트를 통해 요구하는 품질을 만족하는지 테스트를 했지만, 운영 환경은 개발 환경과 많은 면에서 다르기 때문에 운영환경에서도 다시 한번 시스템 테스트를 하는 것이 좋다. 개발환경에서 테스트한 결과 값과 운영환경에서 테스트한 결과 값이 다르다면 운영 환경 테스트 결과 값 기준으로 검수를 진행해야 한다.


○ 운영 환경 전환 시 고려사항 


운영 환경 전환 시 고려사항


운영 전환 절차를 알아봤다면 이제 운영 전환 과정에서 고려해야 할 사항들에 대해서 알아보자. 가장 기본적인 것은 HDD 공간을 확보하는 것이다. 웹 프로그램 크기는 그다지 크지 않지만 파일 데이터와 이관 대상 데이터베이스가 클 수 있기 때문에 기존 시스템에 저장된 이관 대상 데이터의 크기를 파악하고 충분한 HDD 공간을 사전에 확보해야 한다.


이관 대상 데이터 사이즈가 크다면 이관 시간 또한 굉장히 많이 걸린다. 비즈니스 성격에 따라 서비스 중단 가능 시간이 정해져 있기 때문에 이관 시간과 중단 가능 시간을 비교해 봐야 한다. 증권사 같은 경우 평일 야간과 주말에 쉬기 때문에 이 기간에 이관을 하거나 좀 더 시간이 필요하다면 연휴 또는 추석과 설 같은 명절을 이용해야 한다.


운영 전환 작업은 프로그램 개발과 많이 다르다. 시스템 지식이 많이 요구되는 작업이 많고 웹 서버와 데이터베이스 사이에 개발자가 모르는 많은 장비가 설치되어 있기 때문에 고객사와 시스템 유지보수 계약이 되어있는 업체에게 연락해 운영 전환 작업 동안 관련 엔지니어(웹서버, 데이터베이스, 방화벽, 웹방화벽 등) 들을 회사에 대기하도록 해야 한다.


운영전환은 단순하고 쉬운 작업이 아니다. 작업 순서 또한 매우 중요하기 때문에 어떤 절차로 작업을 진행해야 하는지 사전에 꼼꼼하게 준비해야 한다. 전환에 필요한 모든 사항을 운영 전환 계획서에 담아야 하면 설계자와 PM이 운영 전환 계획서가 잘 작성 됐는지 사전에 충분히 검토한 후에 작업을 진행해야 한다.