WATERFALL : 전통적인 개발 방식 중 하나이다. 순차적인 프로젝트 관리 방법론으로도 불린다.
순차적인 흐름은
요구사항정의 -> 분석/설계 -> 구현 -> 테스트 -> 운영 순으로 이어지고 각 단계는 이전 단계가 완료된 후에만 진행되고 이전 단계로 역행할 수 없다.
WATERFALL은 지금도 많이 쓰인다.
AGILE : WATERFALL방식의 지나친 계획 의존성과 형식성으로 인한 효율성 문제를 최소화 하는 과정에서 급부상한 방법론.
프로젝트의 생명주기 동안 반복적인 과정 속에서 프로젝트를 점점 향상시키고 사용자의 Needs를 만족시켜가는 방법론.
그리고 최근 IT Sysytem에서 나타나는 가장 큰 트렌드는 DevOps Microservices Containers Cloud라는 키워드 들이다. 이러한 키워드들을 묶어 Cloud Native Architecture라고 한다.
클라우드 네이티브 아키텍처 및 기술은 클라우드에서 빌드되고 클라우드 컴퓨팅 모델을 최대한 활용하는 워크로드를 디자인, 생성 및 운영하는 접근 방식이다.
클라우드 네이티브 기술을 통해 조직은 퍼블릿, 프라이빗 및 하이브리드 클라우드와 같은 최식 동적 환경에서 확장 가능한 애플리케이션을 빌드하고 실행할 수 있다. 컨테이너, 서비스 메시, 마이크로 서비스, 변경할 수 없는 인프라 및 선언적 API는 이 접근 방식을 예로 들 수 있다.
이러한 기술을 사용하면 복원력, 관리 가능 및 관찰 가능한 느슨하게 결합된 시스템을 사용할 수 있다. 강력한 자동화와 결합되어 엔지니어는 최소한의 수고로 자주 예측 가능하게 높은 영향을 미치는 변경을 할 수 있다.
출처 : Inflearn, Jenkins를 이용한 CI/CD Pipeline 구축