Undergoing

DevOps, IaC, Terraform 등 관련 기술 개념 정리 본문

개발

DevOps, IaC, Terraform 등 관련 기술 개념 정리

Halkrine 2021. 7. 13. 12:58

IaC(Infrastructure as Code)

- 코드형 인프라
- 구성 편집 및 배포에 용이
- Infra WorkFlow 자동화
- 인프라 프로비저닝 자동화 시 app 배포나 개발 시 개발자가 직접 서버나 os 등을 프로비저닝하고 관리할 필요 없음

- https://www.redhat.com/ko/topics/automation/what-is-infrastructure-as-code-iac
- IaC라는 개념은 DevOps가 부상하게 된 토대로 자리잡음 - App 실행을 위한 코드와 인프라 구성을 위한 코드 사이의 경계가 허물어짐에 따라 개발자와 운영 담당자의 공동 업무가 늘어나게 됨
- IaC라는 개념은 IaaS(서비스형 인프라)를 지원함. 

 

코드형 인프라(IaC)란?

코드형 인프라(Infrastructure as Code, IaC)는 수동 프로세스가 아닌 코드를 통해 인프라를 관리하고 프로비저닝하는 것을 말합니다.

www.redhat.com

- 데브옵스 (DevOps) - IaC (Infrastructure as Code)

 

데브옵스 (DevOps) - IaC (Infrastructure as Code)

Infrastructure as Code란? Infrastructure as Code(코드형 인프라)란 시스템을 수동으로 구성하는 대신 스크립트를 사용하여 컴퓨팅 인프라를 구성하는 최근의 관행을 가리킵니다. Infrastructure as Code 정의 "..

charstring.tistory.com

- IaC의 이점 및 몇 가지 널리 사용되는 Tool

 

코드형 인프라(IaC)란?

코드형 인프라(Infrastructure as Code, IaC)는 수동 프로세스가 아닌 코드를 통해 인프라를 관리하고 프로비저닝하는 것을 말합니다.

www.redhat.com

 

DevOps(Devlelopment + Operations)

- 운영 환경에서 개발로부터 배포로 진행되는 프로세스의 속도를 높이는 접근 방식을 의미함

- 인프라에 대한 통제를 개발자에게 넘겨줘도 되나? : 관리 차원에서는 이게 인적 비용 부담이 덜하고 자원 활용에 유기적이라는 시각이 있음

- 단, (현재 DevOps가 '개발자가 모든 업무를 해야 하는 것으로 왜곡되고 있다' 는 의견도 있음)

 

IDG 블로그 | “데브옵스가 개발자를 죽이고 있는가?”

많은 기업에서 데브옵스(DevOps)가 개발자를 수많은 비개발 업무에 동원하는 것으로 의미가 왜곡되고 있다.데브옵스는 개발자와 운영 담당자 간의 협업을 개선하고 소프트웨어 개발 관행을 최적

www.itworld.co.kr

 

Terraform

- HashiCorp에서 개발된 IaC(Open Source)

- 코드를 통해 Infrastructure를 구성하고 관리함

- Go Language 로 작성
- Write - Plan - Apply : Infra를 code로 작성 -> 반영하기(applying) 전에 변경 확인 -> 변경 내용 적용

- HCL(HashiCorp Configuration Language) 사용, code 작성 가능(json 지원)

- Terraform의 이점

 -- Terraform code 를 git 으로 관리한다면 기존에는 하기가 힘들었던 infrastructure 구성 history 를 관리할 수 있음
 -- Code 로 관리가 되기 때문에 특정 resource 를 추가하기 위해 적용 전 다른 사람의 리뷰를 받을 수 있음
 -- 기존 Code 를 재사용 함으로써 추가적으로 동일한 resource 를 만들때 쉽고 빠르게 적용이 가능

- 단점 : 스크립트 작성하는 초기 단계에서 많은 시간이 요구됨

- Terraform 공식 사이트 : https://www.terraform.io

- Terraform 가이드 : https://www.44bits.io/ko/keyword/terraform

- Terraform 인스톨 : https://velog.io/@gentledev10/install-terraform-and-commands
- 넥슨의 Terraform 사용후기 : https://zdnet.co.kr/view/?no=20210427164743
- nhn Terraform : https://blog.naver.com/nhntoast/222421938403
- azure/Terraform tutorial : https://docs.microsoft.com/ko-kr/azure/developer/terraform/create-vm-cluster-with-infrastructure

 

 

 

---- 이하 별첨 ----

 

Atlas
- HashiCorp가 새로 출시(예정). 그들의 오픈 소스 중 Vagrant, Packer, Serf, Consul, Terraform 을 기반으로 하는 사유 폐쇄형 소스 프로젝트임
- AWS, 구글 컴퓨트 엔진, 애저 ,오픈스택을 포함한 다양한 클라우드 서비스에서 DevOps를 가능하게 해주며 App 개발, 배포, 유지관리를 위한 대시보드를 제공함