우리가 무료버전으로 하는 게 충분한지 가치가 있는지, 유료 버전을 써야 할지 이런 것도 검토를 해봐야 함.
Elasticsearch를 온프레미스 기준으로 설치해서 사용한다면, 데이터노드 인스턴스 한대당 2천만원 ~ 3천만원 가량 필요하다. 대신 다른 Elastic stack 이용에 대한 추가 과금은 없다.
수 페타 단위의 대용량 서비스를 Elasticsearch에서 한다면 50~100대 이상의 데이터노드가 필요하고, 이 경우 비용은 1년에 10억~30억이 들 것이다. 이것은 컴퓨팅 사용량을 제외한 순수 라이센스 금액이다.
만약에 3-4명의 개발자가 이 대용량 스토리지를 Opensearch를 이용해서 무료로 운영한다면 비용을 얼마나 아낄 수 있을까?
Elasticsearch는 워낙 많은 기업에서 이미 유료 서비스를 그것을 기반으로 제공해오고 있었기 때문에 유료 버전에 대한 임팩트도 컸고, 그것을 피하기 위한 이해관계가 맞는 사람들이 많았다. Opensearch 는 AWS를 주축으로 대형 클라우드 벤더사의 엔지니어들이 관리를 하고 있기 때문에, fork 이후에도 문서화나 기능 개선이 빠르게 이루어졌다.
하지만 그렇다고 하더라도, Elastic 수준으로 기능 추가와 사용성 개선을 빠르게 개발하지는 못했다. Elastic은 수년간 해당 기술을 개발해오던 개발자들이 회사의 사활을 걸고 개발을 하고 있기 때문이다.
이 경우 개발자의 수는 적은데 개발 속도가 중요하다. 이 때는 유지보수에 들어가는 시간을 최소화 하는 방향으로 의사결정하는 것이 중요하다.
유료 버전인 Elastic stack 을 이용해서 비용은 사용량 만큼 비용을 내면서 사용하는 것이 좋다. 설치와 운영을 한 명이 충분히 할 수 있도록 서비스가 잘 구축되어있다. 또한 핵심 기능들을 가장 최신의 기능과 성능으로 이용할 수 있다. 그리고 초보 개발자라고 하더라도 Elastic의 솔루션 엔지니어의 도움을 받아서 환경을 구축할 수 있고, 문제가 있는 경우 본사의 지원을 받을 수 있다는 점도 장점이다.
이미 쌓여있는 데이터로 ML 기능도 복잡하지 않은 수준에서는 사용할만하다. ML도 유료버전의 기능이 더 낫다.
이 경우 개발자의 수는 적은데 개발 속도가 중요하다. 하지만, 3.3.1의 경우와는 다르게 회사의 핵심 서비스로서 Elastic을 쓰는 것이 아니라 로그 파이프라인용 (내부 서비스용) 으로 사용하기 위한 것이다. 여전히 기술의 노하우는 없다.
유료 버전인 관리형 Opensearch 사용을 추천한다.(AWS/Azure Opensearch 등) 이 경우 라이센스 비용이 Elastic만큼 높지는 않으면서도 설치와 운영이 사전에 어느정도 자동화가 되어있다는 점이 장점이다.
Elastic에서 만들어지는 최신의 기능과 fullstack을 사용하지는 못하지만, 로그 파이프라인 기능은 이미 Opensearch 에 있는 기능만으로도 충분히 서빙하고도 남는다.
물론, 비용보다는 생산성이 가장 최우선순위라면 Elastic 을 쓰는 것도 좋은 선택이다.
이 경우 개발 리소스에 어느 정도 여력이 있고(팀이 있을 테니까), 개발일정이 타이트하지 않다. 단, 데이터는 많다. 이 경우 하루 빠른 개발보다 수억의 개발비용을 아끼는 것이 더 임팩트가 있다.
무료버전은 Opensearch 를 사용하고, 부족한 것은 다른 도구를 찾던가 직접 개발하도록 한다. 적게는 수억원, 많게는 수십억의 비용을 소수의 엔지니어로 절약할 수 있다.
Opensearch 가 무료버전이라도 안정성과 기능성은 모두 좋고, 보안과 관련된 기능도 회사에서 필요로하는 기능들은 이미 대부분 반영되어있기 때문이다. (OpenID, LDAP, Kerberos 등)
유료와 무료의 가장 큰 차이는 시각화도구의 사용성 차이이다. 만약 전사적인 시스템이고 사용성이 중요하다면, 별도의 프론트엔드 전문 인력으로 시각화도구를 만드는 방법도 있다.