book

[BOOK] 테라폼으로 시작하는 IaC

[BOOK] 테라폼으로 시작하는 IaC – 김민수, 김재준, 이규석, 이유종 지음

[BOOK] 테라폼으로 시작하는 IaC
[BOOK] 테라폼으로 시작하는 IaC

부제: “테라폼 입문부터 실무 적용까지 올인원 가이드”

개발자들이 기본적으로 다룰 수 있어야 하는 도구가 있습니다. 프로그래밍 언어가 달라도, 사용하는 IDE가 달라도, 도메인이 달라도 꼭 사용할 줄 알아야 하는 도구입니다. 바로 Git, SVN 같은 VCS(Version Control System)입니다. VCS는 개발자들이 작성한 코드를 관리하기 위한 도구로 코드의 변화를 추적하고 관리할 수 있습니다.

그럼 인프라를 다루는 엔지니어들의 필수 도구는 무엇일까요? 터미널? 에디터?

앞으로는 개발자들과 같이 VCS가 기본이 될 것 같습니다. 인프라가 클라우드로 확장되면서 코드형 인프라, 즉 IaC(Infrastructure as Code)로 인프라를 관리하는 것이 기본이 되어가고 있습니다. 코드로 인프라를 관리하면 변화를 추적하고 관리하기 위해 VCS를 써야합니다.

인프라의 변화를 추척하고 관리해야할 이유는 무엇일까요?

인프라를 구성하고, 그 위에서 서비스를 운영하기 시작하면 인프라는 지속적으로 바뀌어갑니다. 오랜 시간 동안 운영된 인프라의 현재 상태는 비교적 쉽게 알 수 있습니다. 각 장비에 설정된 현재의 값이니까요. 반면에 처음 상태에서 어떻게 현재 상태로 변했는지는 적절한 도구가 없으면 추적하기 쉽지 않습니다. 클라우드처럼 관리해야하는 인프라가 많은 경우에는 추적이 더 어렵습니다.

laC의 코드는 어떻게 작성 될까요? JSON, YAML도 많이 이용되고, 클라우드에서는 각 플랫폼마다 독자적인 방식을 제공합니다. 여러 클라우드 플랫폼을 지원하는 테라폼도 있습니다. (물론 플랫폼마다 작성하는 방법은 다르지만)

테라폼을 인프라에 적용하기 위해서는 본질을 이해하고 설정 파일을 작성하기 위한 문법을 익히는 것으로 시작해야합니다. 테라폼의 설정 파일은 하시코프(HashiCorp)가 만든 설정 언어인 HCL(HashiCorp Configuration Language)을 사용합니다. HCL은 JSON, YAML보다는 간결하게 작성이 가능합니다.

책에서는 IaC에 대한 기본 적인 지식을 시작으로 테라폼의 기본 개념과 핵심 기능을 1부에서 설명합니다. 2부에서는 IaC 협업의 필수 도구인 Git을 시작으로 작은 조직, 큰 조직으로 사용 규모가 확장되는 단계별로 워크플로를 설명해줍니다.

책은 380페이지 정도의 분량으로 클라우드 플랫폼 각각의 상세 내용을 모두 담기에는 부족합니다. 실제 인프라에 적용가능한 좋은 예제들은 하시코프에서 상세하게 제공하고 있어 책을 통해 기본적인 내용을 익히면 예제들을 해석하고 응용하는데 무리가 없을 것 같습니다.

“한빛미디어 [나는 리뷰어다] 활동을 위해서 책을 제공받아 작성된 서평입니다.”


BOOKSTORE : YES24, 알라딘

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.