장애를 허용하는 견고한 시스템 만들기
이준형(Foo)
장애에 견고한 시스템을 구축하는 방법을 다루는 실용적인 강의입니다. 서비스 안정성을 위한 설계 기초부터 장애 전파를 막는 다양한 패턴, 그리고 메시지 큐를 활용한 비동기 처리와 분산 데이터 일관성 유지 전략까지, 안정적인 백엔드 시스템에 필요한 핵심 기술과 개념을 학습합니다.
초급
Spring Boot, resilience4j, transaction
이번 강의에서는 다양한 배포 전략을 이해하고, 상황에 맞는 배포 방식을 선택하여 서비스 안정성을 극대화하는 방법을 배울 수 있습니다. 또한, 슬랙 알람 설정과 운영 환경 배포의 실전적인 팁도 함께 얻어갈 수 있습니다!
수강생 1,643명
난이도 초급
수강기한 무제한







롯데쇼핑 이커머스사업본부
임직원들도 이 강의를 듣고 있어요!





롯데쇼핑 이커머스사업본부
임직원들도 이 강의를 듣고 있어요!
먼저 경험한 수강생들의 후기
5.0
안민재
배포에 관해 좀 더 개념을 잡고 학습하는데 좋은 디딤돌 강의였습니다!
5.0
이정훈
이론이지만 배포란 무엇이고, 배포 방식들에 대한 개념과 각각의 장단점을 쉽게 설명해주셔서 좋았어요. 좋은 강의 감사합니다!
5.0
Sang Do Park
10 여 년 전에.... 첫 출근을 했더니 usb 로 코드를 전해 받고 충격. 배포는요 ? 했더니 .class 파일을 ftp 로 업로드.... 그때의 공포감을 잊을 수 없습니다. 왜 해야 되는지 모르는 사람을 설득하는 일은 진짜 힘든데.. 그때 이런 강의가 세상에 빛처럼 등장 ~~ 했더라면 ~~ 강의 녹화도 사실 경제적 이득이 있어도 힘든 일인데.. 무료로 이렇게 좋은 개발자 교양과목으로 제공해주셔서 너무 너무 너무 너무 감사합니다. ^^ 여러분 ~~ 면접 대비용으로도 좋고... 실무 대비용으로도 좋고 ~ 본 강의는 꼭 보세요.... 무료라고 안보면 인생이 무료해집니다...
배포 전략
Jenkins
배포시 발생할 수 있는 장애를 막는 방법
배포는 단순히 코드를 서버에 반영하는 과정 그 이상입니다. 이는 서비스의 품질과 안정성, 그리고 사용자 경험에 직접적인 영향을 미치는 중요한 단계입니다. 작은 배포 오류 하나가 큰 서비스 장애로 이어질 수 있기 때문에, 신속하면서도 안전한 배포는 현대 소프트웨어 개발에서 필수적인 요소입니다. 특히 기술이 빠르게 변화하고 다수의 팀이 협업하는 환경에서는 더욱 전략적인 배포 방식이 필요합니다.
이번 강의 "안정적인 서비스 배포를 위한 배포 전략과 팁"에서는 Jenkins를 활용한 배포 자동화 경험을 바탕으로, 다양한 상황에서 적용할 수 있는 배포 전략들을 소개합니다. 롤링 배포, 블루-그린 배포, 카나리 배포와 같은 다양한 배포 방식은 각각 고유한 특성과 이점을 지니며, 특정 상황에서 최적의 선택이 될 수 있습니다. 우리는 각 배포 전략이 언제, 왜 필요한지, 그리고 실제로 어떻게 적용할 수 있는지에 대해 다룰 겁니다. 이를 통해 배포 과정에서 발생할 수 있는 위험을 최소화하고 안정적인 서비스 운영을 실현할 수 있도록 도울 것입니다.
또한 Slack을 활용한 배포 알람 시스템 구축 방법도 설명합니다. Slack을 통해 실시간으로 배포 상황을 모니터링하고 팀원들과 투명하게 공유함으로써 효율적인 협업 환경을 조성할 수 있습니다. 알람 메시지에 어떤 정보가 포함되어야 하는지, 그리고 이를 통해 배포 프로세스의 신뢰성을 높이는 방법도 함께 알아봅니다.
마지막으로, 개발 환경과 운영 환경의 차이를 이해하는 것이 왜 중요한지에 대해 설명하고, 더 나아가 환경을 세분화하여 안정적인 배포 프로세스를 구축하는 방법을 다룹니다. 개발 환경에서 충분히 테스트하고 운영 환경으로 안전하게 배포하는 방법, 그리고 필요에 따라 더 세분화된 환경을 구축하여 서비스의 안정성을 높이는 전략을 소개합니다.
이 강의는 배포 자동화를 넘어 실무에 적용 가능한 배포 전략과 팁을 익히고자 하는 분들에게 꼭 필요한 내용을 제공합니다. 배포 과정에서의 장애를 줄이고 안정적인 서비스 운영을 목표로 하는 모든 개발자와 엔지니어에게 도움이 될 겁니다.
다양한 배포 전략인 롤링 배포, 블루그린 배포, 카나리 배포의 개념과 각 전략이 적용되는 상황을 배웁니다. 이를 통해 서비스의 중단 없이 안정적으로 코드를 배포하는 방법을 익힙니다.
배포 과정에서 발생하는 주요 알림을 Slack으로 실시간으로 받아볼 수 있는 방법을 배워, 팀원들과의 원활한 커뮤니케이션과 빠른 대응을 가능하게 합니다.
개발 환경과 운영 환경을 분리하는 이유와 그 중요성을 이해하고, 이를 통해 안전한 테스트와 안정적인 운영을 보장하는 방법을 학습합니다.
운영 체제 및 버전(OS): Windows 10,
사용 도구: Intellij Community 2023.2, Google Chrome
예제 스크립트 : https://github.com/lleellee0/application-deploy-tips
예제 배포 대상 프로젝트 : https://github.com/lleellee0/deploy-test
클라우드 서비스는 Vultr이라는 서비스를 사용하고 있으나, AWS나 GCP등 다른 클라우드 서비스를 사용해도 됩니다. 다만 다른 클라우드 서비스 사용시 방화벽 설정 등 일부 차이가 있을겁니다. 그러나 이런 문제는 여러분들이 직접 검색해보고 몸으로 부딪혀보면 더 많이 얻어갈 수 있을거라고 생각합니다.
스프링 부트로 만들어진 애플리케이션을 기준으로 실습을 진행하지만, 일부 스크립트만 수정하면 다른 언어, 다른 프레임워크에도 적용 가능합니다. 궁금한 내용 있으면 질문 남겨주세요. 제가 도와드릴 수 있는 한 최대한 도와드리겠습니다.
실습 환경 구성은 지난 강의에서 진행했던 것과 동일하게 구성했고, 꼭 지난 강의를 듣지 않았더라도 부록에 있는 내용을 따라하면 수강에 문제가 없게 구성했습니다.
수강하시면서 궁금한 내용이 있다면 질문을 남겨주세요. 업데이트해야 할 내용이 있다면 업데이트하겠습니다.
학습 대상은
누구일까요?
이전 강의인 배포 자동화 강의를 수강하신 분들
여러 가지 배포 전략을 상황에 맞게 적용해 보고 싶은 분들
Slack과 Jenkins로 배포 알람 시스템을 빠르게 구현하고 싶은 분들
선수 지식,
필요할까요?
애플리케이션 배포 자동화 경험
GitHub 사용 경험
커리어인증
6,397
명
수강생
358
개
수강평
117
개
답변
4.9
점
강의 평점
9
개
강의
안녕하세요.
멘토링을 하면서 주니어 개발자들이 어려워 하는 개념들에 대해 어떻게 하면 쉽게 전달할 수 있을지에 대해서 많은 고민을 하고 있는 푸(Foo)라고 합니다.
잘 부탁 드리겠습니다.
이력
2019. 08 ~ 현재 : 카카오 자바 백엔드 개발자
2021. 08 ~ 현재 : programmers 백엔드 데브코스 멘토
2021. 12 ~ 현재 : F-Lab 자바 백엔드 멘토
책
이것이 취업을 위한 백엔드 개발이다 with 자바(링크)
기타 이력 및 타 플랫폼 강의들은 아래 GitHub 링크에서 확인할 수 있습니다.
GitHub - https://github.com/lleellee0
전체
18개 ∙ (1시간 47분)
1. 배포와 서비스 안정성
04:49
3. 수강대상
00:46
5. 롤링 배포
07:28
6. 블루그린 배포
09:28
8. 배포 타이밍
05:34
전체
41개
4.9
41개의 수강평
수강평 15
∙
평균 평점 5.0
수강평 17
∙
평균 평점 4.8
5
10 여 년 전에.... 첫 출근을 했더니 usb 로 코드를 전해 받고 충격. 배포는요 ? 했더니 .class 파일을 ftp 로 업로드.... 그때의 공포감을 잊을 수 없습니다. 왜 해야 되는지 모르는 사람을 설득하는 일은 진짜 힘든데.. 그때 이런 강의가 세상에 빛처럼 등장 ~~ 했더라면 ~~ 강의 녹화도 사실 경제적 이득이 있어도 힘든 일인데.. 무료로 이렇게 좋은 개발자 교양과목으로 제공해주셔서 너무 너무 너무 너무 감사합니다. ^^ 여러분 ~~ 면접 대비용으로도 좋고... 실무 대비용으로도 좋고 ~ 본 강의는 꼭 보세요.... 무료라고 안보면 인생이 무료해집니다...
ㅎㅎㅎ Sang Do Park님 이번에도 자세하게 수강평 남겨주셔서 감사합니다! 주니어 시절에 경험했던 내용도 함께 이야기 해주셔서 좋네요. :) 앞으로도 좋은 강의 많이 만들어보겠습니다! 새해 복 많이 받으세요~
수강평 5
∙
평균 평점 5.0
수강평 938
∙
평균 평점 4.9
지식공유자님의 다른 강의를 만나보세요!
같은 분야의 다른 강의를 만나보세요!
무료