소프트웨어 전문지 마이크로소프트웨어 394호는 클라우드(Cloud)와 백엔드(Back-End)를 주제로 담았습니다. 테라폼, 데브옵스, PaaS, 마이크로서비스 아키텍처 등 마소 394호의 주요 기사들을 IT조선 독자에게도 소개합니다. [편집자주]

데브옵스는 쉽고 간단하게 다섯 가지 단어로 설명할 수 있다. 데브옵스는 문화(Culture), 자동화(Automation), 측정(Measurement), 공유(Sharing), 기록&축적(File up & Pile up)이다.

데브옵스는 문화다. 무엇이든 자동화를 지향하는 것, 측정하고 검증하는 것, 기술을 팀원에게 공유해 함께 배우고 성장하는 것, 그리고 모든 행위를 기록하고 축적하는 문화다. 그리고 문화란 이 모든 걸 지속하는 것이다.

즉, 데브옵스 자체를 특정 기술의 정의보다는 애자일(Agile)처럼 문화 및 방법론으로 보는 것이 조금 더 바람직한 이해라 할 수 있다.

데브옵스를 이야기할 때 빠지지 않고 등장하는 것이 IaC(Infrastructure as Code, 코드로 관리하는 인프라스트럭처)다. 심지어 데브옵스의 필수 구성요소로 IaC를 이야기하기도 한다. 항상 같이 논의되는 이유는 무엇일까?

과거 데이터센터밖에 선택지가 없던 때에는 엔지니어가 서버를 설치해 전원선과 랜선을 연결하고, 서버의 OS 및 필요한 소프트웨어까지 설치하는 등 많은 일을 직접 했다. 모든 과정이 수동으로 이뤄졌고, 매뉴얼이 있어도 수많은 서버를 똑같이 구성하고 서비스를 운영하기는 결코 쉽지 않은 일이었다. 복잡한 배시(Bash) 스크립트를 작성하거나 직접 컴파일하는 것이 실력의 기준일 때도 있었다.

하지만 클라우드가 등장해 클릭 몇 번으로 서버를 만들 수 있게 됐다. 서비스를 위해 서버를 구성하는 일을 물리적 과정이 아닌 소프트웨어로서의 논리적 과정으로 변했다. 반면 과정이 간단해진 만큼 현대의 서버 아키텍처는 더욱 복잡해졌다. 마이크로서비스가 등장하고, 각종 수많은 도구가 생겨났다.

이런 복잡한 과정을 마우스 클릭만으로 구성하는 것에서 더 나아가, 엔지니어는 프로그래밍 언어처럼 코드로 인프라를 정의하는 방법을 생각해낸다. 다양한 인프라 자원을 프로그래밍하는 것처럼 코드로 정의하는 것이 바로 IaC(Infrastructure as Code)다.

테라폼이 제공하는 프로바이더. / 마이크로소프트웨어 394호 발췌
테라폼이 제공하는 프로바이더. / 마이크로소프트웨어 394호 발췌
테라폼(Terraform)은 해시코프(Hashicorp)사에서 제공하는 소프트웨어로써 IaC를 위한 도구다.

해시코프사는 테라폼 외에도 베이그런트(Vagrant), 컨설(Consul), 패커(Packer) 등 많은 도구를 오픈소스 및 상용버전으로 제공하는 데브옵스 전문 회사다.

해시코프사는 단순히 도구를 제공하는 것을 넘어 데브옵스 문화를 위한 워크플로까지 제시한다. 특히 최근에는 무엇보다 각 기업에서 ‘How we work’를 정확히 정의하는 것이 매우 중요해졌다. 작게는 팀원끼리 크게는 팀끼리 어떻게 일할지 정확히 정의하는 것에 따라 일의 효율과 커뮤니케이션 비용에서 큰 차이가 난다.

특히 회사 규모가 크면 클수록 더욱 중요해지는데, 해시코프사는 다양한 상황에 맞춰 특성 있는 도구를 제공하고, 이 도구는 워크플로우에서 고유의 위치가 있다. 그 중 테라폼은 프로비저닝(Provisioning) 영역을 맡고 있으며, 현재 IaC 관련해서는 가장 인기 있는 도구다.

송주영 필자의 ‘코드로 관리하는 인프라스트럭처, 테라폼’에 대한 자세한 내용은 ‘마이크로소프트웨어 394호(https://www.imaso.co.kr/archives/3939)’에서 확인할 수 있다.


관련기사