“As Code”
원문은 Mitchell Hashimoto님이 에 게재했습니다. 이 블로그 구독하기
나는 ‘X as Code’에서 ‘as code’라는 접미사를 줄곧 개인적으로 “원칙이나 규칙의 체계”1라는 의미로 정의해 왔다. 이는 ‘as code’를 “프로그래밍처럼”이라는 뜻으로 해석하는 통념과는 대조된다.
대표적인 ‘X as Code’ 도구인 Terraform2을 처음 만든 이력 때문에 나는 종종 이런 오해의 대상이 되곤 해서, 이 짧은 글을 통해 내 의도를 분명히 할 필요가 있다고 느꼈다.
‘X as Code’에 담긴 내 의도는 언제나 사람들의 머릿속에 있는 지식을 꺼내 더 명확히 기록된 체계로 옮기는 것이었다3. 일단 기록되면 지식과 프로세스는 공유되고, 버전으로 관리되며, 반복적으로 개선될 수 있다.
프로그래밍과의 연관성은 코드화된 지식이 컴퓨터가 읽을 수 있는 형태가 되는 경향이 있어 그에 따른 이점(예: 자동화, 검증 등)을 온전히 누릴 수 있다는 데 있다. 하지만 그렇다고 해서 현대 프로그래밍의 모든 요구사항을 ‘as code’ 시스템에 적용해야 한다고 생각하지는 않는다.
역사적 맥락을 하나 더하자면, 나는 10년도 더 전(Terraform 이전이다!)에 Tao of HashiCorp를 공동 집필했는데, 이 사고방식은 두 개의 “Codification(코드화)” 섹션에 지금도 담겨 있으며 처음 작성된 이후 거의 바뀌지 않았다. 이는 내가 말하는 ‘as code’의 의도를 이해하는 데 추가적인 배경이 된다.
이 글이 ‘as programming’이라는 이상에 대한 비판이나, ‘as code’가 완벽하다는 주장, 혹은 ‘as code’를 항상 이렇게 해석해야 한다는 주장으로 받아들여지지 않기를 바란다4. 그 어느 것도 사실이 아니다. 나는 단지 역사적으로 이 용어를 어떻게 의도하고 사용해 왔는지 개인적인 입장을 분명히 하고 싶을 뿐이다.
각주
나는 수년 동안 Terraform 작업을 하지 않았고 2023년에 HashiCorp를 떠났다. 또한 나는 Terraform을 시작했다는 것에 대해서만 공을 인정한다(혼자 한 것도 아니다). Terraform은 이제 수년째 다른 사람들에 의해 유지보수되고 있다. ↩
나는 “X as Code”나 “Infrastructure as Code”라는 용어를 만든 사람이 아니다. 누가 만들었는지는 모르지만 Terraform이나 내 커리어보다 훨씬 이전부터 존재하던 용어다. 원치 않을 수도 있지만 사업 조언 하나: 새로운 시장 카테고리를 만들지 말고, 기존 카테고리에 진입해 시장을 교육하는 비용은 경쟁사에게 떠넘겨라. ↩
결국 사물의 정의는 사회적 과정이다. 무리가 가는 곳으로 우리 모두 가게 마련이다. ↩
글을 무작위로 읽기
댓글
로그인하고 댓글 남기기