단 1초의 중단타임없이 안정적으로 프로젝트의 소스코드를 업데이트하는 기술

단 1초의 중단타임없이 안정적으로 프로젝트의 소스코드를 업데이트하는 기술

개발환경/운영환경 분리, 무중단 배포 기술 적용으로 코드인디자인의 안정적인 서비스 관리 노하우

개발환경/운영환경 분리, 무중단 배포 기술 적용으로 코드인디자인의 안정적인 서비스 관리 노하우

2024.07.19

2024.07.19

|

|

코드인디자인 대표 심재철

코드인디자인 대표 심재철

작성

작성

코드인디자인에서 고객사의 프로젝트를 어떤식으로 안정적으로 운영하고 관리하고 있는지에 대해서 말씀드리겠습니다.

개발환경과 운영환경의 분리

우선, 용어부터 먼저 말씀드리겠습니다.

운영환경: 실제 운영중인 서버

개발환경: 운영서버를 그대로 복제한 테스트 서버

소프트웨어는 지속적인 유지관리가 필수입니다.

오류가 있는 코드가 운영환경에 바로 배포 되면 버그가 발생할 확률이 높아집니다. 매출이 일어나고 있는 서비스라면 고객사의 손해가 빠르게 누적되기 시작합니다.

코드인디자인에서는 개발환경과 운영환경의 분리하여 내부 검토를 거친 기능만 실제 운영환경에 배포가 될 수 있도록 하고 있습니다.
(유명 IT회사에서는 대부분 사용하고 있는 방법입니다.)

1차적으로 개발자가 코딩을 하면서 버그를 확인하고, 2차적으로 개발환경에서 한번 더 검수를 하고나서 운영환경에 배포가 되기 때문에 안정적인 프로젝트 관리가 가능해집니다.

CI/CD 설정과 무중단배포

어려운 용어를 먼저 쉽게 설명해드리겠습니다.

  • CI/CD: 소스코드를 업데이트하면 서버에 자동으로 반영되게하는 기술

  • 무중단배포: 소스코드를 서버에 업데이트할때 접속이 중단되지 않게 만드는 기술

CI/CD 설정을 통해 개발자가 업데이트한 코드를 일일이 서버에 수동으로 배포하지 않아도 되며, 무중단배포 설정을 통해 유저들이 365일 24시간 내내 중단, 끊김없는 서비스 이용이 가능합니다.


프로젝트 히스토리 관리

프로젝트의 기간이 길어지고, 오래될수록 중간중간 담당했던 인원들이 퇴사하면서 인수인계 과정을 거칩니다.인수인계를 하면서 프로젝트의 히스토리가 잘못 와전되고 왜곡됩니다.

결국 나중에 해당 프로젝트를 유지보수하는 담당자는 사소한 기능 하나를 업데이트하려는데 예전 자료를 일일이 찾아가면서 일을 해야하기 때문에 점점 많은 시간을 써야합니다. (히스토리가 많이 쌓일수록 히스토리를 파악하는데 들어가는 시간이 기하급수적으로 증가합니다.)

그럼 고객사 입장에서 개발사가 사람의 기억과 대화는 언젠가 잊혀지기 마련입니다. 그래서 프로젝트의 히스토리를 “문서”로 관리하는게 정말 중요합니다.

코드인디자인에서는 옵시디언이라고하는 로컬 기반 차세대 메모앱을 활용하여(No Cloud), 공개되지않은 내부 전산으로 각 고객사의 프로젝트 히스토리를 관리하고 있습니다.

문서는 주기적으로 업데이트되고 있으며, 잘 관리되기 때문에 시간이 지나 인수인계 과정을 거치더라도 사람의 기억에 의존하지 않기 때문에 정확한 의미 전달이 가능해집니다.

코드인디자인은 이런 여러가지 테크닉을 활용하여 고객사의 프로젝트를 장기적인 관점에서 관리하고있습니다.

코드인디자인에서 고객사의 프로젝트를 어떤식으로 안정적으로 운영하고 관리하고 있는지에 대해서 말씀드리겠습니다.

개발환경과 운영환경의 분리

우선, 용어부터 먼저 말씀드리겠습니다.

운영환경: 실제 운영중인 서버

개발환경: 운영서버를 그대로 복제한 테스트 서버

소프트웨어는 지속적인 유지관리가 필수입니다.

오류가 있는 코드가 운영환경에 바로 배포 되면 버그가 발생할 확률이 높아집니다. 매출이 일어나고 있는 서비스라면 고객사의 손해가 빠르게 누적되기 시작합니다.

코드인디자인에서는 개발환경과 운영환경의 분리하여 내부 검토를 거친 기능만 실제 운영환경에 배포가 될 수 있도록 하고 있습니다.
(유명 IT회사에서는 대부분 사용하고 있는 방법입니다.)

1차적으로 개발자가 코딩을 하면서 버그를 확인하고, 2차적으로 개발환경에서 한번 더 검수를 하고나서 운영환경에 배포가 되기 때문에 안정적인 프로젝트 관리가 가능해집니다.

CI/CD 설정과 무중단배포

어려운 용어를 먼저 쉽게 설명해드리겠습니다.

  • CI/CD: 소스코드를 업데이트하면 서버에 자동으로 반영되게하는 기술

  • 무중단배포: 소스코드를 서버에 업데이트할때 접속이 중단되지 않게 만드는 기술

CI/CD 설정을 통해 개발자가 업데이트한 코드를 일일이 서버에 수동으로 배포하지 않아도 되며, 무중단배포 설정을 통해 유저들이 365일 24시간 내내 중단, 끊김없는 서비스 이용이 가능합니다.


프로젝트 히스토리 관리

프로젝트의 기간이 길어지고, 오래될수록 중간중간 담당했던 인원들이 퇴사하면서 인수인계 과정을 거칩니다.인수인계를 하면서 프로젝트의 히스토리가 잘못 와전되고 왜곡됩니다.

결국 나중에 해당 프로젝트를 유지보수하는 담당자는 사소한 기능 하나를 업데이트하려는데 예전 자료를 일일이 찾아가면서 일을 해야하기 때문에 점점 많은 시간을 써야합니다. (히스토리가 많이 쌓일수록 히스토리를 파악하는데 들어가는 시간이 기하급수적으로 증가합니다.)

그럼 고객사 입장에서 개발사가 사람의 기억과 대화는 언젠가 잊혀지기 마련입니다. 그래서 프로젝트의 히스토리를 “문서”로 관리하는게 정말 중요합니다.

코드인디자인에서는 옵시디언이라고하는 로컬 기반 차세대 메모앱을 활용하여(No Cloud), 공개되지않은 내부 전산으로 각 고객사의 프로젝트 히스토리를 관리하고 있습니다.

문서는 주기적으로 업데이트되고 있으며, 잘 관리되기 때문에 시간이 지나 인수인계 과정을 거치더라도 사람의 기억에 의존하지 않기 때문에 정확한 의미 전달이 가능해집니다.

코드인디자인은 이런 여러가지 테크닉을 활용하여 고객사의 프로젝트를 장기적인 관점에서 관리하고있습니다.