글을 작성하게 된 계기
ElasticSearch 스터디를 하다가 명현님이 Opensearch와 ElasticSearch의 차이점을 물어보셨는데 명확하게 대답을 못했습니다. 그래서 두 제품의 차이점을 확실히 알기 위해 글을 작성하게 되었습니다.
이직한지 얼마 안되긴 했지만…… 비겁한 변경 같습니다. 🤔
1. 탄생 배경
Elasticsearch는 2010년대 초반 Elastic N.V.가 개발한 오픈소스 검색 및 분석 엔진입니다. Apache Lucene을 기반으로 구축되었으며, 문서 인덱싱과 역색인(Inverted Index)을 활용해 빠른 검색을 제공하고 대규모 데이터를 실시간으로 분석하는 데 최적화되어 있습니다. Elastic은 이를 바탕으로 Elastic Stack(과거 ELK Stack)을 구축하여 로그 분석, 모니터링, 보안( SIEM), APM 및 전반적인 Observability 영역으로 그 활용 범위를 확장했습니다.
- Elasticsearch
- Logstash
- Kibana
- Beats
그러나 Elastic은 시간이 흐르면서 AWS, Alibaba Cloud와 같은 클라우드 서비스 제공자들이 자사의 오픈소스 제품을 기반으로 상업적 서비스를 운영함에도 불구하고, 정작 ElasticN.V.에는 그에 상응하는 수익이 발생하지 않는 구조적 문제가 있었습니다. 이러한 배경에서 Elastic은 2021년 1월 Elasticsearch와 Kibana의 라이선스를 기존 Apache 2.0에서 SSPL( Server Side Public License) 및 Elastic License로 변경했습니다. 이는 상용 SaaS 형태의 서비스 제공을 제한하는 조치였습니다. SSPL은 오픈소스처럼 보이지만, 클라우드에서 서비스 형태로 제공할 경우 전체 소스 공개를 의무화 하는 매우 강력한 제약을 포함합니다.
It includes most of the text and provisions of the GNU Affero General Public License version 3 (AGPL v3), but modifies its provisions for software that is conveyed over a network—requiring that anyone who offers the functionality of SSPL-licensed software to third-parties as a service must release the entirety of their source code, including all software, APIs, and other software that would be required for a user to run an instance of the service themselves, under the SSPL.
첫째, 기업 입장에서 사실상 불가능한 조건을 강요하기 때문입니다. AWS, GCP, Alibaba Cloud 등 주요 클라우드 기업들은 자사 플랫폼 운영을 위해 방대한 양의 독점 기술과 인프라 코드를 보유하고 있습니다. 그런데 SSPL은 이 소프트웨어를 클라우드 서비스 형태로 제공할 경우, 단순히 해당 오픈소스의 코드뿐 아니라 그 서비스를 운영하는 전체 소스 코드와 관리 도구, 인프라 자동화 스크립트까지 모두 공개하도록 요구합니다. 이는 기업의 핵심 기술을 전면 공개하라는 의미와 같기 때문에 현실적으로 수용이 불가능합니다. 결과적으로 SSPL은 이런 기업들에게 사실상 이용 금지나 다름없는 조항으로 작용했습니다.
What a company may not do is claim or imply that software under a license that has not been approved by the Open Source Initiative, much less a license that does not meet the Open Source Definition, is open source software. It’s deception, plain and simple, to claim that the software has all the benefits and promises of open source when it does not.
둘째, 오픈소스의 본질적인 정의를 위반했기 떄문입니다. 오픈소스 OSI는 누구나 자유롭게 사용·수정·배포할 수 있어야 한다 는 원칙을 가지고 있습니다. 그러나 SSPL은 특정 형태의 사용(즉, SaaS 형태의 서비스 제공)을 제한하기 때문에 이 기준을 충족하지 못합니다. 실제로 OSI는 SSPL을 오픈소스 라이선스가 아니다 라고 공식적으로 선언 했습니다. 즉, 표면적으로는 오픈소스처럼 보이지만, 실질적으로는 상업적 사용을 제한하는 상용 라이선스에 가깝습니다.
The license du jour is the Server Side Public License. This license was submitted to the Open Source Initiative for approval but later withdrawn by the license steward when it became clear that the license would not be approved.
마지막으로, 커뮤니티의 단절을 초래했습니다. Elastic이 SSPL을 도입하자, AWS와 Alibaba를 비롯한 주요 클라우드 제공자 및 많은 오픈소스 프로젝트들이 이 라이선스를 받아들이지 못하고 이탈했습니다. 그 결과, Elastic의 기존 오픈소스 생태계가 분리되었고 AWS는 이를 기반으로 Elasticsearch 7.10.2 버전을 포크하여 OpenSearch라는 별도의 오픈소스 프로젝트를 시작하게 되었습니다.
Last week, Elastic announced they will change their software licensing strategy, and will not release new versions of Elasticsearch and Kibana under the Apache License, Version 2.0 (ALv2). Instead, new versions of the software will be offered under the Elastic License or the Server Side Public License.
AWS는 SSPL이 오픈소스의 핵심 가치인 자유와 철학에 위배된다고 판단했습니다. 이에 따라 Elastic이 라이선스를 변경하기 직전의 Elasticsearch 7.10.2 버전과 Kibana 7.10.2 버전을 기반으로, 기존의 Apache 2.0 라이선스를 유지하는 새로운 프로젝트를 포크했습니다. 이러한 과정을 통해 2021년 OpenSearch 프로젝트가 공식적으로 출범하게 되었습니다.
- Doubling Down on Open: The Future of Elasticsearch and Kibana Licensing
- Introducing OpenSearch
- Doubling down on open, Part II
- About OpenSearch
2-1. 운영 주체 및 라이선스 정책
OpenSearch는 오픈소스 원칙에 충실하여, 누구나 포크·배포·수정이 가능한 오픈소스 프로젝트로 유지됩니다. 반면 Elasticsearch는 Elastic사의 상용 모델 중심으로 전환되어, 기업 고객을 대상으로 하는 오픈코어 구조로 바뀌었습니다.
| 구분 | OpenSearch | Elasticsearch |
|---|---|---|
| 운영 주체 | AWS 주도 + 커뮤니티 중심 | Elastic N.V. (Elastic사) |
| Licence | Apache 2.0 (완전한 오픈소스) | SSPL / Elastic License (상업적 제약 존재) |
| 철학 | 자유, 투명성, 비종속성 | 혁신, 상용화, 서비스 중심 전략 |
| 개발 모델 | 커뮤니티 참여형, RFC 기반 공개 개발 | 사내 중심 개발, 유료 기능 통합 |
| 상용 버전 | - | Elastic Cloud, Enterprise License 기반 유료 버전 존재 |
2-1. Opensearch 내장 기능
OpenSearch는 처음부터 다양한 기능이 무료로 포함된 형태로 제공됩니다. OpenSearch는 AWS 환경과 긴밀하게 통합되어 있으며, S3 기반 스냅샷 백업, IAM 인증 연동, CloudWatch 모니터링 등을 기본적으로 지원합니다. 또한 쿠버네티스, 도커, 온프레미스 환경 어디서나 동일하게 배포할 수 있는 유연성을 제공합니다.
OpenSearch Dashboards: 기존 Kibana의 오픈소스 버전Security: 사용자 인증, 접근 제어, TLS 암호화Alerting: 모니터링 이벤트 감지 및 알림 전송Index Management: 인덱스 수명주기 및 정책 관리Anomaly Detection: 머신러닝 기반 이상 탐지 기능SQL&PPL: SQL 및 파이프라인 쿼리 언어 지원
2-2. ElasticSearch 상용 기능
Elasticsearch는 기본 검색 기능 외에도 엔터프라이즈급 통합 솔루션을 제공합니다. 이러한 기능은 대부분 Elastic Cloud 구독을 통해서만 사용할 수 있으며, 무료 버전에서는 제한적으로만 제공됩니다. Elasticsearch는 Elastic Cloud라는 SaaS 형태로 제공되는 클라우드 서비스를 핵심 사업으로 삼고 있습니다. 이를 통해 최신 버전, 보안 업데이트, 고가용성(HA), 모니터링 등을 클라우드 환경에서 즉시 제공받을 수 있습니다. 온프레미스 설치도 가능하지만, Elastic은 점점 클라우드 기반 관리형 서비스 중심 구조 로 전환하고 있습니다.
또한 Elastic은 대규모 기업 고객을 대상으로 머신러닝 기반 이상 탐지, 행동 분석, 인덱스 자동 조정 등 등 고급 기능을 강화하고 있으며, 보안·운영·가시성을 통합한 Elastic Stack 전체 생태계를 유지하며, 단순한 검색 엔진을 넘어, 데이터 통합·보안·분석을 아우르는 플랫폼 으로 자리 잡았습니다.
Elastic Security: SIEM(Security Information and Event Management) 기반 위협 탐지 및 대응 기능Elastic APM: 애플리케이션 성능 모니터링 및 트랜잭션 추적Elastic Observability: 로그, 메트릭, 트레이스 데이터를 통합 관리하는 가시성 플랫폼Fleet & Elastic Agent: 서버, 애플리케이션, 인프라에서 데이터를 자동 수집하는 통합 에이전트
3. 정리
OpenSearch는 AWS와 커뮤니티가 주도하는 완전한 오픈소스 프로젝트로, 보안·모니터링·이상 탐지 등 다양한 기능을 기본으로 제공합니다. 반면 Elasticsearch는 Elastic사가 상용화 중심으로 발전시키며, 고급 기능 대부분을 유료 구독 형태로 제공하는 클라우드 기반 데이터 분석 플랫폼으로 진화했습니다.