<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[무작정 만들고 나중에 고치면 될까?]]></title><description><![CDATA[<p dir="auto">요즘 ● goodtek-web을 만들면서 계속 드는 생각이 있습니다.</p>
<p dir="auto">“일단 만들고, 나중에 구조 잡으면 되지 않을까?”</p>
<p dir="auto">초반에는 이 말이 꽤 합리적으로 들립니다.</p>
<p dir="auto">너무 처음부터 완벽한 구조를 잡으려고 하면 속도가 안 나고, 아직 아무도 쓰지 않는 제품에 과한 시스템을 붙이는 것도 낭비처럼 보입니다.</p>
<p dir="auto">저도 처음에는 일단 돌아가게 만드는 쪽에 가까웠습니다.</p>
<p dir="auto">화면이 뜨고, 기능이 동작하고, 서버에 올라가면 일단 다음으로 넘어갔습니다.</p>
<p dir="auto">그런데 계속 만들다 보니 생각이 조금 바뀌었습니다.</p>
<p dir="auto">나중에 붙이는 게 생각보다 쉽지 않습니다.</p>
<p dir="auto">배포 자동화든, CI/CD든, 브랜치 전략이든, 무중단 배포든 겉으로 보면 “나중에 붙이면 되는 것”처럼 보입니다.</p>
<p dir="auto">하지만 실제로는 기존 구조를 꽤 많이 건드리게 됩니다.</p>
<p dir="auto">배포 방식이 바뀝니다.<br />
브랜치 흐름이 바뀝니다.<br />
서버에 코드가 반영되는 방식이 바뀝니다.<br />
환경 변수 관리 방식이 바뀝니다.<br />
컨테이너를 재시작하는 방식도 바뀝니다.</p>
<p dir="auto">이건 단순히 설정 파일 몇 개를 추가하는 일이 아니었습니다.</p>
<p dir="auto">제품이 돌아가는 흐름 자체를 바꾸는 일에 가까웠습니다.</p>
<p dir="auto">더 큰 문제는, 그때 이미 고객이 쓰고 있을 수도 있다는 점입니다.</p>
<p dir="auto">고객이 사용하는 제품에 배포 구조를 크게 바꾸는 건 단순한 리팩토링이 아닙니다.</p>
<p dir="auto">서비스가 중간에 멈출 수 있습니다.<br />
예상하지 못한 502가 날 수 있습니다.<br />
새 컨테이너가 정상적으로 뜨지 않을 수 있습니다.<br />
롤백이 준비되어 있지 않으면 대응도 어려워집니다.</p>
<p dir="auto">dev 환경에서는 괜찮습니다.</p>
<p dir="auto">“잠깐 안 되네. 다시 보자.”</p>
<p dir="auto">이렇게 넘길 수 있습니다.</p>
<p dir="auto">하지만 고객이 돈을 내고 쓰는 production 환경에서는 다릅니다.</p>
<p dir="auto">그 잠깐의 중단도 사용자 경험이 됩니다.<br />
그리고 그 경험은 신뢰와 바로 연결됩니다.</p>
<p dir="auto">그래서 이번에 ● goodtek-web에 Git Flow + GitHub Actions 기반 dev CI/CD를 먼저 붙였습니다.</p>
<p dir="auto">흐름은 이렇게 잡았습니다.</p>
<p dir="auto">task 브랜치<br />
→ PR<br />
→ CI 검증<br />
→ develop 머지<br />
→ dev 서버 자동 배포<br />
→ health check</p>
<p dir="auto">겉으로 보면 기능은 하나도 늘지 않았습니다.</p>
<p dir="auto">사용자 화면이 좋아진 것도 아니고, 새로운 버튼이 생긴 것도 아닙니다.</p>
<p dir="auto">하지만 제품을 계속 운영할 수 있는 기반은 조금 더 단단해졌습니다.</p>
<p dir="auto">이번 작업의 목적은 “자동 배포 붙였다”가 아니었습니다.</p>
<p dir="auto">나중에 고객이 쓰고 있는 제품 위에서 위험하게 구조를 갈아엎지 않기 위해, 지금 dev 환경에서 미리 흐름을 잡아두는 것이었습니다.</p>
<p dir="auto">처음부터 모든 걸 완벽하게 만들 필요는 없다고 생각합니다.</p>
<p dir="auto">하지만 나중에 붙이기 어려운 것들은 분명 있습니다.</p>
<p dir="auto">배포 구조.<br />
데이터 구조.<br />
인증 구조.<br />
권한 구조.<br />
운영 환경.</p>
<p dir="auto">이런 것들은 제품이 커지고 사용자가 생긴 뒤에 바꾸려면 비용이 커집니다.</p>
<p dir="auto">그때는 코드만 바꾸는 게 아니라, 이미 사용 중인 서비스를 건드리는 일이 되기 때문입니다.</p>
<p dir="auto">요즘은 그래서 이런 기준을 세우고 있습니다.</p>
<p dir="auto">빠르게 만들어도 된다.<br />
하지만 나중에 붙이면 제품을 흔들 수 있는 것들은 너무 늦기 전에 바닥을 깔자.</p>
<p dir="auto">이번 dev CI/CD 작업도 그런 맥락이었습니다.</p>
<p dir="auto">아직 완전한 무중단 배포까지 간 건 아닙니다.</p>
<p dir="auto">하지만 다음 단계로 갈 수 있는 길은 열어뒀습니다.</p>
<p dir="auto">앞으로는 이런 것들을 차근차근 붙여가야 합니다.</p>
<p dir="auto">production 배포 workflow.<br />
운영 배포 승인 절차.<br />
GHCR 기반 이미지 배포.<br />
blue/green 배포.<br />
롤백 가능한 구조.</p>
<p dir="auto">오늘도 화려한 기능은 아니었습니다.</p>
<p dir="auto">하지만 나중에 고객이 쓰고 있는 제품 위에서 식은땀 흘리며 구조를 바꾸지 않기 위해, 지금 작은 dev 환경에서 먼저 연습하고 있습니다.</p>
<p dir="auto">여러분은 어떤 것들이 **“나중에 붙이면 늦는 구조”**라고 생각하시나요?</p>
]]></description><link>https://community.goodtek.xyz/topic/6/무작정-만들고-나중에-고치면-될까</link><generator>RSS for Node</generator><lastBuildDate>Tue, 09 Jun 2026 15:15:52 GMT</lastBuildDate><atom:link href="https://community.goodtek.xyz/topic/6.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 03 Jun 2026 03:29:21 GMT</pubDate><ttl>60</ttl></channel></rss>