
1. 클라우드 엔지니어 유형
- DevOps
- 개발과 운영을 구분하지 않고 애플리케이션의 생명 주기 전체를 관리하며, 서비스를 빠른 속도로 제공하기 위한 조직 문화이다.
- 지속적인 통합 및 배포를 통한 안정적인 배포 및 테스트, 사용자들의 빠른 피드백 수렴이 가능해진다.

- DevOps 툴체인
- 소스 코드 관리 : git
- Continuous Integration : Jenkins, Travis CI
- Continuous Deployment : Puppet, Chef
- 컨테이너 관리 도구 : Kubernetes
→ 애플리케이션과 의존 라이브러리 소프트웨어 통합 패키지로 개발과 운영 환경을 동일하게 만들어주며, 이미지를 가져와 컨테이너로 실행하여 배포함으로써 배포 프로세스를 간략화 해줌
- 모니터링 : ELK Stack, Grafana, Prometheus
- SRE(Site Reliability Engineering)
- DevOps의 구체적인 실현 방법을 정의한 것으로 운영팀을 위한 소프트웨어 엔지니어라고 부른다.
- 주요 역할
- 모니터링 : 모니터링 지표를 정하고 이를 통한 분석을 통해 인사이트를 찾는다.
- 매트릭 : 시스템의 상태를 보여주기 위해 대시보드로 시각화를 한다.
- 용량 관리 : 시스템 운영을 위한 다양한 IT 자원을 확보하고 계획하는 작업을 한다.
- 변경 관리 : 배포 및 업데이트 등 모든 변경 사항 관리
- 장애 대응 : 장애 복구 메뉴얼화 또는 장애 복구 과정 자동화
- CSP(Cloud Service Provider) : 클라우드 기반의 인프라, 플랫폼, 소프트웨어를 개발하는 회사
→ AWS, Azure, GCP
- MSP(Managed Service Provider) : 클라우드 서비스의 설계, 구현, 운영, 유지보수 등을 전문적으로 제공하는 회사
→ 메가존 등
2. 클라우드 경력 개발
- 클라우드 개발자가 되기 위해 공부하면 좋을 것들
- 클라우드 네이티브 : 클라우드 환경에서 애플리케이션을 설계, 개발, 배포, 운영하는 방식
- IaC(Infrastructure as a Code) : 코드로 인프라 형상을 관리
→ 장점 : 인프라 구성 자동화, 코드 재사용으로 인한 확장성, 코드로 테스트 및 검증
- 모니터링 : 시스템의 상황을 관찰하는 것
→ Grafana, Prometheus
- 로깅 : 시스템에서 일어나는 모든 상황을 기록하는 것
→ elasticsearch
- 퍼블릭 클라우드(GCP, AWS)에 대한 이해
- 자동화를 위한 CI/CD 구축