이 글은 HashiConf 2018 참석기 #1에서 이어진 글이다.
행사장
전주에 GitHub Universe를 참가해서인지 장소는 훨씬 좁게 느껴졌다. Fairmont 호텔도 작진 않았지만, Palace of Fine Arts Theatre보다는 작고 한 층이 아니라 3개 층 곳곳의 장소를 이용하고 있어서 동선도 길게 느껴졌다.
부스 공간은 작은 방 하나 정도로 예상외로 상당히 작았다. 부스가 콘퍼런스의 목적은 아니지만, GitHub Universe에 비하면 부스 규모가 엄청 작았고 참여한 부스들도 굿즈 등에 많이 신경 쓰는 것 같지는 않았다.
바리스타를 불러서 종일 커피를 만들어 주는데 맛있어서 호텔 커피 말고 계속 이 커피만 마셨다.
호텔은 꽤 고급스럽고 1층은 이틀 내내 거의 콘퍼런스 참가자들이 차지하고 있었다. 호텔 전체를 빌린 건 아니었지만 앉을 곳도 많고, 이용하는데 큰 불편은 없었다. 세션 들으러 3개 층을 왔다 갔다 하는 건 좀 불편했다.
곳곳에 있는 HashiCorp 쿠션은 왠지 탐났다. 난 왜 이런 굿즈가 탐나는... 사실 네트워킹 파티때 사용한 HashiCorp 컵은 한국까지 가져왔다...
Day 2
Keynote
둘째 날 키노트는 AWS의 Jeff Barr라는 사람이 나와서 "Organizing for innovation"이란 제목으로 시작했는데 AWS라는 경험을 바탕으로 혁신을 계속해서 만들어내는 조직의 특성에 관한 얘기였는데 귀에 많이 들어오진 않았다.
이어서 Terraform 디렉터인 Paul Hinze가 나와서 Terraform에 관해서 이야기했고 키노트 대부분을 Terraform에 할애했다.
테라폼은 어떤 일을 하는가?
- Declarative -> Imperative로 바꿔주는 역할을 하는데 즉, 선언한 내용을 어떤 API로 어떻게 동작해야 하는지 매핑해준다.
- Idempotent & convergent 도구로 반복해서 같은 결과를 계속 만들 수 있다.
- Infrastructure as Code
- Sociotechnical System
- Workflows, not technologies
Terraform의 write -> plan -> apply는 의도된 것으로 소프트웨어의 write -> test -> run과 똑같으며 소프트웨어 개발가 많은 특징이 유사하다. 점점 Terraform Enterprise로 흘러가는 느낌이 있긴 했지만 Terraform와 Terraform을 사용하는 조직이 커지면서 발전해 가는 과정에 관한 이야기였다.
키노트 마지막에는 Armon Dadgar이 나와서 지난 4월 Kelsey Hightower가 Vault에서 자동 Unseal을 하면 Vault 티셔츠를 한 달 동안 입고 다니겠다고 올린 트윗을 보여주면서...
Do the same for auto unseal and I'll wear a Vault t-shirt for a month. https://t.co/6mUXryxiGy https://t.co/H2iXTer8Bi
— Kelsey Hightower (@kelseyhightower) April 5, 2018
Kelsey Hightower가 무대 위로 올라와서 실제로 동작하는지 못 봤다며 Unseal을 라이브로 시연하고 Vault 티셔츠를 입고 내려갔다. 유쾌한 무대였다.
A Tour of Terraform 0.12
이번에 릴리스 된 0.12의 새 기능을 설명하는 세션이었다. Terraform 설정 파일은 처음에는 간단하지만, 곧 복잡해지고 여러 가지 문제를 검색으로 해결할 수는 있다. Terraform Configuration 언어는 HCL(HashiCorp Configuration Language), HIL(HashiCorp Interpolation Language), Terraform에 한정된 변수와 함수로 이루어져 있다. 0.12에서는 HCL2를 사용하는데 HCL과 HIL이 합쳐졌고 타입 시스템이 도입되었다.
First-class 표현식을 지원해서 ${}
로 String Interpolation을 사용할 필요가 없으므로 더는 쌍따옴표(""
)로 감쌀 필요가 없다. 타입 시스템이 강화되어 복잡한 값이나 맵의 맵, 리스트의 맵 등을 표현하기가 쉬워져서 output
에서는 개별 값이 아니라 객체를 노출할 수 있다. 추가로 오류 메시지가 개선되어 어떤 오류가 발생했는지 쉽게 알 수 있게 되었고 For 문도 개선되었다. 0.12의 새 기능은 글을 보면서 찬찬히 테스트해봐야 할 것 같다.
에필로그
둘째 날은 일을 좀 해야 해서 세션에는 들어가 있었지만 집중해서 정리를 많이 못 했다. 주로 Terraform 세션이 많았는데 아쉬운 세션은 Gruntworks의 "10 Lessons Learned From Writing Over 300,000 Lines of Infrastructure Code"정도였다. 이 세션은 영상이 올라오면 다시 한번 보고 싶다.
2017년보다 티켓도 비싸고 참가 인원도 많아졌지만 2017년이 더 쾌적한 느낌이 들어서(텍사스 오스틴는 별로였음에도) 샌프란시스코 물가가 역시 비싸구나 하는 생각이 들었다. 내 영어로는 이 정도 규모의 콘퍼런스에서 네트워킹하기는 어려워서 분위기랑 세션만 즐기는 편이긴 한데 미국에서 2주째를 보내면서 피로가 쌓였는지 콘퍼런스에서는 미처 느끼지 못했는데 이렇게 정리하다 보니 GitHub Universe보다 훨씬 세션이 재밌고, 집중했구나 하는 생각을 했다. 사실 당시에는 행사 규모가 시설, 굿즈 등이 GitHub이 압도적이라서 오히려 비교되는 느낌이었다.
Comments