개발 · 프로그래밍

/

데브옵스 · 인프라

안정적인 서비스 배포를 위한 배포 전략과 팁

이번 강의에서는 다양한 배포 전략을 이해하고, 상황에 맞는 배포 방식을 선택하여 서비스 안정성을 극대화하는 방법을 배울 수 있습니다. 또한, 슬랙 알람 설정과 운영 환경 배포의 실전적인 팁도 함께 얻어갈 수 있습니다!

(5.0) 수강평 5개

수강생 403명

Thumbnail

초급자를 위해 준비한
[데브옵스 · 인프라, 백엔드] 강의입니다.

이런 걸
배워요!

  • 배포 전략

  • Jenkins

  • 배포시 발생할 수 있는 장애를 막는 방법

대부분의 장애는 배포 도중 발생합니다

배포는 단순히 코드를 서버에 반영하는 과정 그 이상입니다. 이는 서비스의 품질과 안정성, 그리고 사용자 경험에 직접적인 영향을 미치는 중요한 단계입니다. 작은 배포 오류 하나가 큰 서비스 장애로 이어질 수 있기 때문에, 신속하면서도 안전한 배포는 현대 소프트웨어 개발에서 필수적인 요소입니다. 특히 기술이 빠르게 변화하고 다수의 팀이 협업하는 환경에서는 더욱 전략적인 배포 방식이 필요합니다.

이번 강의 "안정적인 서비스 배포를 위한 배포 전략과 팁"에서는 Jenkins를 활용한 배포 자동화 경험을 바탕으로, 다양한 상황에서 적용할 수 있는 배포 전략들을 소개합니다. 롤링 배포, 블루-그린 배포, 카나리 배포와 같은 다양한 배포 방식은 각각 고유한 특성과 이점을 지니며, 특정 상황에서 최적의 선택이 될 수 있습니다. 우리는 각 배포 전략이 언제, 왜 필요한지, 그리고 실제로 어떻게 적용할 수 있는지에 대해 다룰 겁니다. 이를 통해 배포 과정에서 발생할 수 있는 위험을 최소화하고 안정적인 서비스 운영을 실현할 수 있도록 도울 것입니다.

또한 Slack을 활용한 배포 알람 시스템 구축 방법도 설명합니다. Slack을 통해 실시간으로 배포 상황을 모니터링하고 팀원들과 투명하게 공유함으로써 효율적인 협업 환경을 조성할 수 있습니다. 알람 메시지에 어떤 정보가 포함되어야 하는지, 그리고 이를 통해 배포 프로세스의 신뢰성을 높이는 방법도 함께 알아봅니다.

마지막으로, 개발 환경과 운영 환경의 차이를 이해하는 것이 왜 중요한지에 대해 설명하고, 더 나아가 환경을 세분화하여 안정적인 배포 프로세스를 구축하는 방법을 다룹니다. 개발 환경에서 충분히 테스트하고 운영 환경으로 안전하게 배포하는 방법, 그리고 필요에 따라 더 세분화된 환경을 구축하여 서비스의 안정성을 높이는 전략을 소개합니다.

이 강의는 배포 자동화를 넘어 실무에 적용 가능한 배포 전략과 팁을 익히고자 하는 분들에게 꼭 필요한 내용을 제공합니다. 배포 과정에서의 장애를 줄이고 안정적인 서비스 운영을 목표로 하는 모든 개발자와 엔지니어에게 도움이 될 겁니다.

이런 내용을 배워요

배포 전략

다양한 배포 전략인 롤링 배포, 블루그린 배포, 카나리 배포의 개념과 각 전략이 적용되는 상황을 배웁니다. 이를 통해 서비스의 중단 없이 안정적으로 코드를 배포하는 방법을 익힙니다.

배포 결과를 Slack으로 받아보기

배포 과정에서 발생하는 주요 알림을 Slack으로 실시간으로 받아볼 수 있는 방법을 배워, 팀원들과의 원활한 커뮤니케이션과 빠른 대응을 가능하게 합니다.

개발 환경과 운영 환경을 나누는 이유

개발 환경과 운영 환경을 분리하는 이유와 그 중요성을 이해하고, 이를 통해 안전한 테스트와 안정적인 운영을 보장하는 방법을 학습합니다.

수강 전 참고 사항

실습 환경

  • 운영 체제 및 버전(OS): Windows 10,

  • 사용 도구: Intellij Community 2023.2, Google Chrome

학습 자료

선수 지식 및 유의사항

  • 클라우드 서비스는 Vultr이라는 서비스를 사용하고 있으나, AWS나 GCP등 다른 클라우드 서비스를 사용해도 됩니다. 다만 다른 클라우드 서비스 사용시 방화벽 설정 등 일부 차이가 있을겁니다. 그러나 이런 문제는 여러분들이 직접 검색해보고 몸으로 부딪혀보면 더 많이 얻어갈 수 있을거라고 생각합니다.

  • 스프링 부트로 만들어진 애플리케이션을 기준으로 실습을 진행하지만, 일부 스크립트만 수정하면 다른 언어, 다른 프레임워크에도 적용 가능합니다. 궁금한 내용 있으면 질문 남겨주세요. 제가 도와드릴 수 있는 한 최대한 도와드리겠습니다.

  • 실습 환경 구성은 지난 강의에서 진행했던 것과 동일하게 구성했고, 꼭 지난 강의를 듣지 않았더라도 부록에 있는 내용을 따라하면 수강에 문제가 없게 구성했습니다.


  • 수강하시면서 궁금한 내용이 있다면 질문을 남겨주세요. 업데이트해야 할 내용이 있다면 업데이트하겠습니다.

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • 이전 강의인 배포 자동화 강의를 수강하신 분들

  • 여러 가지 배포 전략을 상황에 맞게 적용해 보고 싶은 분들

  • Slack과 Jenkins로 배포 알람 시스템을 빠르게 구현하고 싶은 분들

선수 지식,
필요할까요?

  • 애플리케이션 배포 자동화 경험

  • GitHub 사용 경험

안녕하세요.

멘토링을 하면서 주니어 개발자들이 어려워 하는 개념들에 대해 어떻게 하면 쉽게 전달할 수 있을지에 대해서 많은 고민을 하고 있는 푸(Foo)라고 합니다.

잘 부탁 드리겠습니다.


이력

  • 2019. 08 ~ 현재 : 카카오 자바 백엔드 개발자

  • 2021. 08 ~ 현재 : programmers 백엔드 데브코스 멘토

  • 2021. 12 ~ 현재 : F-Lab 자바 백엔드 멘토

 

  • 이것이 취업을 위한 백엔드 개발이다 with 자바(링크)

 

기타 이력 및 타 플랫폼 강의들은 아래 GitHub 링크에서 확인할 수 있습니다.

GitHub - https://github.com/lleellee0

커리큘럼

전체

18개 ∙ (1시간 47분)

강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!