msa로 구현을 하였으니 오케스트레이션이 빈번하게 발생할텐데, 동적으로 변하는 서버들을 어떻게 알고 배포를 진행할것인가?
해결
배포를 구상하기에 앞서 k8s를 사용할것인가?
-> MSA와 k8s는 필수요소라 생각을 하긴 한다.
다만, 내가 원하는건 동일 서버에서 스케일아웃이 일어나는것이 아닌, 서버 자체가 스케일 아웃이 일어나야 허용할 수 있는 트래픽을 점진적으로 늘려갈 수 있다고 생각한다. 때문에 이번 프로젝트에선 k8s를 사용하지 않고 EC2 자체를 늘리기 위하여 Auto Scaling Group을 사용하면 될 것 같다
CI/CD 프로그램은 어떤것을 사용할것인가?
-> CI는 CircleCI, Jenkins, Travis CI등등 많이 있는데 가장 대중적인 Jenkins를 사용하는게 좋을 것 같고,
CD는 요즘 많이 사용되고있는 Code Deploy를 사용해보려 한다
msa로 구현을 하였으니 오케스트레이션이 빈번하게 발생할텐데, 동적으로 변하는 서버들을 어떻게 알고 배포를 진행할것인가?
-> 찾아보니 Code Deploy를 설정할 때 ASG를 지정하면 LB를 통해서 대상 서버들을 관리하는 것 같다..
AWS가 처음이다 보니 머리속에서 정리가 잘 안되긴 하지만 일단 가능한 것 같다!
무중단 배포 환경을 어떤 방식으로 구현할지 설계하려 한다
고민
해결
배포를 구상하기에 앞서 k8s를 사용할것인가? -> MSA와 k8s는 필수요소라 생각을 하긴 한다. 다만, 내가 원하는건 동일 서버에서 스케일아웃이 일어나는것이 아닌, 서버 자체가 스케일 아웃이 일어나야 허용할 수 있는 트래픽을 점진적으로 늘려갈 수 있다고 생각한다. 때문에 이번 프로젝트에선 k8s를 사용하지 않고 EC2 자체를 늘리기 위하여 Auto Scaling Group을 사용하면 될 것 같다
CI/CD 프로그램은 어떤것을 사용할것인가? -> CI는 CircleCI, Jenkins, Travis CI등등 많이 있는데 가장 대중적인 Jenkins를 사용하는게 좋을 것 같고, CD는 요즘 많이 사용되고있는 Code Deploy를 사용해보려 한다
msa로 구현을 하였으니 오케스트레이션이 빈번하게 발생할텐데, 동적으로 변하는 서버들을 어떻게 알고 배포를 진행할것인가? -> 찾아보니 Code Deploy를 설정할 때 ASG를 지정하면 LB를 통해서 대상 서버들을 관리하는 것 같다.. AWS가 처음이다 보니 머리속에서 정리가 잘 안되긴 하지만 일단 가능한 것 같다!
진행