CICD와 RICD

JEONGYUJIN·2025년 1월 21일
1
post-thumbnail

처음 CICD를 도입하려고 했을 때는 단순히 '자동화된 배포 과정'이라고만 알고 있었음. AWS CodePipeline으로 EC2에 자동 배포하는 걸 구축하려고 하다가, 팀원이 RICD라는 걸 언급했는데... 이게 뭐지? 싶어서 찾아서 정리합니다.

CICD와 RICD 비교

CICD vs RICD 개념 정리

🚗 자동차로 비유하면 (GPT의 도움을 받음 ㅎ.ㅎ)

  • CICD는 자동차의 엔진: 실제로 움직이게 하는 핵심
  • RICD는 계기판: 현재 상태를 한눈에 보여주는 도구

CICD가 하는 일

코드 변경 → 테스트 자동 실행 → 빌드 → 배포

말 그대로 개발자가 코드를 올리면 알아서 쭉 실행되는 자동화 파이프라인임.

RICD가 하는 일

  • 현재 진행 중인 배포 상태 시각화
  • 문제 발생 시 빠른 대응 가능
  • 팀 전체의 배포 현황 파악
구분CICDRICD
정의소프트웨어 개발 프로세스를 자동화하는 방법론배포 프로세스를 모니터링하고 관리하는 도구
주요 특징• 코드 변경사항 자동 통합 및 테스트
• 빌드, 테스트, 배포 자동화
• 코드 푸시시 자동 프로세스 실행
• 배포 상태 시각화
• 문제 발생 시 빠른 대응
• 팀 전체 배포 현황 파악
장점• 인적 오류 감소
• 일관된 배포 환경
• 버그 조기 발견
• 개발 집중도 향상
• 배포 과정 투명성
• 신속한 문제 대응
• 팀 커뮤니케이션 개선
자동차 비유엔진 - 실제 동작을 담당계기판 - 상태 모니터링 담당
구현 도구 예시AWS CodePipeline, Jenkins, GitLab CI모니터링 대시보드, 알림 시스템

⚠️ 자주 하는 실수들

📌 테스트 자동화 부족
- "어차피 로컬에서 테스트했으니까..." (절대 금지!)
- 자동화된 테스트 없이 배포하면 나중에 큰 문제 발생

📌 환경 일관성 부족
- 로컬에선 되는데 서버에선 안 되는 경우
- Docker 같은 컨테이너화 필수

📌 과도하게 복잡한 파이프라인
- "이것도 넣고 저것도 넣고..." 
- 심플하게 시작하고 천천히 확장하자

💡 깨달은 점

처음엔 RICD가 더 편해보여서 "CICD는 왜 필요하지?"라는 생각을 했는데, 근데 실제로 적용해보니 둘 다 필요한 이유를 깨달았어음.

  1. CICD는 실수를 줄여주고
  2. RICD는 문제를 빨리 발견하게 해주고
  3. 둘이 합쳐져야 완벽한 배포 환경이 완성됨

🎯 다음 목표

AWS CodePipeline으로 CICD를 구축하면서 동시에 모니터링 도구도 잘 붙여보려고 함.

[1] https://walkingplow.tistory.com/78 CICD의 기본 개념과 필요성에 대한 상세한 설명
[2] https://tech.osci.kr/cicd-architecture/ CICD 아키텍처 설계와 실제 구현 사례 소개
[3] https://www.bdccglobal.com/blog/5-common-mistakes-during-ci-cd-implementation/ CICD 구현 시 흔히 하는 실수들과 해결방안
[4] https://docs.aws.amazon.com/ko_kr/codepipeline/latest/userguide/tutorials-simple-codecommit.html AWS CodePipeline을 이용한 실제 CICD 구현 가이드
[5] https://www.adaptavist.com/blog/top-three-challenges-to-scaling-cicd-in-the-enterprise CICD와 RICD 통합 시 발생할 수 있는 문제점과 해결방안

profile
일단 하고 보자 (펠리컨적 마인드 ㅠㅠ)

0개의 댓글