개발자로서 첫발을 내딛은 회사에서 일하다 엘라스틱 스택 기술에 흠뻑 빠져들었다. 이후 열성적으로 키바나와 로그스태시 플러그인에 컨트리뷰션하고 엘라스티콘(Elastic{ON}) 서울에서 발표도 하며 여러 대외 활동을 이어가다가 결국 전업으로 삼게 됐다. 지금은 엘라스틱 스택의 개발사인 엘라스틱에서 서포트 엔지니어로 일하며 인간 디버거 역할을 수행하고 있다.
로그 모니터링 시스템을 구축하기 위해 엘라스틱 스택(당시에는 ELK 스택이라고 불리웠다)을 처음 접했을 때를 돌이켜보면 다소 혼란과 혼동의 연속이었다. 그때 엘라스틱서치라고 하면, 인덱싱을 통해 빠른 전문(Full-text) 검색을 수행할 수 있는 도구라거나, 관계형 데이터베이스에 신뢰할 수 있는 데이터를 보관하고 부가적으로 색인을 도와주는 정도라고 이해했다. 하지만 조금 더 파보니 원본 데이터를 저장할 수도 있고 레플리카 구성을 통해 신뢰도도 높일 수 있다는 사실을 알게 됐으며, 데이터베이스처럼 활용할 수도 있겠다는 생각을 했다. 빠른 검색 및 집계 성능은 당시 개발하던 모니터링 솔루션의 성능 문제를 획기적으로 해결해 줄 수 있으리라 여겨졌으며, 직접 로그스태시와 키바나를 사용해보고 난 뒤에는 내가 다른 기술로 직접 구현하는 것보다는 차라리 엘라스틱 스택을 더 잘 활용하는 편이 낫겠다는 생각이 들었다. 실제로 간단하게 구축했던 엘라스틱 스택이 기존에 상상하지 못하던 수준의 로그를 가뿐하게 처리하는 모습을 보고서는, 바야흐로 엘라스틱 스택의 시대가 왔음을 직감했다.
데이터 플랫폼을 구축하기 위해선 데이터의 수집, 정제, 보관, 검색, 시각화 등 다양한 기능을 구현해야 할 뿐 아니라 성능, 유연성 등을 고려해 여러 소프트웨어들을 조사하고 한데 묶어낼 필요가 있다. 이제는 잘 알려진 기술 중 하나인 엘라스틱 스택은 이 모든 요소를 포함함은 물론, 손쉬운 배포, 편리한 사용성, 확장성, 뛰어난 성능, 높은 내결함성 및 고가용성을 자랑해 그 자체만으로도 완전한 데이터 플랫폼을 구성할 수 있는, 그야말로 전천후 소프트웨어 스택의 위상에 올랐다.
하지만 많은 특징을 내포하고 있고 배포도 쉬운 만큼, 좀 더 제대로 사용하기 위해선 데이터 플랫폼 전반, 클러스터링, 분산 처리, 인덱싱 등 많은 기반 지식이 필요하다. 깊은 이해 없이 사용하다가 어느 순간 성능이나 보안 등 운영 측면에서 뜻밖의 문제에 맞닥뜨리기도 한다. 뿐만 아니라 엘라스틱 스택의 장점이자 단점인 빠른 업데이트와 그에 따른 추가 기능들은 사용자로 하여금 어떤 기능을 어디서부터 활용하면 좋을지 헷갈리게 만들기도 한다.
나는 이 책에 엘라스틱 스택의 구조와 동작 원리에 대해 오해 없이 정확한 정보를 담고자 노력했다. 방대한 엘라스틱 스택의 기능을 모두 담지는 못하더라도 가장 핵심적인 내용들을 추려 독자들로 하여금 엘라스틱 스택의 기능을 좀 더 다양하게 체험할 수 있게 하고 싶었다. 나아가 고성능 검색엔진 엘라스틱서치와 그를 서포트하는 주변 소프트웨어가 아니라, 스택으로서 각각의 역할을 완벽하게 소화하는 스택 내 제품들의 매력을 알려주고 싶었다.
엘라스틱 스택은 국내 커뮤니티도 잘 활성화되어 있을 뿐만 아니라 우리나라 사용자들의 오픈소스 기여도 많이 이뤄지고 있다. 이 책을 통해 엘라스틱의 매력이 충분히 전달되길 바라며, 나아가 엘라스틱 커뮤니티와 오픈소스의 기여자가 늘어났으면 하는 바람이다.