클라우드

클라우드(Cloud) 폭포수 애자일 IaaS PaaS SaaS

수진97 2025. 12. 26. 14:54

안녕하세요!

오늘 포스팅은 폭포수 모델과 애자일 모델을 비교해 보고, IaaS와 PaaS, SaaS에 대해서도 살펴보겠습니다.

 

 

1. 폭포수 모델 VS 애자일 모델

1) 폭포수 모델

- 개발 단계를 순차적으로 진행하는 방식

- 폭포수 모델의 경우 sw를 개발하기 위한 연속적인 개발 단계를 거치며, 각 단계는 다음 단계로 넘어가기 전에 완료됨

- 그러므로 엄격한 계획과 요구 사항을 문서 기반으로 명확하게 정의해야 함.

 

 

장점

- 단순함

- 정형화된 단계별 접근 방법

- 명확한 진행상황 파악

 

 

단점

- 완벽을 요구하는 요구사항 작성

- 어려운 변경 요청 사항

- 동작을 프로세스 후반에서 확인 가능

- 일정 지연 가능성

출처 : https://bap-software.net/kr/knowledge/what-is-the-waterfall-software-models/

 

 

 

 

 

2) 애자일 모델

- 기존의 복잡하고 무거운 개발 방법론에서 벗어나 가볍고 유연한 개발론으로 탄생

- 변화에 빠르고 유연하게 대응하여 고객 만족도를 높이기 위해 반복적인 개발, 지속적인 피드백 강조

- 짧은 주기로 소프트웨어를 점진적으로 개발

 

 

장점

- 요구사항 변경을 개발 중에도 유연하게 반영 가능

- 고객 피드백을 즉시 반영하여 실패 리스크를 줄임

- 짧은 스프린트 단위로 작동 가능한 결과물을 지속 제공함으로써 고객이 실제 결과물 빠르게 확인 가능

- 팀 협업 및 커뮤니케이션 강화

 

 

단점

- 요구사항이 계속 바뀌기 때문에 일정과 비용의 예측이 어려움.

- 빠른 개발이 위주다 보니 문서가 부실해질 수 있어 인수인계나 유지보수 시 문제 발생 가능

- 자기 주도적 개발 능력이 필요하기 때문에 팀원 역량이 부족한 팀에서는 오히려 혼란이 발생할 수 있음.

출처 : https://velog.io/@finelinefe/CS-%EC%95%A0%EC%9E%90%EC%9D%BCAgile

 

 

 

 

 

3) 워터폴 VS 애자일 VS 데브옵스 비교

- 폭포수 모델은 개발 단계를 순차적으로 진행 후 배포

(디자인 > 개발 > 테스트 > 배포)

 

- 애자일은 개발이 완료된 후에 배포

(디자인 > 코드 > 테스트 > 코드 > 테스트 > 코드....... > 테스트 > 배포)

 

- DevOps는 지속적인 개발과 테스트, 배포 반복

(디자인 > 코드 > 테스트 > 배포 > 코드 > 테스트 > 배포 > 코드............. > 테스트 > 배포)

 

=> DevOps의 경우 개발과 운영을 하나로 묶어, CICD 파이프라인을 통해 자동화된 빌드, 테스트, 배포, 모니터링을 지속적으로 수행하고, 자동화와 협업 문화 지속적 개선

 

 

 

 

 

2. 클라우드 서비스 모델(IaaS, PaaS, SaaS)

- 클라우드는 단순한 저장소나 서버 제공을 넘어 다양한 형태로 서비스를 제공

- 서비스는 제공 범위에 따라 IaaS, PaaS, SaaS 3가지 모델로 나뉘며, 각 모델은 직접 관리하는 범위와 제공받는 범위에 따라 차이가 있음.

 

 

1) IaaS(Infrastructure as a Service)

- 인프라를 빌려 쓰는 서비스

- 서버, 스토리지, 네트워크와 같은 인프라만 제공하고, OS부터는 사용자가 직접 관리

- 높은 자유도와 커스터마이징이 가능하다는 장점이 있지만, 운영 부담이 크다는 단점도 지님.

ex. AWS EC2, Azure Virtual Machine

 

2) PaaS(Platform as a Service)

 

- 개발 환경까지 제공하는 서비스

- OS, 런타임, 미들웨어까지 제공하고 개발자는 코드만 신경 쓰면 됨

- 사용자는 애플리케이션 코드와 데이터만 관리하고 나머지는 다 제공해 줌.

- 빠른 개발과 배포가 가능하고 인프라 관리 부담이 줄어든다는 장점과 특정 플랫폼에 종속 가능성이 있다는 단점을 지님.

ex. AWS Elastic Beanstalk, Google App Engine

 

 

3) SaaS(Software as a Service)

- 완성된 소프트웨어를 바로 사용

- 설치 없이 바로 사용하는 서비스로써, 사용자는 계정 설정과 데이터만 입력하면 제공자가 모두 제공함.

- 간편하고 유지보수가 필요 없다는 장점과 커스터마이징이 불가하고 서비스 종속 위험이 크다는 단점을 지님

ex. Gmail, Notion, Google Drive, Slack