1. 애플리케이션 배포
클라우드 서비스 탄생 배경
웹 브라우저 -> 서비스를 제공하는 웹 사이트 -> 로그인 -> 웹 애플리케이션 즉시 사용
-> 지속적 관리 필요
2. 서비스가 사용자에게 도달하기까지
1) 전통적인 소프트웨어 전달 방식
폭포수 모델 : 출시 기한을 정해놓고 소프트웨어 완성
> 문제점
소프트웨어의 출시 당시 신뢰성, 안정성 보장 불가
소프트웨어 사용시 산더미처럼 쌓여있는 버그
> 특징
베타 버전 이용한 테스트
사용자가 업데이트 해야 함.
버그 수정 어려움
모바일 애플리케이션 사용
2) ★ 클라우드 서비스의 전달 방식
● 애자일 모델 : 고객의 요구에 민첩하게 대응 > 지속적 전달
● SaaS(Software as a Service)
브라우저로 소프트웨어를 제공, 새버전 즉시 사용 가능
매일매일 업데이트 가능
> 장점
사용자가 업데이트 하지 않아도 됨
하루에 여러 번 릴리즈도 가능
다양한 배포 방식을 적용, A/B 테스트 가능
빠른 배포 보장
-> 이를 위해 전달 워크플로가 수립, 자동화가 필수
★ 서비스 전달 관점에서의 DevOps 역할 > 서비스 전달/배포 Workflow를 구성할 수 있어야 한다
3. CI / CD 파이프라인과 Stage
★ CI / CD 파이프라인 : 지속적 배포(Continuous Deployment)
: Plan > (Code > Build > Test) > Release > Deploy > Operate
CI
Code > 개발자가 코드를 코드 저장소에 Push
Build > 코드 저장소 -> 코드를 가져와 유닛 테스트 후 빌드
Test > 빌드의 결과물이 다른 컴포넌트와 통합되는지 확인한다.
★ 필요성
버그를 일찍 발견 가능
테스트가 완료된 코드에 대해 빠른 전달이 가능
지속적인 배포 가능
: Plan > Code > Build > (Test > Release > Deploy > Operate)
CD
Release > 배포 가능한 패키지를 작성
Deploy > 프로비저닝 진행, 서비스를 사용자에게 제공
Operate > 서비스에서 생길 수 있는 현황을 파악, 문제 감지
'DevOps BootCamp' 카테고리의 다른 글
Final Project 회고 (0) | 2023.06.12 |
---|---|
day 2 발표 자료 (0) | 2023.03.08 |
(CodeStates) DevOps - day2 (0) | 2023.03.08 |