Agile vs Waterfall

너무 잘 알고 있는 내용이고,

1980~1990 Waterfall

2000 Agile 분산 가상

2010 DevOps Microservice Container Cloud

클라우드 네이티브 아키텍처

  • CI/CD
  • DevOps
  • 마이크로서비스
  • 컨테이너

필수 항목들임.

Inner Architecture : 실제 동작하는 로직이 있는 소스 코드들 Outer Architecture : 프로그램 동작/운영을 원할하게 하는데 도움을 주는 서비스들

  • Gateway
  • Router
  • Load Balancing
  • Service Discovery
  • Runtime Platform
  • CI/CD Automation (Build, 이미지 저장, 파이프라인)

도커 환경이 최적의 환경이다.

CI/CD

CI : 개발된 소스를 패키징하는 작업 CD : 패키징된 애를 운영서버로 배포하는 작업

주기적으로 빈번하게 배포를 하겠다는 의미임.

코드 품질 보증 단위 TEST의 중요성

순서별 정리

git, scm, vcs (형상관리 시스템) 개발자가 커밋한다.

버전관리 트래킹 관리 github, gitlab, bitbucket

commit

=>

Jenkins 빌드, 테스트, 패키지 작업을 해주는 도구

테스트를 통과하면 다시 알려줌. 통과 못하면 Pass 해줌.

패키지된 결과물이 배포가 되는 것을 볼 수 있음.

Jenkins로 빌드할 때 사용하는 도구 : Maven

빌드 된 애를 Docker로 패키징 => 쿠버네티스

앤서블, 테라폼 IC 라고 불리는 것

Infrastructure as Code

스크립트로 프로그래밍해서

docker로 넘겨줄 수 있게 됨.

클라우드에 올리는 방법 : Google, Naver, AWS

WAR 파일 => WAS 에 배포 docker 로 배포

sonar qube라는 테스트 할 때 사용하는 툴도 있음.

amazon에서도 컨테이너를 만들 수 있음.

Jenkins Pipeline

Item Pipeline DSL JenkinsFile (선언형 방식, 스크립트 방식 2가지가 있음)

Jenkins가 Java 기반으로 동작하기 때문에 사전에 JDK가 있어야 Jenkins를 사용할 수 있다.

오라클 계정을 입력해줘야 함.