jrcfore***
2025-08-31

프로덕트를 만드는 것만큼이나 중요한 것이 완성된 프로덕트를 잘 운영하는 것이다.
대체로 현업에서 일하다 보면, 새로운 것을 만드는 것에는 흥미를 많이 느끼는 개발자가 많지만 정작 가장 중요한 유지 보수 및 운영을 재미없어하는 개발자가 많다는 것을 알게 된다.
이유는 간단하다. 새로운 툴을 만들어 낸다는 것은 가장 트렌드가 되는 기술들을 이용하여 신개념의 무엇인가를 만들어내는 일이고, 유지 보수 및 운영을 한다는 것은 새로운 기술을 학습하기보단, 기존에 만들어졌던 산출물을 관리한다는 측면에서 배울 점이 크게 없다고 생각하기 때문이다.
하지만, 이는 지극히 경계해야 할 부분이라 생각된다. 새로운 것을 만드는 것과 기존의 것을 유지 보수하며 배울 수 있는 영역이 다르며, 유지 보수 및 운영을 한다고 해서 배울 수 있는 요소가 전혀 없는 것이 아니기 때문이다.
개인적으로 필자의 경우에는 유지 보수 / 운영하는 과정을 통해서 배운 점이 훨씬 많았었더랬다.
그런 점에서 이번에 출간된 도서인 Continuous Deployment는 유지 보수 / 운영 - 신규 개발을 통틀어 가장 중요한 CI/CD를 다루었다는 점에서 그 의의가 크다.
프로젝트를 진행하며 완성된 프로젝트를 지속적으로 배포하고 이를 자동화는 사이클을 반복하다 보면 자신도 모르게 배포 프로세스 + 안정적인 개발에 익숙해질 수 있기 때문이다.
이 책은 개발자에게 반드시 필요한 이 부분을 친절히 그리고 명확히 가이드하고 있다.
【책 내용 요약】
이 책은 지속적인 개발의 장점과 이를 통해서 얻을 수 있는 장점, 나아가 이를 고도화할 수 있는 방법을 제안하고 있다.
책의 구조는 다양한 사례를 예로 들어가며 상황에 맞게 저자가 생각했던 팁과 노하우를 요약해두었으며 이를 통해 얻을 수 있는 장단 점을 명확히 하여 독자로 하여금 이해를 돕고 있다.
책의 구성은 크게 아래와 같이 구성되어 있다.
지속적인 배포에서는 앞서 말한 바와 같이 지속적인 배포가 갖는 장점과 상황에 따른 접근법에 대한 이론적 지식을 정리하였고
개발 이전 단계, 개발 단계, 개발 이후 단계에서는 각 단계별 필요한 배포의 방법 이론을 설명하고 있다. 한 가지 예를 들자면 '개발 단계'에서는 신규 기능이 추가가 될 텐데, 어떻게 이를 격리하고 이에 대한 적절한 테스트와 안정적인 서비스 적용 방법이 가능한지 프론트, 백, DB 세 가지 컴포넌트 혼합 환경을 예를 들어 설명하고 있다.
【 지속적 배포를 읽고 나서 】
개발자가 된다는 것은 언제든 세상에 직면한 문제를 푸는 사람이 된다는 것을 의미한다. 하지만 문제를 푸는 방식에는 여러 접근 방식이 있다. 하나는 새로운 무엇인가를 발명하여 해결하는 방법이고, 하나는 기존에 있던 해결 방법을 고도화하여 좀 더 세련되게 문제를 해결하는 방법이다.
필자가 생각하기에 배포는 어찌 보면 기존에 있던 문제 + 새로운 문제를 아주 세련되게 해결하기 위한 하나의 수단이자 개발자가 거쳐야 하는 필수 과정이라고 생각된다.
어찌 보면 익숙하지만 어찌 보면 익숙하지 않은 당연한 과정들을 이번 기회를 통해 효율화하고 개선할 방안이 무엇이 있는지 고민해 보는 시간을 갖는 것도 본인의 역량을 키우는 데에 소중한 시간이 될 수 있지 않을까?
#본 도서는 "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.