IT Story

개발 환경의 중요성 AA의 중요성 아키텍처 중요성

개발하는 주디씨 2023. 3. 20. 16:05

 

 

간과된 환경설정은
꼭 나비효과를 불러일으킨다.

 

 

SI 프로젝트 대부분은 고객사에서 직접 진행하기 때문에 개발환경을 생각해볼 기회가 없었다. 고객사에서 주어진 환경과 이미 정해진 기술스택에 따라 진행되기 때문이다. 따라서 개발환경 자체에 대한 중요성이나 영향도를 파악하기에 어려움이 있었다. 하지만 우연히 프로젝트 하나를 본사 내부에서 진행하고, 개발완료 된 패키지 파일을 고객사에 설치해주어야 하는 일을 하게 되며 그 중요성을 몸소 깨달았다.

 

분명 개발망(dev)에서는 정상적으로 동작했다. 때로는 외부망(test)에서도 정상적으로 작동한다. 하지만, 운영(prod) 환경만 올라가면 동작하던 api가 안되고 스크립트 처리에 문제가 생긴다. 이 문제로 거의 몇 주를 고생했던 것 같다. 여기서 "모든 서버마다 환경이 다르니까 그럴 수 있지"라고 말하는 독자는 비슷한 경험을 했을 것이라고 생각한다.

 

모든 서버마다 환경이 다르다는 사실을 모르는 개발자는 없을 것이다. 하지만 늘 그렇듯 아는 것과 경험은 다르다. 나 역시 알고는 있었지만 설마 이게 문제가 되었던 건가라는 요소가 있었고, 실제로 이슈의 원인을 제공했었다. 가령 MariaDB MySQL은 윈도우와 리눅스 환경에서의 기본값이 다르다는 것이다. 윈도우는 대소문자를 구분하지 않고, 리눅스는 운영체제 자체가 대소문자를 구분하기 때문에 DB 또한 대소문자를 구분한다는 차이가 있다. 이 차이가 결국은 Data assess에 문제가 발생하는 것으로 프로세스에서 치명적인 문제를 야기하게 된다.

 

주어진 일에서만 했다면 이제는 그 환경을 돌아보세요. 어제보다 한 발더 성장한 개발자가 되어있을겁니다 :)