지금까지 우리는 서비스들을 콘솔에서 클릭으로 만들었다. 그런데 같은 환경을 개발·테스트·운영용으로 세 벌 만들어야 하거나, 실수 없이 똑같이 재현해야 한다면 클릭은 위험하고 느리다. 오늘은 **인프라를 코드로 다루는 방법(IaC)**과, 배포를 단순화하는 도구, 그리고 서버 관리 부담을 줄이는 컨테이너·서버리스 개념을 정리한다.
핵심 질문은 하나다: "어디까지를 내가 직접 관리하고, 어디부터를 AWS에 맡길까?" 오늘 보는 도구들은 그 책임 경계를 점점 위로 올려준다.
IaC라는 말이 왜 나왔는지는, 그것이 없던 시절을 보면 바로 이해된다.
어느 회사에 운영 환경이 하나 있다. EC2 세 대, 로드밸런서 하나, 데이터베이스 하나, 보안 그룹 다섯 개, 그리고 그 사이를 잇는 수십 가지 설정. 이 환경은 지난 2년간 여러 사람이 콘솔에서 하나씩 클릭해 만들었다. 그러다 어느 날 요청이 온다. "테스트용으로 똑같은 환경을 하나 더 만들어 주세요."
그때부터 문제가 시작된다.