김충섭 강사님
개발 프로세스
v1 : Developer → Server
v2 : Developer → Git → Server(cloud)
v3 : Developer → Git → CI/CD(test, build, deploy) → Server
v4 : Developer → Git → CI(test, build) → CD(Deploy) → Server
v5 : Developer → Git → CI(test, build) → CD(Deploy) → Server → Monitoring(metrics, cpu, memory...) log
next : MSA(Micro Service Architecture) ↔ monolithic service
서버를 관리 한다는 것
자체 서버 운영
버전관리 문제, SSH로 직접 설정, ...,
→ 설정 관리 도구(Ansible, CHEF,...) 등장
설정파일로 프로그램이 대신 설정해줌, 한서버에 여러버전 설치 고민, 어려움
→ 가상머신 등장
느림
→ 클라우드 등장(AWS, GCP,)
하드웨어 파편화 문제 해결, 가상화된 환경만으로 아키텍쳐 구성 가능, 이미지 기반 다수 서버 상태관리,
서버 운영의 문제..
→ PaaS 등장(Netlify...)
소스 코드만으로 배포 가능, 일반화된 프로비저닝 방법 제공, 커스터마이징 불가능
PaaS 방식에 맞게 애플리케이션을 작성해야함, 서버 파일시스템 사용불가, Site패키지 설치 불가, 원격접속 제공X, 로그 수집 제한적 허용(STDOUT), 애플리케이션 배포에 대한 새로운 패러다임// 세부적 관리에 어려움
→ 도커 등장
도커 등장 후 서버관리 개발 방식이 완전히 바뀜
→ 쿠버네티스 등장
컨테이너를 쉽고 빠르게 배포/ 확장하고 관리를 자동화 해주느 오픈소스 플랫폼
→ 서비스메시 등장
도커와 쿠버네티스의 등장
배포 프로세스 개선하기
DevOps 엔지니어