DevOps, IaC, Terraform 등 관련 기술 개념 정리
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)란?
코드형 인프라(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 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 개발, 배포, 유지관리를 위한 대시보드를 제공함