Klarna 결제 시스템 10년 지킨 엔지니어가 13년 만에 끝낸 The BEAM Book 이야기
- 2012년 10월 12일 DocBook 파일 하나로 시작한 The BEAM Book은 O'Reilly와 Pragmatic Bookshelf에서 연달아 계약이 취소됐고, 저자는 그 2년을 문장을 끝내는 대신 파일을 정리하는 데 썼다고 밝힘.
- 2017년 1월 20일 CVS에서 6,622개 파일, 100만 줄을 한 커밋으로 새 저장소에 옮겼고, 3월 23일 Asciidoctor로 다시 시작해 4월 7일 Chalmers 강의 직전에 공개했으며 24시간 안에 외부인이 오타와 다이어그램을 보태고 CC BY-4.0 라이선스를 병합함.
- 책은 스케줄러와 프로세스 관리, 프로세스 힙과 메시지, 프로세스별·전역 GC와 바이너리 참조, 태깅 비트까지의 term 표현, 컴파일러와 에뮬레이터, dbg와 erlang:trace, reductions 기반 프로파일링, ERTS 구조를 다룸.
- 집필 동기는 Klarna 코어 시스템 10년 운영 경험으로, 15ms 일시 정지가 성수기 결제 수백만 건을 멈추고 크리스마스 이브 새벽 3시 포스트모템을 부를 수 있다는 데서 출발함.
- 공개 저장소의 별 3,000개 돌파와 2018년 8월 이슈 #113 'Please continue being awesome' 같은 반응이 세 번째 재작성까지 버티게 한 힘이었고, 저자는 완벽보다 지속과 글쓰기 시간 확보를 교훈으로 꼽음.
Hacker News 의견들
Klarna가 BEAM 쓴다는 걸 몰랐네. Elixir/BEAM은 진짜 과소평가된 런타임이고 고객사 설득이 늘 힘들었는데, 앞으로 이 책을 대화 자료로 써야겠음.
설득이 어려운 건 맞아. 다들 관성대로 쓰던 걸 바꾸질 않더라.
Klarna 초기 투자자 중에 에릭슨에서 Erlang 하던 사람이 있었어.
2010년대 Klarna는 손꼽히는 Erlang 숍이었지. 중간에 난리도 있었지만 핵심 시스템은 아직 Erlang임.
AI 시대의 승자는 대중적이거나 편한 언어가 아니라 기술적으로 더 나은 쪽이 될 거라고 봄.
나 Elixir로 LLM 매일 돌리는데 프론트 노드 한 대로 연 50억 HTTP 쿼리 처리 중임. LLM도 Elixir 코드는 잘 다루고 TCO도 훌륭함.
Elixir는 오케스트레이션을 앱 계층으로 안전하게 옮길 수 있어서 AI 시대에 잘 맞음.
3GL 언어는 이제 다 비슷비슷해졌어. 스택 설명 문단 몇 개만 바꿔도 결과가 별로 다르지 않더라. 언어 고르는 재미가 사라진 게 좀 슬픔.
Erlang, Elixir, BEAM 다 좋아함. KTH에서 강제로 배운 게 행운이었지.
GitHub가 이 책을 읽어야 하는 거 아닌가 싶음.
Erlang 배울 시간이 없어서 늘 궁금하기만 했는데 이제 LLM 덕에 시도해볼 수 있겠음.