2020-11-16 Devops (1)
Devops
- 소프트웨어개발(Development)와 운영(Operation)의 합성어가 유래
- 철학
- 문화(Culture) : Devops를 통해 하나의 문화를 만들어간다.
- 자동화(Automation) : 자동화를 통해 효율성과 빠른 속도를 지향
- 측정(Measurement) : 지표를 측정하여 지속적으로 개선, 어플리케이션 성능, 개발속도 모니터링, 지속적으로 나아지는지 측정
- 공유(Sharing) : 공유를 통해 함께 발전
- 축적 : 기록을 축적하여 자산화
IaC
- 코드로써의 인프라
- InfraStructure as Code, 코드로 인프라 구성요소를 작성
- 작성용이성 재사용성 유지보수 등의 장점이 있다.
Terraform
- 테라폼은 가장 많이 쓰이는 IaC도구. AWS, Azure, GCP뿐만 아니라 다양한 서비스들도 지원한다.
구성요소
- provider : 테라폼으로 생성할 인프라의 종류
- resource : 실제로 생성할 인프라 자원
- state : 테라폼으로 생성한 자원의 상태
- output : 테라폼으로 만든 자원을 변수 형태로 state로 저장
- module : 공통적으로 활용가능한 코드를 모듈형태로 정의
- remote : 다른 경로의 state를 참조. output변수를 불러올때 주로 사용
명령어
- init : 명령어 사용을 위한 각종 설정
- plan : 작성한 코드가 실제로 어떻게 만들어질지 예측결과를 보여준다
- apply : 실제 인프라를 생성하는 명령어
- import : 이미 만들어진 자원을 테라폼 state파일로 옮겨주는 명령어
- state : state를 다루는 명령어. 하위 명령어로 mv, push
- destroy : 생성된 자원들 state 파일 모두 삭제
- 보통 init-plan-apply로 명령어 프로세스가 구성된다.
Written on November 16, 2020