Replies: 7 comments 1 reply
-
![]() |
Beta Was this translation helpful? Give feedback.
-
1️⃣ 번 작업에서 https://velog.io/@juhyeon1114/AWS-Auto-scaling-group-BlueGreen-%EB%B0%B0%ED%8F%AC%ED%95%98%EA%B8%B0 |
Beta Was this translation helpful? Give feedback.
-
2️⃣ CD 를 ec2 마다 / 순차적으로 하게 한다.방법 1.
|
Beta Was this translation helpful? Give feedback.
-
🔸 blue-green 적용 계획후보1️⃣ code deploy + elb : 2️⃣ git workflow + shell script 를 사용하는 방법 결국 선택한 것❗️git workflow + shell script 방법❗️ 한가지 걱정되는 부분은 |
Beta Was this translation helpful? Give feedback.
-
2️⃣ CD 를 ec2 마다 / 순차적으로 하게 한다.방법 2. max-parallel기본적으로는 모든 러너를 사용해서 job들을 병렬적으로 수행한다. 하지만 max-parallel 설정을 통해 동시에 실행할 job의 개수를 설정해줄 수 있다. jobs:
test-concurrency:
runs-on: ${{ matrix.os }}
strategy:
max-parallel: 1 # 동시에 1개만 job이 실행되도록 설정
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
concurrency:
group: sequential-test
cancel-in-progress: false # 이전 작업을 취소하지 않는다는 설정 실험 결과 순서대로 하나씩 runs-on을 실행함! ![]() |
Beta Was this translation helpful? Give feedback.
-
ASG를 꼭 써야할까? https://docs.aws.amazon.com/ko_kr/codedeploy/latest/userguide/applications-create-blue-green.html |
Beta Was this translation helpful? Give feedback.
-
![]() |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
내가 하는 작업은 무엇을 위한 작업인가?
-> 무중단 배포를 위함이다.
머지 후 다시 run 할 때 발생하는 downtime 을 없애기 위해서이다.
작업이 끝나고 나서, 빌드를 하는 중간에 요청을 보내는 툴(e.g. Jmeter) 를 사용해서 error 응답이 얼마나 오는지를 확인해서 결과를 판단한다.
이 작업으로 해결하려는 문제는 무엇인가? 본질을 생각해보자.
downtime 을 없애기 위해서이다.
사용자가 죽은 서버에 보내지 않기 위함.
api 버전 불일치되는 ec2 를 동시에 띄우지 않기 위함.
우테코 요구사항을 만족하기 위함.
우리의 궁극적인 목표가 "사용자가 항상 200 받게 하기" 라면, 프론트도 사실 신경을 써야 하는건 맞다.
프 / 백 배포 버전 달라서 생기는 문제는 인지는 하나, 1차 목표로 백엔드 무중단만 고려한다.
작업을 함에 있어 무엇을 가장 우선시해야 할까?
후보 : 속도 / 깊이 있는 공부 / 꼼꼼하게 모든 조건을 만족시키는 것
1/ 속도 : 다음주 월요일까지 완료해야 한다.
2/ 깊이 있는 공부 : 논의했던 과정을 문서화만 한다면 괜찮다고 생각한다.
이미 나와있는 방식 중에서 우리가 선택하는 것, 무엇을 적용할까?
넓은 가능성을 고려하는 방식 & 비교 & 다양한 측면 따지기
3/ 꼼꼼하게 조건 (배포를 하는 중에도 사용자가 사용할 수 있게)를 만족하는 것을 목표로!! 이것을 기준으로 해야 한다.
상대적으로 중요하게 생각하지 않아도 되는 부분은 무엇인가?
반드시 충족시켜야 하는 것들에는 무엇이 있는가?
어떤 순서로 일을 처리할 것인가?
어떻게 해야 이 일을 더 효율적으로 처리할 수 있을까?
작업에 방해가 될만한게 있나? 그걸 어떻게 차단할 수 있을까?
예상 작업 시간을 적고, 타이머를 설정하자
예상 시간 :
실제 시간 :
예상 시간과 실제 시간이 다른 이유 :
Beta Was this translation helpful? Give feedback.
All reactions