메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

테라폼으로 시작하는 IaC

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

한빛미디어

집필서

판매중

  • 저자 : 김민수 , 김재준 , 이규석 , 이유종
  • 출간 : 2023-05-30
  • 페이지 : 380 쪽
  • ISBN : 9791169211123
  • 물류코드 :11112
  • 초급 초중급 중급 중고급 고급
4.9점 (27명)
좋아요 : 16

현업에서 요구하는 진짜 IaC 사용법

테라폼으로 배우는 인프라 운영의 모든 것

 

IaC는 효율적인 데브옵스와 클라우드 자동화 구축을 위해 꼭 필요한 기술로 각광받고 있다.  그중에서도 테라폼은 가장 강력한 IaC 도구다. 이 책은 테라폼 입문자를 위한 기본 문법부터 중고급 사용자를 위한 팀 간 협업 방식과 조직 단위에서의 활용법까지 다룬다. 나아가 LG유플러스 실제 사례를 들어 설명하기 때문에 실무에서 인프라스트럭처를 구축하고 관리하는 방법을 쉽게 이해할 수 있다. 친절한 단계별 설명과 다양한 그림, 풍부한 실무 밀착 예제로 IaC에 가장 빠르게 입문해보자.

 

[상세이미지] 테라폼으로 시작하는 IaC_700.jpg

김민수 저자

김민수

다른 분야의 사람들과 대화하는 것을 좋아하며, 다양한 경험을 즐기며 살고 있다. 이전에 WEB/WAS 필드 엔지니어 경험을 바탕으로 한화와 CJ에서 인프라팀과 서비스운영팀에서 근무했으며 저서로는 『설치에서 트러블슈팅까지 웹로직의 모든 것 WebLogic Expert』(에이콘, 2014)가 있다.

김재준 저자

김재준

LG유플러스 CTO 조직의 클라우드CoE 팀장을 맡고 있다. 사내 클라우드 인프라 자동 구성 시스템인 UCMP 기획 및 PO 역할을 수행했으며, 전사 클라우드 도입 관련 거버넌스 환경 구축과 데브옵스, 보안, 핀옵스 등 클라우드 현대화에 필요한 영역들을 발굴 및 적용하고 있다.

이규석 저자

이규석

테라폼 개발사인 하시코프사의 솔루션을 컨설팅하고 알리는 솔루션 엔지니어다. 하시코프의 솔루션들이 IT 인프라 전반에서 다양한 범주의 사람들에게 활용될 수 있다는 것에 매료되었다. WEB/WAS 필드 엔지니어, 게임 서버 개발자, 솔루션 아키텍트를 차례로 경험하며 얻은 경험을 바탕으로 공감과 배려가 있는 문화를 전파하는 일을 하고 있다.

이유종 저자

이유종

LG유플러스의 클라우드DevSecOps팀에서 퍼블릭 클라우드 구축 및 전환을 담당하고 있다. 인프라 및 시스템 엔지니어를 시작으로 담당 시스템을 퍼블릭 클라우드로 전환하면서 클라우드 플랫폼을 접하게 되었다. 데브옵스, IaC, 클라우드 보안 등 여러 분야에 관심이 많으며 지속적으로 성장하기 위해 노력 중이다.

PART 1 | 처음 만나는 테라폼

 

CHAPTER 1 IaC와 테라폼

_1.1 인프라 자동화의 성숙도 변화

_1.2 프로세스로서의 자동화

_1.3 IaC의 이해

_1.4 테라폼의 특성

_1.5 테라폼 제공 유형

_1.6 테라폼과 다른 도구의 비교

_1.7 테라폼 사용 목적과 과제

 

CHAPTER 2 실행 환경 구성

_2.1 테라폼 환경 구성

_2.2 IDE 구성

_2.3 CLI 구성 파일

 

CHAPTER 3 기본 사용법

_3.1 주요 커맨드

_3.2 HCL

_3.3 테라폼 블록

_3.4 리소스

_3.5 데이터 소스

_3.6 입력 변수

_3.7 local

_3.8 출력

_3.9 반복문

_3.10 조건식

_3.11 함수

_3.12 프로비저너

_3.13 null_resource와 terraform_data

_3.14 moved 블록

_3.15 CLI를 위한 시스템 환경 변수

 

CHAPTER 4 프로바이더

_4.1 프로바이더 구성

_4.2 프로바이더 에코시스템

_4.3 프로바이더 경험해보기

 

CHAPTER 5 State

_5.1 State의 목적과 의미

_5.2 State 동기화

_5.3 워크스페이스

 

CHAPTER 6 모듈

_6.1 모듈 작성 기본 원칙

_6.2 모듈화해보기

_6.3 모듈 사용 방식

_6.4 모듈 소스 관리

 

PART 2  | 구축부터 운영까지, 테라폼 워크플로


CHAPTER 7 협업

_7.1 형상관리 도구

_7.2 코드 관리

_7.3 State 백엔드

_7.4 실습

 

CHAPTER 8 워크플로

_8.1 규모에 따른 워크플로

_8.2 격리 구조

_8.3 프로비저닝 파이프라인 설계 - 깃허브

_8.4 Terraform Cloud(TFC)

_8.5 Terraform Cloud 추가 기능

 

CHAPTER 9 인프라 운영 및 관리

_9.1 배포 단위 관리

_9.2 기존 리소스를 테라폼으로 관리

_9.3 리팩터링과 모듈화

_9.4 문서화

_9.5 개발 워크플로와 운영 이관

 

CHAPTER 10 셀프서비스와 UCMP

_10.1 테라폼 사용 단계별 목표

_10.2 UCMP(U+ Cloud Management Platform)로 알아보는 셀프서비스 환경

인프라를 관리하는 가장 강력한 도구, 테라폼 

IaC 도구를 사용한 인프라 관리는 수동으로 관리하는 것보다 빠르고 안정적이기에 선택이 아닌 필수가 되어가고 있다. 테라폼은 하시코프사의 인프라스트럭처 자동화 도구로, 코드를 사용하여 클라우드 서버와 네트워크 및  인프라를 생성하고 관리하며 배포할 수 있다. laC 도구의 대표주자 테라폼을 활용해 기업 내 다양한 조직 규모에 맞춘 인프라 운영과 구성 방법을 알아보자. 

 

현업 하시코프 솔루션 전문가의 올인원 가이드

이 책은 IaC나 테라폼을 처음 접하는 독자도 쉽게 이해할 수 있도록 단계별 접근 방식을 제공한다. IaC 도구 사용 목적과 기본 개념부터 시작해 운영 중인 클라우드 환경에 직접 적용할 수 있는 예제 소스로 실무에 실질적인 도움을 준다. 테라폼은 강력한 도구인 만큼 다루기도 쉽지 않다. 하지만 각종 그림과 표로 세심하게 구성된 운영과 협업 가이드를 통해 여러 문제나 사고를 미연에 방지할 수 있으며 이미 지나쳤던 문제도 재조명하게 해준다. 수많은 강연 경험으로 다져진 통찰력, 하시코프 솔루션 전문가로서 깊이 있는 전문 지식을 지닌 저자는 독자들을 IaC의 세계로 쉽고 빠르게 안내한다.

 

★내용 구성

1부 | 처음 만나는 테라폼

테라폼을 다방면에서 활용할 수 있도록 테라폼의 기본 동작과 원리를 설명한다. 사용자가 원하는 구성을 효율적으로 설계하고 의도한 대로 동작하도록 안내한다. 동작 방식을 이해하면, 테라폼과 에코시스템이 제공하는 수많은 인프라 대상을 자유롭게 프로비저닝하고 조합해 사용할 수 있다.

 

2부 | 구축부터 운영까지, 테라폼 워크플로

테라폼으로 프로비저닝을 하면서 사용 규모가 확장될 때, 단계별 모범 사례를 확인한다. 인프라를 둘 이상의 작업자가 협업해 개발할 때는 작업 구성과 방식에 변화가 따른다. 2부에서는 서로 다른 팀과 조직에서 테라폼으로 협업하는 방식을 알아보고, 최초 인프라 프로비저닝 이후 운영 단계에서 테라폼을 사용하는 방법을 안내한다.

 

★이 책의 주요 내용

- 인프라 자동화의 흐름과 IaC 이해    

- 테라폼의 특성과 기본 사용법 

- 클라우드 프로바이더 설정 방법  

- 테라폼으로 협업하는 법        

- state와 모듈의 개념과 사용

- 테라폼을 이용한 지속적인 인프라 관리, 운영

- 셀프서비스와 UCMP(LG유플러스 사례)

 

★이 책의 대상 독자

- 소프트웨어 배포와 실행에 필요한 인프라를 관리하는 엔지니어  

- IaC 도구를 이미 사용 중이지만 더 효과적인 활용이 궁금한 분 

 

★먼저 읽은 베타리더들의 한 마디

- ‘현업에서 요구하는 진짜 IaC 사용법’을 알려준다. _도효주 님

- 실무 중심의 용어로 설명되어 코드 전문 지식이 없어도 테라폼을 정복할 수 있다. _송창안 님

- 이 책으로 이미 지나쳤던 문제를 재발견할 수 있을 뿐 아니라 적절한 해결책까지 얻어갈 수 있다. _이정훈 님

- 초심자의 수준을 고려하여 기본 개념을 코드와 함께 간결하고 세심하게 설명한다. _이지오 님

- 다수가 협업하는 환경에도 바로 적용해볼 수 있는 폭넓은 지식을 갖춘 책이다. _박수현 님

- 이 정도로 테라폼에 특화된 책은 지금까지 없었다. _이장훈 님

테라폼을 만든 하시코프와 실제로 사용하는 LG유플러스의 경험을 녹여 만들어진 책이다.

기초부터 자세히 설명 된 책이다.


테라폼은 인프라를 코드로 관리하는 툴이다.

AWS나 GCP나 네이버 클라우드 등  다양한 클라우드 모두 다 지원하는 툴이다.

개인적으로 작업 시간을 줄이고, 정확도를 높이는 툴이 될 수 있어 좋아한다.


 

테라폼과 IaC는 뗄래야 뗄 수 없는 관계다. 클라우드 생태계로 대부분의 현대화된 어플리케이션, 시스템들이 옮겨가면서 Micro Service Architecture(MSA)로 변모하게 되고 이로 인해 자동화된 지속 통합/배포가 많이 이루어지게 되었다. 

 

그리고 어플리케이션 뿐만 아니라 AWS와 같은 클라우드 및 Kubernetes와 같은 Orchestration 도구를 이용한 인프라 영역도 사람의 손이 아닌 코드로 배포하기 시작했으며, 이를 Infrastructure as Code (IaC)라고 한다. 

 

그리고 테라폼은 정식 1.0 버전이 나온지는 얼마되지 않았지만 이미 IaC 영역에서는 독보적인 지위를 가지고 있으며 Ansible과 같은 기존의 IaC와는 다른 구도로 흘러가고 있는 모양새다. 그리고 그러한 대세에 맞춰서 테라폼에 대한 지식을 갈무리 할 겸 들어온 책이 바로 이 책 “테라폼으로 시작하는 IaC”이다. 

 

이 책의 주요 독자는 테라폼에 대해서 잘 모르거나, 아직 운영에 익숙하지 않은 초심자를 위한 것으로 보인다. 테라폼에 대한 전반적인 문법을 친절하게 설명하고 있으며, 각 명령어별로 예시를 제공하고 있어 이해하기에 수월하다. 그리고 가장 많이 쓰이는 AWS기반의 예제라 더욱이 많은 IT를 학습하는 이들에게 도움이 될 것으로 보인다. 

 

책 후반부에는 테라폼을 실제 구축과 운영에 어떻게 사용하는지를 예시를 통해서 설명하고 있으며, 테라폼 외에도 Github등을 활용함으로서 실무에 적용이 가능한 내용을 제시하고 있어 마음에 드는 부분이었다. 

 

제일 마지막에는 LGU+에서 어떻게 운영하고 있는지 UCMP라는 솔루션을 제시하고 있는데, 이는 대기업에서 테라폼을 활용하고자 하는 계획이 있을 경우는 좋은 레퍼런스로 활용할 수 있다는 생각이 들었다.

 

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

terraform.jpg

 

 

테라폼(Terraform)은 인프라스트럭처 자동화 도구로서, 클라우드와 온프레미스 인프라를 프로그래밍적으로 관리할 수 있게 해주는 오픈 소스 도구이며, 테라폼을 사용하면 인프라 리소스를 코드로 정의하고, 이를 통해 인프라스트럭처를 프로비저닝하고 관리할 수 있다.

개발자로써 테라폼을 사용하면 인프라 관리를 단순화하고, 재사용 가능한 모듈을 활용하여 효율성과 일관성을 높일 수 있으며, 다양한 클라우드 환경에서 인프라를 이식할 수 있다.
이로써 시간과 노력을 절약하면서 안정성과 신뢰성을 향상시킬 수 있다.

 

이 책을 통하여 테라폼의 사용환경설정부터 사용법까지를 익힐 수 있으며, 실무에서 사용 가능한 워크플로 및 인프라 운영 관리 팁들을 배울 수 있다.

가장 크게 와닿은 부분은 클라우드 제공자에 구애받지 않고 동일한 코드로 관리가 가능하다보니 AWS를 이용하다가 구글 클라우드로 이전을 해야한다거나, 혹은 두개 세개 이상의 클라우드 서비스를 이용해야하는 경우에도 부담없이 이용 가능하다는 점이며, 소규모 개인부터, 대규모 팀까지 모두를 아우를 수 있는 효율적인 툴인것 같다.

 

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

급격하게 변화하는 비즈니스 요구 사항과 그에 따른 애플리케이션 개발을 위해선 민첩한(Agile) 인프라 환경 구성이 필수다. 클라우드 환경에서 인프라를 프로비저닝하고 구축하며 구성해 나가는 과정이 온프레미스 환경보다 더 나은 시대에 살고 있지만 더욱 빠르고 정확하게 인프라를 배치하기 위해선 다른 전략과 도구가 요구된다. 인프라의 라이프 사이클(생성, 수정, 폐기) 전반에 걸쳐 사람이 개입하여 수동으로 작업을 진행하게 되었을 때 따르는 부작용과 오류, 위험 등은 비지니스 요구 사항에 대한 기민한 대응을 불가능하게 만들고 이는 곧 발전을 저해하는 장애물로 간주된다. 속도가 곧 비즈니스인 시대에 보다 빠르고 정확하게 인프라 환경을 구축하기 위해선 자동화 도구가 도입되어야 하는데, 이를 지탱하는 기술이 바로 IaC(Infrastructure as Code)다.

 

IaC는 인프라를 코드로서 관리하는 기술이며, 코드를 선언적으로 작성함으로써 보다 빠르게 인프라를 생성 또는 수정, 폐기할 수 있는 기능을 제공한다. 현재 시점에서 가장 유명하고 많은 사용자를 확보하고 있는 툴이 바로 '테라폼'이다. 테라폼은 특정 벤더에 종속되어 있지 않고, 범용적인 환경에서 다양한 벤더를 지원하며 여러 플랫폼에서 동작한다. 오늘은 바로 이 테라폼을 다루는 서적에 대해 이야기를 나눠 보려고 한다. 

 

KakaoTalk_20230626_012334137.jpg

 

본 서적은 현업에서 테라폼을 다양한 환경 및 조직 차원에서 두루 사용해 온 여러 저자들이 집필한 책이다. 복수의 저자가 본인만의 경험과 노하우를 여내어 구성된 책인 만큼 다양한 배울거리가 가득했다. 특히나 저자 중 한 분은 테라폼의 개발사인 하시코프에서 활동 중인 이력을 갖고 있어 책에 대한 신뢰가 무엇보다 클 수 밖에 없었다. 

 

이 책은 인프라 자동화로서의 IaC의 등장 및 도입 배경과 테라폼의 특성에 대한 설명으로 시작한다. 이윽고 테라폼 실행 환경 구성을 진행하게 되고 본격적으로 테라폼을 사용하기 위한 토대가 마련된다. 어떠한 도구를 이용하기 위해선 그에 대한 사용법을 숙지해야 하는 만큼, 테라폼이 제공하는 커맨드와 HCL(HashCorp Configuration Language)에 대한 문법을 학습하게 된다. 프로그래밍 경험이 있는 독자라면 HCL 문법이 크게 생소하거나 어렵진 않으리라 생각한다. 이어서 프로바이더, 스테이트, 모듈 등에 대한 학습을 진행하며 첫 번째 파트가 마무리된다. 첫 번째 파트를 통해 테라폼의 작동 방식과 전반적인 이해를 갖추게 되고 기본기를 연마하는 시간을 갖게 된다. 

 

두 번재 챕터에서는 심화된 과정이 이어지게 되는데, 여러 이해관계자가 테라폼 코드를 공유하고 함께 작업하며 관리할 수 있는 협업에 대한 이야기가 전개된다. 또한 다양한 컨텍스트에서 테라폼을 구성하기 위한 워크플로우 전략과 보다 효율적으로 테라폼 코드를 유지 및 보수하고 관리하기 위한 노하우를 배울 수 있다. 끝으로 LG U+에서 개발한 UCMP의 사례를 들어 실제 기업 환경에서 테라폼이 어떻게 적용되며 활용되고 있는지에 대한 인사이트를 얻을 수 있게 된다. 

 

테라폼에 대한 위상이 높고, 전 세계적으로 테라폼 사용률이 높은 것에 비해 국내에 테라폼과 관련된 서적이 거의 없다는 사실이 많이 아쉬웠었다. 이번에 세상에 빛을 발하게 된 이 서적은 테라폼에 목마른 필자를 비롯하여 여러 독자의 아쉬움을 크게 달래 줄 수 있는 유일한 책이 되지 않을까 싶다. 또한 테라폼을 통해 진정한 인프라 자동화 환경을 마련하고 구축하고자 하는 모든 사용자가 이 책을 통해 본격적으로 IaC의 세계로 접어들면 어떨까? IaC의 여정에 이 책이 분명 든든한 지원군이 되어 주리라 생각한다. 

 

P.S 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

 

이번에 리뷰할 책은 '한빛미디어'에서 나온 '테라폼으로 시작하는 IaC' 입니다.

 

사실 클라우드 제공사에서 제공해주는 것 말고,  IaC 로 말하자면 테라폼 말고 다른게 또 있나?(엔서블?) 할 정도로 테라폼은 클라우드에서 범용적으로 사용할 수 있는 기술입니다. 

몇 년 전만 하더라도 인프라 엔지니어에게 있어서 IaC 는 배워두면 편한 기술, 커리어에 도움이 되는 기술이었지만 이제는 꼭 알아두어야 할 기술로 자리매김한 것 같습니다. 

책 쪽수가 상당하기 때문에 일부러 전자책으로 책을 받았습니다. 무려 380페이지에 대한 분량도 압도적이지만, 책을 펼쳤을 때 나오는 추천사와 베타리더의 글들도 압도적 입니다. 

그리고 사설을 좀 더 붙이자면, 국내에서 유명한 IT 기술들은 원서를 바탕으로 한 번역서가 많지만, 이렇게 저자로서의 책은 한국 IT상황에도 잘 맞고, 독자가 어떤 것을 필요로 하는지 알기 때문에 개인적으로 상대적으로 작은 한국 도서시장에 이런 책들이 많이 출간 되는 것이 반갑습니다. 

많은 기술들이 고도화 되면서 책의 첫 장에 단순히 기능에 대한 설명으로 채워놓기에는 뭔가 부족해보입니다. 그래서 이 책은 테라폼 기술이 나오게 된 계기와 '철학'에 대하여 설명해줍니다. 그래서 인프라 자동화가 어떤 단계를 거쳐서 변화 되어 왔는지 IaC가 왜 필요한지 설명해줍니다.

사실 IaC가 단순히 프로그래밍 언어를 배우는 것이 아니라 여러 개념을 복합적으로 알아야 해서 처음 접하는 사람에게는 약간 허들이 높을 수 있습니다. 하지만 이 책은 단순히 코드와 설명 외에도 수 많은 다이어그램과 도표로 어떻게든 독자를 이해시키려고 하는 노력이 곳곳에 보입니다.

 

테라폼1.png

 

위와 같은 식으로 그림과 표로 동작원리를 상세하게 설명해주는 점이 돋보입니다. 

갈수록 복잡한 IT 세계에서 단순히 프로그래밍 언어를 몇개 안다던가,  지식을 넘어 이제는 어떻게 설계 하냐에 따라 구축과 유지보수 난이도가 천차만별이 되게 됩니다. 기술이 발전한다는 것은 결국 기존에 조직이 했던 업무를 팀이 하고, 팀이 했던 업무를 혼자서 해야 한다는 말과 크게 다르지 않을 것입니다. 그래서 이 책의 부제인 "테라폼 입문부터 실무 적용까지 올인원 가이드" 처럼, 정말 올라운더가 되기 위한 친절한 자습서라고 할 수 있을 것 같습니다. 

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

 

​#테라폼 #IaC #한빛출판미디어 #하시코프 #Terraform

IaC라는 말은 인프라스트럭처(Infrastructure)를 코드(Code)로 관리를 하겠다라는 것이다.


Infrastructure as Code


이것을 가능하게 만들어주는 도구 중에서

최근 가장 유명한 도구가 바로 해시코프(HashiCorp)에서 만든 테라폼(Terraform)이다.


바로 이 도구에 대해서 친절히 알려주는 책이 바로 이 책이다.



5월말에 출간된 따끈따끈한 책이다.



이 책의 구성은 개인 사용자를 위한 내용부터 단일팀, 다수팀을 넘어 조직 단위에서 필요한 내용까지 담고 있다.



다만, 이 책은 초보자들을 위한 책은 아니다.

본업이 Infrastructure와 관련된 분들을 위한 책이다.



이 부분이 조금 아쉬운 부분일 수도 있겠지만,

이 분야를 조금이라도 아시는 분들은 어쩔 수 없다는 것에 동의하실 것이라고 생각한다.


사실 Infrastructure 라는 용어에 대한 명확한 정의조차 어려움이 있긴한데,

단순히 서버(Server)라는 hardware라고 생각할 수도 있지만

지금 실제 필드에서 infrastructure라는 용어는 대단히 광의적으로 쓰이고 있다.


이 분야에서 업무를 하기 위해 알아야할 것들은 정말 많다.

CPU, Memory 등의 실제 hardware에 대한 지식도 알아야 하고

Windows Server나 Linux 등의 운영체제에 대해서도 알아야 하고

서버에 설치되는 MySQL, PostgreSQL,Oracle 등과 같은 데이터베이스도 알아야 하고

NginX나 Apache, Tomcat과 같은 WAS에 대한 지식 뿐만 아니라

그 외 다양한 HW에 대한 지식 + SW에 대한 지식들을 모두 알아야 한다.


최근에는 심지어 AWS, Azure, GCP, OCI 등 Cloud에 대한 지식은 물론이고

Container, Kubernetes 등에 대한 지식까지 모두 알아야만 한다.


또한 보안 관련된 지식 뿐만 아니라 네트워크에 대한 지식까지도 필요하다.



위에서 언급한 모든 것들을 전부 잘 알아야 하는 것은 아니지만

최소한 무엇인지 알고는 있어야 테라폼에 대해서 공부할만할 것이다.


그러면, 테라폼 외에 다른 IaC 도구들은 없는 것일까!?



비교표를 보면 알겠지만... 뭐 결국은 Terraform 짱!!!



설치 과정이 단순하기에... 사실 경로 설정만 신경쓰면 된다.



책은 전반적으로 많은 노력을 기울인 잘 만들어졌다라는 것이 느껴진다.

다만, 아쉬운 점은 ... 위 이미지와 같이 ... 컬러가 아니다보니, 몇 몇 그림은 아쉬움이 남는다.



서버 관리 및 DevOps 등을 담당하는 분들이라면,

서버 및 클라우드 등을 code로 관리하고픈 분들이라면 필독서로 옆에 비치해놓아야 할 책이라고 생각한다.



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


Author: 김민수, 김재준, 이규석, 이유종 지음

출판사: 한빛미디어

Score /5: ⭐️⭐️⭐️⭐️⭐️

요즘 '클라우드가 뭐에요?'라고 한다면 모른다는 대답을 하는 사람이 매우 적을것이다. 그만큼 클라우드는 우리에게 밀접하게 다가와 있다고 볼 수있다. 자! 그러면 조금 더 들어가서 현업에 계신 실무자분들을 대상으로 질문을 하면 어떻게 될까?

테라폼에 대해서 알고 계신가요?

클라우드를 활용하는 실무자분들의 경우 적어도 50퍼센트 이상 테라폼을 알고 있거나 사용하고 있다고 말할 것이다. 어떤 의미일까? 다른 IaC도구도 충분하고 Cloud 회사의 자체 IaC 서비스(예 - AWS의 CloudFormation)이 있는데 말이다. 다양한 이유가 있겠지만 첫번째 이유는 특정 벤더에게 '락인' 되고 싶지 않은 것이 클 것이다. 두번째로는 AWS의 CloudFormation도 훌륭한 도구이지만 일종의 러닝커브가 매우 높다. 그런 의미에서 테라폼은 특별하다. 러닝커브도 적절하고 특정벤더에 종속되지 않는다. 배울 이유가 충분한 IaC 도구이다.

하지만 문제는 테라폼에 대해서 적절히 설명하는 기본서가 매우 적다는 점이다.

그런 의미에서 이 책은 여러분들에게 하나의 지침이 될 수 있다. 약 400여 페이지의 적당한 길이의 이 책은 필요한 정보를 빼놓지 않고 하나씩 상세하게 알려준다. 또한, 샘플 코드를 제공하므로 이론뿐만 아니라 체화하면서 따라갈 수 있다. 단순하게 읽는 것도 중요하지만 하나씩 따라해 보면서 진행하기를 권장하며 다독하기를 권한다. 아무래도 HCL이라는 언어 문법을 익혀야 하므로 암기가 필요한 부분이 있다. 개인적으로  '독서 백편 의자현'이라는 표현을 좋아하는데 여러번 읽으면 책이 이해가 된다는 의미다. 우리는 실무자이므로 단순히 책을 읽었다는 트로피가 필요한게 아니라 이해를 필요로 한다. 다시 한번 말하지만 다독을 권장한다.

책에 대한 소개를 간단히 하자면 2개의 파트로 제공된다. Part 1은 '처음 만나는 테라폼'으로 기초 문법을 친절하게 설명하고 Part 2 '구축부터 운영까지'는 실제 실무에서 사용하는 부분에서 필요한 인프라 운영 관리등 가려운 부분을 긁어준다. 기본 문법을 알고 있다면 Part 2를 먼저 읽어보는 것도 도움이 될 수 있다. 개인적으로 Part 2에서 많은 도움을 받았다.

다시한번 말하지만 우린 이미 클라우드를 많이 활용하고 더이상 클라우드가 생소하지 않은 세대에 살고 있다. 이런 클라우드와 같은 리소스를 효율적으로 다루기 위해서는 IaC, 더 나아가서 테라폼을 필수다. 이 책으로 IaC를 시작하기를 권장한다.


"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평임."

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

 

IaC 툴이 있기 전과 후의 개발 방식이 많이 달라진 제 모습을 보면서 단순 반복 작업의 효율화와 자동화 작업에 대해 늘 고민하게 되는 개발자로서의 성장에 눈 뜰 수 있습니다.

 

무엇보다 테라폼은 국내외로 상당히 많은 사용자들이 도입해서 참조할 수 있는 레퍼런스가 많고 스크립트가 직관적이라는 평을 많이 받습니다.

 

인프라 / 애플리케이션 배포 업무에 대해 좀 더 생산적인 일을 해보고 싶은 개발자라면 권장합니다.

 

Terraform_potea.jpg

 

부제: "테라폼 입문부터 실무 적용까지 올인원 가이드"
 
인프라가 클라우드로 확장되면서 코드형 인프라, 즉 IaC(Infrastructure as Code)로 인프라를 관리하는 것이 기본이 되어가고 있습니다. 코드로 인프라를 관리하면 변화를 추적하고 관리하기 위해 VCS(Version Control System)를 써야합니다. 인프라를 구성하고, 그 위에서 서비스를 운영하기 시작하면 인프라는 지속적으로 바뀌어갑니다. 오랜 시간 동안 운영된 인프라의 현재 상태는 비교적 쉽게 알 수 있습니다. 각 장비에 설정된 현재의 값이니까요. 반면에 처음 상태에서 어떻게 현재 상태로 변했는지는 적절한 도구가 없으면 추적하기 쉽지 않습니다. 클라우드처럼 관리해야하는 인프라가 많은 경우에는 추적이 더 어렵습니다.
 
laC의 코드는 어떻게 작성 될까요? JSON, YAML도 많이 이용되고, 클라우드에서는 각 플랫폼마다 독자적인 방식을 제공합니다. 여러 클라우드 플랫폼을 지원하는 테라폼도 있습니다. 테라폼을 인프라에 적용하기 위해서는 본질을 이해하고 설정 파일을 작성하기 위한 문법을 익히는 것으로 시작해야합니다. 테라폼의 설정 파일은 하시코프(HashiCorp)가 만든 설정 언어인 HCL(HashiCorp Configuration Language)을 사용합니다. HCL은 JSON, YAML보다는 간결하게 작성이 가능합니다.
 
책에서는 IaC에 대한 기본 적인 지식을 시작으로 테라폼의 기본 개념과 핵심 기능을 1부에서 설명합니다. 2부에서는 IaC 협업의 필수 도구인 Git을 시작으로 작은 조직, 큰 조직으로 사용 규모가 확장되는 단계별로 워크플로를 설명해줍니다.
책은 380페이지 정도의 분량으로 클라우드 플랫폼 각각의 상세 내용을 모두 담기에는 부족합니다. 실제 인프라에 적용가능한 좋은 예제들은 하시코프에서 상세하게 제공하고 있어 책을 통해 기본적인 내용을 익히면 예제들을 해석하고 응용하는데 무리가 없을 것 같습니다.
 
"한빛미디어 [나는 리뷰어다] 활동을 위해서 책을 제공받아 작성된 서평입니다."

오늘 리뷰하는 책은 [테라폼으로 시작하는 IaC] 입니다.

 

https://www.hanbit.co.kr/store/books/look.php?p_code=B6444230163

 

 

표지 IMG_20230625_211001.jpg

 

 

 

 

인프라 생성 및 관리에 지친 사람이라면 누구나 들어봤을만한 단어, IaC !

클라우드를 공부하면서도 가끔은 인프라 생성이 지겹고 귀찮을때가 있었는데,

테라폼을 이용하면 코드로 관리 가능해서 수작업으로 할때 보다 다양한 장점이 있습니다.

AWS 를 사용할때는 주로 이미 만들어진 CloudFormation을 사용하는지라

테라폼을 접해볼 기회가 없었는데 이 책을 통해서 테라폼이 어떤 것인지 살짝 알게 되었네요.

책 분량은 380페이지로 적당하고, 표지에 반짝이는 홀로그램(?)이 아주 맘에 듭니다.

대상은 초중급이라고 나와 있는데...

아마 인프라를 수작업으로 관리하는 노가다 또는 IaC에 대해 전혀 모른다면,

이 책의 내용은 10페이지도 이해가 안갈거 같습니다.

반드시 책의 내용을 살펴보고 자신에게 필요한 책인지 판단하는걸로.

IaC는 주로 클라우드 환경에서 대량의 인프라를 관리할때 사용하는지라,

책에서도 주요 클라우드 프로바이더에 대해서 모두 언급하고 있는게 좋았네요.

 

단, 분량상 많은 부분을 할당하고 있지는 않습니다. 아래 사진은 AWS 프로바이더 설명 부분이네요.

 

 

AWS SE-1ed74bda-cb49-42eb-b8e4-83f021face76.jpg

 

 

 

책의 내용상 화려한 그림 같은 것은 거의 없다고 봐야 합니다.

테라폼이 코드로 인프라를 관리하는거니까 당연한거지요.

책에는 테라폼 코드를 git으로 관리하는 부분도 아래처럼 설명하고 있으니,

 

git을 잘 모르는 분들에게는 좋겠네요.

 

 

git SE-78bc1223-4246-4cce-88b9-51112b7e06ee.jpg

 

 

 

 

인프라 관리 자체가 그닥 재미 있는 분야가 아닐텐데 이걸 코드로 관리하는 테라폼에 대한 책이다보니,

그냥 봐서는 좀 지루해보일수도 있습니다. 그러나 수작업에 지친 인프라 담당이라면

꼭 이 책으로 직접 인프라 생성도 해보면서 장동화의 신세계로 넘어오시길 기대합니다.

저는 그동안 개발자로 인프라 관련된 일을 해봤지만, 정말 인프라를 수작업으로 하는 것은 피해야 합니다.

테라폼은 특정 클라우드 프로바이더에 종속적이지 않고 사용할 수 있는 좋은 기술이 될거라 생각합니다.

테라폼 관련 책이 많지 않으므로, 이 책으로 꼭 공부해보시길...

 

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

 

 

 

 

https://www.hanbit.co.kr/store/books/look.php?p_code=B6444230163

 

 

 

 

 

 

 

 

 

 

 

 

 

 

나는 테라폼에 대해서 이야기를 들어보기만 하고, 실제로 사용해보기는 커녕 테라폼을 사용하기 위해 작성된 코드조차 한 번도 봤던 적이 없던 사람이다. 테라폼이 굉장히 핫하다는건 알고있었으나 테라폼까지 사용해보기에는 다른 것들을 습득하느라 바쁘기도 했고, 프로젝트를 진행할 때도 도커, 쿠버네티스, CI/CD 등 기본적인 인프라만 구축하는데에도 버거워서 테라폼을 공부해서 적용해보는건 엄두도 내지 못했었다.


그러던 중 좋은 기회로 '테라폼으로 시작하는 IaC'라는 책을 읽게 되었는데, 읽기 전에 조금 걱정이 되긴 했다. 인프라도 아주 기초적인 것만 다룰 줄 아는 내가 과연 테라폼을 제대로 배울 수 있을까? 책이 나에게 너무 난이도가 높지는 않을까? 하는 걱정들 말이다.


그러나 책을 읽으면서 그런 걱정들이 사라졌다. 책의 첫 시작부터 인프라를 관리하고자 하는 요구에 따라 어떻게 발전해왔는지를 소개해주며 테라폼이 어떻게 등장했고, 테라폼은 어떤 장점들이 있는지를 소개해준다. 이후 테라폼을 설치하고 테라폼을 활용을 해보는데, 직접 예제를 작성 및 수정하고 테라폼 명령어들을 실행해보며 각 명령어가 어떤 식으로 쓰이는지를 쉽게 이해할 수 있도록 사용법이 소개되어 있다.


책이 개인 -> 단일 팀 -> 다수 팀 -> 조직 순으로 쓰여져있기 때문에 테라폼을 처음 활용하는 사람은 이런 식으로 테라폼의 사용을 확장해나갈 수 있구나를 간접적으로 느낄 수 있고, 테라폼을 이미 활용하는 사람은 자신의 조직이 속한 단계에 따라 어떤 식으로 테라폼의 사용을 확장해야할지를 그려볼 수 있을 것이다.


독자의 입장에서 보았을 때 친절하게 잘 쓰여진 책이라고 생각한다. 보통 책들은 목차만 쓰여져있는데, 이 책은 목차를 소개하기 전 각 장에서 어떤 내용들을 다루는지 설명해두었기 때문에 책의 전체적인 흐름을 잡고 읽어나갈 수 있게 했다. 사소하게 넘어갈 법도 하지만 편집 규약 또한 미리 설명을 해두어 독자들이 책을 읽으면서 편집 때문에 오는 혼란을 막고자 했다. 덕분에 책의 초장부터 기분좋게 읽을 수 있었다.


인프라를 코드로 관리하는 것에 관심이 있는 개발자, 이미 인프라를 코드로 관리하고 운영하는 개발자에 속한다면 이 책을 읽어보는 것을 추천한다.


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

클라우드를 사용하는 회사들이 늘어나면서 lac 도구들도 많이 나왔습니다.

 

lac는 클라우드 내의 인프라를 코드 개념으로 하는 것입니다.

 

대표적인 도구는 테라 폼인데요. 테라폼에 대해서 자세히 쓴 책이 국내에 나와서 소개해 보려고 합니다.

 

바로 ‘테라폼으로 시작하는 IaC’ 입니다.

 

이 책은 국내 3명의 저자가 쓴 책으로 인프라 분야에 개발을 오랫동안 일을 했습니다.

 

그럼 테라 폼에 대해 읽은 내용을 간단히 정리 해보도록 하겠습니다.

 

 

1) 선행 학습

테라폼이 클라우드를 만드는 것이 아니라 클라우드에 있는 것을 테라 폼으로 쉽게 활용하는 도구로 인식이 먼저 되어야 합니다.

고로 없는 것은 만들어 주지 않고 있는 것만 사용이 가능하다는 점이죠.

 

테라폼을 안다고 해서 단순히 클라우드를 핸들링할 수 있는 것은 아닙니다.

 

먼저 알아야 하는 것은 클라우드마다 용어와 서비스를 어느 정도 알아야 합니다.

그다음 사용하는 인프라를 도식화해서 하나씩 테스트 해보면서 테라폼 코드를 작성하는 것을 추천해 드립니다.

 

 

2) 코드로 인프라를 관리하기

대표적인 클라우드는 아마존으로 대부분 많은 회사에서 사용합니다.

 

인스턴스가 한, 두 대면 손으로 클릭하고 관리하는 부담이 없는데 서버의 개수가 많아지거나 VPC 설정부터 세부적인 IP 설정까지 하게 되면 클릭으로는 한계가 있습니다.

 

대규모 시스템을 운영하는 회사들도 다양한 lac 도구 중 테라 폼을 선택한 점도 설치 또한 간편하며, 사용하는 데 있어서 조금의 러닝 커브만 있으면 쉽게 따라 할 수 있어서 사용합니다.

 

또한 이 책에서도 기본적인 테라 폼에 대한 특성과 사용법을 쉽게 잘 알려줍니다.

 

 

큰 클라우드 회사 경우 대부분의 기능이 되지만 중소나 작은 규모의 클라우드 회사는 지원하지 않는 기능들도 있을 수 있습니다.

 

 

Ps

이 책의 샘플 코드와 도식화가 잘되어져 있어서 처음 테라폼을 접하는 사람도 쉽게 이해할 수 있습니다.

 

또한 가장 중요한 점은 선행으로 먼저 되어야 하는 것이 무엇인지 생각하고 코드를 실행하는 습관이 들면 에러를 만나는 일도 줄어들 것이라고 봅니다.

 

이 책은 인프라 개발하는 개발자 분들 테라폼을 처음 접하거나 백엔드 개발자분들에게 추천해 드립니다.

Intro

사실 난 DevOps는 아는 것이 별로 없는 학생이다. 쿠버네티스와 도커를 잠깐 공부해보긴 했지만 깊게 공부하지는 않았다. 그렇기에 이 책을 선택했을 때 두려움도 있었으나, 언젠가는 DevOps 쪽도 공부해보고 싶었기에 이 책을 선택했다. 테라폼이라는 용어도 가끔 기업들의 CI/CD 파이프라인 이미지에서만 보거나, 얼핏 들어보기만 했지 정확히 무엇인지는 몰랐다. 그래서 이 책을 읽으면서 테라폼이 무엇인지, 어떻게 사용하는지 알고 싶었다.

Book Review

초심자도 읽을만한 책

위에서도 언급했듯이 이 책을 읽기 전 두려움이 많았었다. 예전에 쿠버네티스, 도커를 공부해볼 때 '그냥 하면 되겠지'라는 심정으로 공부를 했는데 생각보다 어려웠어서 테라폼도 어렵지 않을까 생각했었다. 게다가 DevOps 초심자라 공부하면서 모르는 용어도 분명히 많을 거라 생각해서 책을 읽기도 전에 겁을 먹었었다. 그러나 두려움은 책을 읽으며 점차 사라졌고, 이 책은 초심자도 읽으려고 노력만 한다면 읽을만한 책이라는 것을 느꼈다.

테라폼의 기본 사용법부터, 동작 방식, 어떻게 적용하고 사용하는지 등 테라폼을 어떻게 활용할 수 있는지 설명한다. 크게 1부와 2부로 나뉘어지는데 1부에서는 기본적으로 테라폼을 어떻게 사용하는지 그리고 프로바이더, 동작 방식 등을 설명한다. 2부에서는 테라폼으로 프로비저닝을 하면서 사용 규모가 확장되는 모범 사례를 알려준다. 이 부분이 나는 장점이라 생각했다. 다른 팀 또는 조직과 협업하는 방법을 알려주기 때문이다. 나중에 테라폼을 도입할 일이 생긴다면 이 책을 다시 볼 예정이다.

대상 독자

대상 독자는 DevOps에 관심이 있기 보다는 테라폼이라는 기술에 대해 먼저 알고 공부하고 싶은 사람들에게 추천한다. 특히 인프라 엔지니어, 데브옵스 엔지니어 등 서비스를 설계하고 관리하는 직군에게 어울리는 책이 아닌가 싶다.

소프트웨어에 필요한 인프라를 AWS, Google Cloud, MS Azure와 같은 클라우드 벤더에 직접 접속해서 세팅을 했다면, 코드로 인프라를 관리하는 IaC에 한번 관심을 가져보면 좋을 것 같습니다.

 

이 책은 IaC를 테라폼으로 시작할 수 있도록 설명하고 있는 <테라폼으로 시작하는 IaC> 라는 서적입니다. IaC를 위한 여러가지 도구중에 테라폼을 활용하여 클라우드를 구축하는 방법을 설명하고 있습니다. 테라폼은 다양한 클라우드 벤더에 모두 사용할 수 있도록 구성이 되어 있습니다. 그리고 가장 높은 점유율을 가지고 있는 AWS를 기반으로 실습을 시작합니다.

 

파트1에서는 먼저 가장 기본적인 명령어를 익히는 과정을 가집니다. 각 명령어들에 대한 실행 결과와 설명이 자세히 나와있고 소소한 팁들이 잘 포함되어 있습니다. 또 HCL라는 IaC와 구성 정보를 작성하기 위한 언어를 활용하여 JSON, YAML같은 방식으로 작성하는 것 보다 편리하게 작성할 수 있는 언어를 배우게 됩니다.

 

그 다음에는 프로바이더에 대해 학습을 진행하는데요. 각 클라우드 벤더마다 동일한 HCL을 가지고 상호작용을 하려면 중간에 인터페이스의 역할을 하는것이 있어야 할 것입니다. 그것이 바로 프로바이더입니다. AWS, Azure, Google Cloud Platform, Alibaba Cloud를 세팅하는 과정을 거쳐봅니다.

 

그 이후에 State, 모듈에 대한 학습을 끝으로 테라폼 동작과 원리 분석을 마무리하게 됩니다.

 

파트2에서는 협업, 워크플로우, 운영적인 측면을 다루게 됩니다. 결국 테라폼과 같은 IaC를 사용하는 조직은 어느정도 규모가 있는 조직일 것이고 그에 따라서 다양한 문제점들이 발생할 수 있는데요. 이런것들을 어떻게 풀어나가면 좋을지 가이드를 제시해줍니다.

 

책에서는 테라폼의 기본 개념과 응용 기술을 모두 배울 수 있습니다. 개발 조직에서 생산성과 자동화는 언제나 화두가 되는 내용인데요. 책에서 말하고 있는 것처럼 IaC는 점점 옵션이 아닌 필수가 되어가고 있기 때문에 인프라를 구축하는 업무를 다뤄야 한다면 무조건적으로 IaC에 대한 학습을 진행해야 한다고 생각하고, 그 대안으로 테라폼의 많은 내용을 담고 있는 이 책을 추천드리고 싶습니다.

 

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


최근에 kubenetes도 배우고, helm도 배우면서 terraform을 배워야 겠다고 생각을 했었는데 타이밍에 맞게 이 책이 나온다고 해서 바로 읽어보았다. 

이 책에 대한 이야기를 하기 전에 요즘 클라우드 관련 기술의 트랜드를 보면 IaC나 helm 같은 기술들이 이끌어 나가는 것 같다. 해당 기술들의 특징은 명령형(imperative)가 아닌 선언형(declarative)라는 것인데 클라우드 기술들이 생겨난 이유를 생각해보면 당연한 걸지도 모르겠다는 생각이든다. 필자는 클라우드가 생겨난 이유가 기술의 발전이 점점 빨라지면서 그에 맞추어 대응하려면 클라우드에 서버를 두지 않고 물리적 서버를 고집한다거나 microservice가 필요한 시점에 monolithic한 아키텍처를 고집한다면 현 시대에서 얻을 수 있는 기술적 이점을 챙기지 못하기 때문에 클라우드가 잘 나가는 것이 아닐까 싶다. 그런 점에서 클라우드 서비스를 사용할 때 명령형으로 무언가 만든다면 한계가 있다고 느껴진다. 예를 들어 수십만개의 서버를 똑같은 환경으로 만들어야 한다면 명령형으로는 한계가 있을 것이다. 처음 만들 때야 한 번이라서 어떻게든 명령형으로 커버한다지만 여러 subnet에 나누어 넣어야한다던가, 도메인명을 다르게 한다던가 등... 여러 상황이 생겼을 때 명령형으로는 관리하기 매우 힘들 것이다. 따라서 관리 차원, 그리고 협업 차원에서 선언형은 어떻게 보면 필수가 아닌가 싶다.

 

 

책 표지

 

 

이 책을 아직 완독하지는 못했지만 반 이상 읽은 시점에서 느끼는 건 실습하기 아주 편하게 만들어 놓았다는 것이다. 어떤 기술 책들은 실습하기가 좀 까다로워서 사놓고도 지식을 습득하지 못한 책들이 있는데 이 책은 특히나 로컬에서도 쉽게 실습을 할 수 있어서 유용한 책인 것 같다.

 

01234567
목차

 

목차를 보면 기본 지식 -> 모듈화 -> 실제 현업에 관련 내용 순이다. 아직 모듈화 전까지만 읽었지만 이정도만 읽어도 백엔드 개발자인 필자가 devops팀이 작성해놓은 terraform code를 이해할 수 있을 거라는 자신감이 든다... :)

가볍게 뒷 부분을 보기도 하였는데 현업에서의 가이드도 매우 흥미롭고, 리팩토링을 하는 과정을 상세하게 써 놓은 부분도 매우 흥미로웠다. 사실 리팩토링을 하는 것이 참 시간적으로나 기술적으로나 어려운 것이라고 생각하는데 이 과정을 책으로나마 읽을 수 있는 것은 좋은 경험이 될 거라고 생각한다.

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다

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

국내 시장에서 테라폼 관련 입문 서적을 찾기 어려운 가운데, 이 책은 번역서를 뛰어넘는 독보적인 테라폼 알짜배기 가이드로 특색을 드러낸다. 테라폼 입문자들을 위해 이해하기 쉽게 친절하고 명료하게 작성되어 있어, 기본 문법 및 리소스 구성 뿐만 아니라 실제 환경에서 국내 대기업들이 활용하는 사례와 함께 조직 간 협업에 꼭 필요한 팁까지 가득 담겨 있다.

IaC 및 테라폼 학습이 필요하다고 생각했으나, 영문 자료의 추상적인 내용으로 이야기가 장황하고, 동작 원리를 제대로 이해하기 어려웠던 입문자들에게 이 책은 참으로 소중한 지침서가 될 것이다. 특히 포함된 사례들을 통해 한층 더 실질적인 학습 경험을 가져갈 수 있다는 점이 큰 장점으로 꼽힌다.

다만, 책에서 제공하는 예제 코드의 경우에는 설명에 해당하는 코드 내용이 볼드 처리되어 있지 않아 가독성이 다소 떨어지는 아쉬움이 남는다. 이 부분을 개선한다면 보다 완벽한 테라폼 입문서로 추천할 수 있을 것 같다.

 

최근 클라우드 프로젝트를 진행하면서 전체적인 시스템 구성을 해보고 싶어서 CSP 클라우드 콘솔에서 직접 VPC, 서버 인스턴스, DB 등을 구성해 봤다. 그런데 초기 설계에서는 구성이 자주 바뀌기도 하고, 혼동을 피하기 위해 각각의 서비스 이름에 대한 규칙을 바꾸는 경우도 있고, 또 테스트 영역과 개발 영역과 운영 영역을 구분하는 경우 등 인프라를 재구성해야 하는 경우가 반복되었다. 단순하게 이런 경우 테라폼을 쓴다는 글을 본 적이 있어서 시간을 약간 투자해서 전체적인 서비스 구성을 할 수 있는 코드를 작성했다. 아직 제대로 개발에 들어가지 않는 상황이라 협업이나 운영 시의 장점은 크게 느껴보지 못했지만, 지금까지의 경험만 해도 상당히 편리하게 느껴졌다.

책을 읽다 보면 코드로 인프라를 관리한다는 것에 대한 장점이 훨씬 더 쉽게 와닿는다. 수동으로 작업하던 것을 코드나 문서의 형태로 관리한다는 식으로 이해할 수 있는데, 어떻게 보면 개발자 입장에서 좀 더 익숙한 형태라고도 볼 수 있고 형상관리를 하면서 협업도 쉬워진다는 의미로 이해했다. 테라폼 사용 환경 구성과 기본 사용법부터, 협업을 위해 알아 두어야 할 내용 등에 대해 전반적으로 설명해 준다. 클라우드 환경에서의 작업이 많아지고 있는 만큼 자동화에 대한 고민은 필수가 되어야 할 것이고 그럴 때 이 서적이 많은 도움이 될 것이다.

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

코드로 관리하는 인프라스트럭쳐(IaC, Infrastructure as a code)의 개념이 나온지도 꽤 오래되었습니다.

시장에는 정말 많은 IaC 도구들이 출시되어 있고 장단점도 명확합니다.

시간이 흐르면서 사용자들은 특정한 도구로 집중되기 시작했고

선두그룹에 테라폼 Terraform 이 있다는 것은 모두가 인정하는 사실입니다.

한빛미디어에서 출간된 "테라폼으로 시작하는 IaC"는

시장의 Defacto로 자리잡아가고 있는 테라폼의 기본부터 고급 사용법까지를 다루고 있는 서적입니다.

 

IMG_6380.JPG

 

 

 

 

이 책은 크게 두개의 파트로 나뉘어져 있습니다.

첫번째 파트는 저처럼 테라폼에 익숙하지 않은 독자들이

테라폼을 조금씩 알아가면서 익숙해지도록 해주는 기본 파트입니다.

 

IMG_6381.JPG

IMG_6382.JPG

 

초보자라면 첫번째 파트부터 빠르게 읽어나가면서 테라폼에 익숙해지는 것이 좋고

중고급자라면 두번째 파트를 통해 테라폼을 제대로 활용하기 위한 이야기를 읽어 나가면

실무에서 테라폼을 보다 잘 활용할 수 있는 많은 지식을 쌓을 수 있을 것 같습니다.

테라폼은 강력한 도구입니다.

하지만 숨겨져 있는 기능들과 활용법, 그리고 적용 방법을 조금 더 이해할 수 있다면

반복되는 업무의 효율화는 물론이고 실수와 불필요한 비용 지출까지 통제해 줌으로써

더 강력한 도구로 활용할 수 있게 될 것입니다.

한빛미디어의 "테라폼으로 시작하는 IaC"는 두껍지 않은 책이지만

기초부터 활용까지 알찬 내용으로 구성되어 있어

테라폼을 써보고자 하는 모든 사람들의 욕구를 충족시켜줄 것입니다.

본 리뷰는 한빛미디어 "나는 리뷰어다" 활동을 통해

무상으로 도서를 제공받아 읽고 작성된 포스팅입니다.

다만 실질적으로 도서의 내용을 읽고 평가했으며

사실과 다른 이야기를 담고 있지 않습니다.

화면 캡처 2023-06-25 110711.png

코드형 인프라, IaC(Infrastructure as Code)는 데브옵스(DevOps),클라우드를 활용하여 소프트웨어를 개발하고 적용하기 위한 인프라 리소스의 프로비저닝, 관리, 배포를 자동화할 수 있도록 해준다.

이 책은 하시코프 도구를 이용한 IaC 즉 테라폼을 사용하기 위한 가이드를 제공하고 있다.

사시 테라폼은 용어는 한번쯤 들어본 듯 하다. 하지만 내용을 본 것은 이 책을 통해서 처음이다.

테라폼은 사용자가 원하는 대상의 자원 생성과 관리를 사용자 방식에 맞추는 하시코프사의 철학이 반영된 오픈소스 도구라고 할 수 있다.

즉 어떤 기술에도 구애받지 않고 워크플로에 맞춤으로써 기술이 변하더라도 최종 목표가 동일하게 유지되는 것이 그 목표이다.

이 철학을 기반으로 한 테라폼은 인프라스트럭처를 프로그래밍적으로 정의하고 관리하는데 사용되며, 이를 통해 인프라스터럭처를 쉽게 프로비저닝할 수 있게 되는 것이다.

이 책은 총 두 파트로 나누어져 설명하고 있다.

파트1에서는 처음 만나는 테라폼을 사용하기 위해 필요한 기본 실행환경 구성과 기본 사용법에 대해서 설명하고 프로바이더, State, 모듈에 대한 기본부터 아주 상세하게 설명해주고 있다. 테라폼이 무엇인지 모르는 독자도 이 책을 통해서 테라폼에 대해 아주 잘 이해하도록 구성이 되어 있어서 정말 잘 만들어졌다는것을 느낄 수 있다.

파트2에서는 실제 구축부터 운영까지, 테리폼 워크플로를 활용할 수 있도록 구성하고 있다. 협업, 워크플로, 인프라 운영 및 관리까지 그리고 마지막으로 셀프서비스와 UCMP(셀프서비스환경)까지 아주 자세하게 설명해준다.

이 책하나로 테라폼을 기본부터 응용까지 가능하도록 알차게 구성이 된 것을 알 수 있다.

IaC를 경험하고 싶다면 이 책을 옆에 두고 보면 된다.

또는 테라폼을 시작하고 싶고 상세한 내용을 알고 싶었다면 이 책을 적극 추천한다.

이 책은 테라폼에 아주 아주 특화되어 잘 설명된 메뉴얼과도 같은 책이라고 할 수 있겠다.

이 책은 초보자부터 전문가까지 모두를 대상으로 한다. 이 책을 통해서 단순한 서비스 운영이 아니라 지속적으로 운영되는 서비를 할 수 있는 노하우를 배울수 있는 그런 책이다. 데비옵스를 하고 싶다면 이 책을 통해서 배우라고 적극 추천한다. 나 또한 이 책을 통해서 조직의 데브옵스를 구현할 것이다.

 

KakaoTalk_Photo_2023-06-26-20-13-39 002.jpg

 

IaC는 컴퓨터에서 읽을 수 있는 정의 파일을 사용해 인프라나 서비스를 관리하고 프로비저닝하는 프로세스이다.

33쪽, 테라폼으로 시작하는 IaC.

 

테라폼은 ‘프로비저닝’을 지원하는 도구로서, 실제 서비스가 실행되기 위한 인프라를 다지는 역할을 수행한다. 인프라 구성과 설정은 어떤 서비스가 동작하기 위한 기반을 만드는 것이고, 작업을 수행하는 사람은 처음에는 혼자 시작해 서비스 규모가 증가할수록 팀에서 전체 조직으로 확산된다. 이 방식은 코드 기반으로 재활용성을 확보하고 사용자 간 협업을 이끌어낸다.

32쪽, 테라폼으로 시작하는 IaC.

 

테라폼 입문서를 만든 저자 중 절반은 LG U+ Cloud 관련 팀에서 근무하고 있다. 실제 적용 사례를 기반으로 책을 작성하여 테라폼이 활용되어야 할 이유에 공감할 수 있고, 현실적인 기술 적용 방법을 익혀볼 수 있었다. 다른 산업보다도 활발하게 MSA로 전환하는 통신업이기에 IT 추세 또한 살펴볼 수 있다.

 

 

 

KakaoTalk_Photo_2023-06-26-20-13-41 005.jpg

 

 IaC를 이해하기 전, 인프라 자동화 단계와 요즘의 IT 환경 추세를 파악하고 있어야 한다. 인프라와 IT의 발전 단계를 몸소 경험했거나 경험하지 않은 이들 모두에게 전달될만한 발전 단계를 설명한다. IaC를 통해 인프라 관리에 대해 관심을 갖게 된 이들에게도 도움이 될 것이다.

 

 

KakaoTalk_Photo_2023-06-26-20-13-43 007.jpg

 

  

좋은 코드의 특징과 IaC는 어떤 관계가 있을까? 먼저 인프라도 좋은 코드처럼 관리가 가능하다. 앞서 자동화를 위해서는 문서화해야 했고, 인프라 종속성을 분석해 관리하며, 인프라 자원 변경이 있을 때마다 변경하고, 그 결과물 또는 결과물을 만들어내는 도구를 관리하고, 다시 사용할 수 있게 만들어야 했다. 이러한 복잡한 과정 대신 좋은 코드가 좋은 인프라 자동화 방식으로 이어지도록 만들어주는 게 IaC의 특징이다.

32쪽, 테라폼으로 시작하는 IaC. 

 

앞서 말했던 인프라 관리에 관한 지식 외에도 좋은 코드에 대한 정의를 짚고 가야한다. 테라폼은 GUI 형식이 아닌 코드로 환경을 관리하기 때문에 좋은 코드가 곧 좋은 관리가 되는 것이다. 테라폼을 사용하고자 한다면 이 점을 반드시 되새기고 가는 것이 좋을 듯 하다.

 

 

 

  • 속도와 효율성: 사람이 수동으로 작업할 때 보다 빠르고, 불필요한 인프라 구성을 방지하여 생산성을 높인다. 또한 코드를 변경하여 적용하면 인프라도 변경되어 기존 방식보다 변경 속도가 빠르다.
  • 버전 관리: 코드 형태로 관리하기 때문에 버전 관리 툴(VCS)과 연계할 수 있다. 변경 내용을 추적하고 이전 코드로 되돌리거나 비교할 수 있다.
  • 협업: 파일 형태로 되어 있어 쉽게 공유할 수 있고, 버전 관리 툴과 연계하면 공동 작업을 위한 환경을 만들 수 있다.
  • 재사용성: 코드의 주요 반복 또는 표준화된 구성을 패키징하면 매번 새로 코드를 구성하지 않고 기존 모듈을 활용해 배포할 수 있다.
  • 기술의 자산화: 관리 노하우와 작업 방식이 코드에 녹아 있고, 파이프라인에 통합해 워크플로 형태로 자산화되어 기술 부채를 제거한다.

33쪽, 테라폼으로 시작하는 IaC. 

 

IaC를 도입하고자 하는 이유는 위의 항목들에서 확인할 수 있다. 기업에서 IT를 활용할 때 추구하는 덕목과 맞닿아있다. Cloud 도입이 높아지고 있는 요즘, IaC의 필요성이 대두되고 있는 이유라 할 수 있다. IaC의 필요성과 그중 테라폼을 활용하고자 하는 당위성을 알게 되었으니, 실습 단계로 넘어가고자 한다.

 

 



KakaoTalk_Photo_2023-06-26-20-13-46 011.jpg

 

 이 책에서는 IDE로 VS CODE를 사용한다. VS CODE에서 테라폼 관련 확장 도구를 제공한다.

 

 

KakaoTalk_Photo_2023-06-26-20-13-45 010.jpg

 

 3장에서는 테라폼의 기본 사용법에 대해 소개한다. 주요 커맨드를 간단히 숙지하고 커맨드 사용법에 대해 배운다. 작업 디렉토리를 초기화하는 데 사용되는 init, 디렉토리에 있는 테라폼 구성 파일의 유효성을 확인하는 validate, 테라폼으로 적용할 인프라의 변경 사항에 관한 실행 계획을 생성하는 teraform plan 등 세부 옵션에 대해서도 안내한다.

 

 

KakaoTalk_Photo_2023-06-26-20-13-44 009.jpg

 

KakaoTalk_Photo_2023-06-26-20-13-44 008.jpg

 

KakaoTalk_Photo_2023-06-26-20-13-40 003.jpg

 

 하나의 서비스를 개발하다 보면 시야가 좁아질 가능성이 있다. 이는 종종 근본적인 실수를 야기하기도 한다. '테라폼으로 시작하는 IaC'로 기본적인 환경 관리에 대한 지식을 상기하면서도 새로운 지식들을 쌓을 수 있었다. 특정 서비스 개발에 국한된 것이 아닌 넓은 관점으로 개발하고 싶은 이들에게도 이 책을 추천한다.

 

 

 

 

 

 

 

 

 

 

 

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

실습에 대한 부분들도 포함되어 있기에 입문자도 차근차근 따라하면서 기본기를 쌓을 수 있고,

무심코 사용하던 옵션들같은 세세한 부분을 친절히 한글로!! 설명해주어 현업자에게도 충분히 도움이 되는 책입니다.

테라폼을 활용한 IaC가 많은 관심을 받고 있지만 자료가 많지 않아 가뭄에 단비같은 서적입니다.

IaC(Infra as Code)는 인프라스트럭쳐를 코드로써 정의하고 관리 하는 개념으로 

 

2011년 부터 Chef로 시작해서 Puppet 을 경험 하면서 인프라 관리에 필요하지만 

 

접근이나 사용은 어렵다고 생각하다가 

 

2년 전 부터는 Ansible을 통해 인프라 관리를 하면서 Agentless 방식으로 원격 서버에 대한 

 

다양한 관리, 통제를 하면서 IaC의 중요성에 대해서 큰 인식 전환을 하게 되었다 

 

 

그러던 와중에 테라폼을 알게 되었고, 테라폼으로 시작하는 IaC라는 책을 접하게 되었는데 

 

 이 책의 구성은 PART 1에서는 IaC와  테라폼의 사용법에 대해서 설명하고 있는데,  테라폼은 중요한 세가지 철학을 담아 설계되었는데 워크플로에 집중, 코드형 인프라, 실용주의 이며, 대상 인프라와 서비스를 테라폼으로 작업하기 위해서는 대상의 제공자, 프로바이더가 둘 사이에서 인터페이싱을 해야 한다는 내용

 

 

그리고 각 인프라와 서비스는 고유의 API를 가지고 있고 프로바이더는 각 API 명세를 테라폼 코드로 호출해 동작하고, HCL(HashiCorp configuration laguage)를 통해서 JSON 보다 더 사용자 친화적으로 소통할 수 있도록 한다는 점과 4장에서는 프로바이더의 구성과 5장에서는 State를 6장에서는 시간이 지날수록 복잡해 지고 관리하는 리소스가 늘어나는 것을 개선하기 위해서 모듈에 대한 개념을 설명한다 

 

 

 또한 PART 2에서는 구축부터 운영까지를 고려해 다수의 작업자가 협업하는 방식에 대해서, 워크플로우를 정의하고 인프라를 운영 관리하는 방법에 대해서 설명한다 

 

 

 테라폼은 여러 IaC 툴중에 인프라 시스템을 구축하고, 관리, 운영하는데 유용한 오픈소스 라는 생각이 들었고 

 

 

 이 책은 테라폼을 사용하기 위한 기본을 다루고 있는 책이여서, 테라폼에 입문 하고 싶은 사람이 보기에 좋은 책이이라고 생각한다 

 

 

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



 

 

기술은 변한다.

 

2015년 SDN(System Defined Network)의 출현 이후에 Infra as Code

인프라를 구성 정보와 코드 기반으로 통제하는 시대의 도래까지 무수히 많은 기술적 발전이 있었다.

 

쿠버네티스 오케스트레이션 환경 구성과 이를 기반으로 한 Docker기반의 Pod환경에 대한 라이프 사이클 통제와 관리 방안이 보편화되면서 테라폼을 활용한 IaC기술이 출현하게 된다.

 

하지만 이런 기술적 흐름과는 별개로 현실상의 서비스와 제도는 이런 기술적 트랜드를 따라가지 못하는 부분도 많다. 어찌보면 가장 큰 이유는 사람의 생존과 연결되어 있는지도 모르겠다.

 

이런 기술적인 트랜드의 도입은 기존의 정서를 가지고 있는 조직의 입장에서는 선뜻 받아들이기 쉽지 않다.

이는 기존의 질서와 체계를 무너뜨리는 역할을 하기 때문에 Legacy 조직의 입장에서는 도입해서 얻을 득보다 잃을 것들만 생각하기 때문이다.

 

그리고 IaC의 등장으로 기존의 보안부서 운영부서 개발부서의 간극은 줄어들고 이로인해 인력의 효율화와 생산성 증대를 꾀할 수 있으나, 기존의 부서는 자신의 역할이 사라진다고 생각하기 때문에 이런 기술적 도입은 전통적인 회사나 조직 입장에서는 환영 받지 못하고 있다.

 

하지만 어찌보면 이런 시대적 트랜드는 거스를 수 없는 부분이고 향후에 활용될 수 있는 여지가 많은 기술적 부분이기 때문에 해당 책을 구매하여 이런 트랜드적 요소를 경험해 보는 것이 좋을 것이라 생각한다.

 

이 책을 보면 테라폼을 처음 접근하는 사용자 입장에서 특성과 기본 사용법 위주로 잘 정리되어 있고 이를 기반으로 LG 유플러스의 사례까지 이해할 수 있게끔 책이 구성되어 있어 초심자에게 많은 도움이 된다고 생각한다.

 

특히 테라폼은 멀티 클라우드의 시대에 다양한 퍼블릭 클라우드 서비스들을 플랫폼에 구애받지 않고 활용할 수 있게 하는 막강한 모듈적 기능을 가지고 있어 퍼블릭 클라우드의 벤더 의존성을 탈피할 수 있고, 다양한 기술적 요소들의 적시 활용이 가능하다는 장점이 있다.

 

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



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

 

 

이책의 가장큰 장점으로는 번역본이 아닌 한국인 개발자 분들이 출간해주신 책이기에 문장을 읽을때 쉽게 이해할수 있게 설명해 준 것이 가장큰 장점이라 생각합니다.

IaC 도구를 처음 접해보면서 테라폼에 대하여 쉽게 접근할 수 있었고, IaC 도구를 이해하는데 큰 도움이 될것 같습니다.

테라폼을 처음 배워보고 싶거나 업무에 새로 도입하게 되는 인프라 개발자라면 충분히 도움이 될수 있는 책입니다!

 

 

테라폼 입문자가 이해하기 쉬운 설명들과 기본적인 예제들로 테라폼을 쉽게 입문할 수 있게 해줍니다

이 책 한권 보고 테라폼으로 프로젝트를 진행하는 책을 보고 프로젝트를 진행해보면 테라폼을 마스터할 수 있을 것입니다

 클라우드 네이티브 엔지니어로써 예전부터 IaC에 대한 관심이 많았다. 여전히 현재 개발/사용하고 있는 플랫폼은 IaC가 부족한 상태이긴 하다. 그런면에서 테라폼은 매우 매력적으로 다가왔다.

 이 책에서는 테라폼을 쉽게 접할 수 있는 다양한 예제와 그외의 git 사용법 등 테라폼에 사용하는 주변 도구까지 친절하게 나와있다.

 퍼플릭 클라우드를 사용하는 인프라 엔지니어라면 테라폼으로 현재의 인프라 환경을 조금씩 변경할 수 있도록 테라폼의 기초를 다지게 해 주는 좋은 책이다.

 다만 어플리케이션을 테라폼으로 적용하기에는 테라폼의 성격을 고민해봐야 하며, 책이 초심자에게 맞도록 나와 있어서 테라폼에 대해서 중급이상의 실력을 갖고 있는 분들에게는 다소 쉬운 책이 될 뜻하다.

클라우드 인프라 엔지니어인데 IaC에 대한 관심이 있는 분들에게는 매우 적합한 책이라고 생각한다.

 

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

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."
 
테라폼으로 시작하는 IaC
 

terra-1.png

 

terra-2.png

 

terra-3.png

 

terra-4.png

 

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
테라폼으로 시작하는 IaC
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
테라폼으로 시작하는 IaC
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
테라폼으로 시작하는 IaC
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실