추가 생각
현대의 개발과 운영환경이란 같아야 하면서도 완전히 다른 거임
예를들어 내가 개발하는 경우 개발머신과 최초 테스트 머신 까지는 그냥 어플리케이션 서버에 대해 직접 테스트를 함. 데이터 베이스도 그냥 개발머신에 있는거 쓰거나 버추얼 호스트머신에 있는 거랑 연결
그 다음 단계로 넘어가서 스테이징 머신으로 가면 실제 운영 머신과 거의 동일하게 가져감 (100% 동일할 수는 없으니까). 해서 여기서부터 nginx를 끼고 시작, 데이터베이스는 버추얼 호스트머신꺼
aws에 설치는 안하고 테스트 하는 거기 때문에 elastic load balance는 없이 테스트.
여기서 테스트가 다 통과되면 aws 운영 머신으로 보내는 거지. 여기서는 elastic load balancer 랑 RDS 데이터베이스로 바뀌게 됨. DB의 경우 동일 버전으로 맞춰주고 RDS에서 제약있는 기능을 쓰면 안됨.
사람이 수작업으로 하기엔 존나 빡쎄기 떄문에 90%이상 자동화 되어 있어야 됨 ㅇㅇ
엥 어떤걸 자동화한다는 말씀이심니까
니가 소스코드 체크인 하는 순간, 자동으로 테스트, 컴파일 다 거치고 다음 단계 하고 해서... 최후에 버튼 하나 누르면 운영환경이 업데이트 되고 자동으로 재시작 되게 만들어야 된다. 복잡하고 세세한 일들이 많아서 사람이 수작업으로 하는 순간 바로 환경이 틀어지게 되서 예상치 못한 문제나 시한폭탄이 됨
테스트부터 실 서버에 올린것 까지 반복 작업을 자동화 한다는거 아닐가요
회사에서는 그렇게 하더라구요
ㄴ 어디냐?