Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BE] 무중단 배포 적용 #900

Merged
merged 2 commits into from
Oct 23, 2024

Conversation

nayonsoso
Copy link
Contributor

@nayonsoso nayonsoso commented Oct 22, 2024


🚀 어떤 기능을 구현했나요 ?

  • 무중단 배포 테스트를 통해 무중단 배포가 됨을 검증한 후, 이를 우리의 cd에 적용했습니다.

🔥 어떻게 해결했나요 ?

  • cd 에서 더 이상 사용되지 않는 환경변수를 제거했습니다. (아티팩트 관련)
  • 개발 서버의 배포는 '자동'으로 develop 브랜치에 머지가 될 때 진행됩니다.
  • 운영 서버의 배포는 '수동'으로, 직접 run을 해줘야 진행됩니다.
    • 이렇게 차이를 둔 이유는 다음과 같습니다.
    • 블루 그린 방식은 순간적으로 하나의 EC2에 두개의 어플리케이션이 뜨므로, TPS가 떨어집니다.
    • 이 영향을 최소화하는 방법을 '새벽 배포'같은 것들이 있을거라 생각이 들어 운영 서버 배포는 수동으로 해주었습니다.
    • 하지만 개발 서버는 이러한 것들을 신경쓰지 않아도 되므로 자동으로 해줬습니다.
  • 운영 서버의 배포는 두개의 ec2가 병렬로 블루-그린 방식으로 실행되게 했습니다.

📝 어떤 부분에 집중해서 리뷰해야 할까요?

📚 참고 자료, 할 말

- 불필요한 환경변수 제거
- dev: 자동
- prod: 수동, 하나씩만 cd가 일어나게 설정
- 순차적으로 실행되는 롤링보다, 원래의 의도였던 블루그린에 가까운 방식이 되도록 한다.
@donghoony
Copy link
Contributor

블루 그린 방식은 순간적으로 하나의 EC2에 두개의 어플리케이션이 뜨므로, TPS가 떨어집니다.
이 영향을 최소화하는 방법을 '새벽 배포'같은 것들이 있을거라 생각이 들어 운영 서버 배포는 수동으로 해주었습니다.
하지만 개발 서버는 이러한 것들을 신경쓰지 않아도 되므로 자동으로 해줬습니다.

👏🏻👏🏻👏🏻👏🏻👏🏻

@donghoony donghoony changed the title [BE] 무중단 배포 cd 를 기존 cd에 추가 [BE] 무중단 배포 적용 Oct 22, 2024
@donghoony donghoony assigned nayonsoso and unassigned donghoony and Kimprodp Oct 23, 2024
@nayonsoso nayonsoso requested a review from skylar1220 October 23, 2024 05:53
Copy link
Contributor

@skylar1220 skylar1220 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

docker-compose 파일에 무중단 다시 적용하고 release에 merge하면 되겠네요~
산초 함께 수고 많았다😂

@skylar1220 skylar1220 merged commit 3a33ef5 into develop Oct 23, 2024
5 checks passed
skylar1220 pushed a commit that referenced this pull request Nov 5, 2024
* chore: 무중단 배포 cd를 기존 cd에 적용

- 불필요한 환경변수 제거
- dev: 자동
- prod: 수동, 하나씩만 cd가 일어나게 설정

* chore: 블루 그린이 병렬로 실행되도록

- 순차적으로 실행되는 롤링보다, 원래의 의도였던 블루그린에 가까운 방식이 되도록 한다.
@donghoony donghoony deleted the be/chore/885-zero-downtime-deployment-adjust branch November 17, 2024 08:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

[BE] 무중단 배포를 적용한다.
5 participants