작성
·
262
0
안녕하세요. 강의 감사합니다.
2:50~3:00 부분 컨티뉴 디플로이먼트에서
운영에 반영하기 전에 충분한 테스트를 거치고 그 다음에 반영한다는 말인가요?
그 후에
카나리나 배포 블루그린 배포처럼 문제가 있을 수 도 있지만 새버전에 문제가 발생하면 지속적으로 수정 업데이트 한다는 설명으로 이해한게 맞나요??
답변 1
7
안녕하세요, 이도원입니나.
애플리케이션의 개발에 있어서, "분석 - 설계 - 구현 - 테스트 - 배포 - 유지보수"는 가장 일반적인 프로세스 중에 하나입니다. 이 중 테스트는 기본적인 개발자의 단위 테스트 뿐만 아니라, 개발 환경에서의 통합 테스트, 사용자(고객) 통합 테스트(User Acceptance Test)를 모두 거치고, 거기에 따른 Sign off(허가, 승인)로 끝난 뒤에 운영 환경에 배포하게 됩니다.
운영환경으로 넘어가게 되면, 코드에 대한 추가적인 수정은 할 수 없으며, 변경할 경우, PM으로부터의 승인 뿐만 아니라, 위에서 진행했던 모든 테스트 과정과 Sign off 과정이 필요할 수도 있습니다. 그만큼 테스트는 필수입니다.
예전에 근무했던 금융회사에서는 개발 환경의 통합 테스트에 사용된 테스트 케이스만 모두 실행하는데에 30분 이상 소요되기도 하였습니다. 개발 과정에서는 상관없지만, 테스트 단계에서는 테스트 케이스에 Fail이 발생하면, 수정 후 모든 테스트 케이스를 다시 실행하는 과정을 거치게 됩니다. 이는 오류가 발생했던 코드를 수정하면서 수정했던 코드가 다른 성공 케이스에 영향을 주었을지도 모르기 때문에, 불편하지만 반드시 실행해야 하는 과정이라고 생각됩니다.
카나리 배포, 또는 블루 그린 배포 등과 같은 배포방식은 이전 서비스를 중단하지 새로운 서비스와 동시에 운영하면서, 새로운 서비스에 생기는 문제 상황 - 어떤 기능이나 서비스들은 테스트 단계에서 발견되지 않고, 부득이하게 운영단계에서 발견되는 경우도 있습니다. 어쩔수 없이 운영단계에서 오류가 발생되는 것을 기다려야 하는 경우도 있었습니다 - 의 영향을 최소화 시키기 위한 방법입니다. 새로운 버전에 지속적이 업데이트를 할 수도 있겠지만, 문제가 발생한다는 것을 알게 되면, 다시 이전 서비스로 사용자의 요청을 돌리고, 새로운 버전은 수정하고 테스트를 거쳐 다시 배포할 수 있습니다.
추가 질문사항 있으시면 글 남겨 주세요.
감사합니다.