Elasticsearch vs. OpenSearch: Jak velký rozdíl mezi nimi skutečně je?
Elasticsearch a OpenSearch jsou výkonné vyhledávače, díky nimž mohou i největší světové korporace zpracovávat v reálném čase petabajty dat. Proč by vás měly zajímat právě teď? Využít je totiž můžete pro splnění chystané NIS2. Zjistěte, v čem se softwary liší a za co si připlatíte.
Pro vyhledávání, analytiku a business intelligence využívají Elasticsearch nebo OpenSearch například Adobe, Booking.com, SAP, Pinterest a další. Softwary mají vzhledem k společné historii velmi podobné vlastnosti i využití. Oba se například dobře uplatní v roli log managementu, který pomůže splnit požadavky NIS2.
Protože se jedná o více než aktuální téma, podíváme se v tomto článku na:
- historii obou nástrojů;
- hlavní funkce;
- licenční politiku;
- zásadní rozdíly ve vlastnostech.
První verze softwaru Elasticsearch vyšla v únoru 2010 a představila uživatelům open source vyhledávač vhodný k analýze logů, monitoringu, vyhledávání v aplikacích i podnikových systémech. Nástroj se stal tak populární, že už čtyři roky po svém vzniku získal financování ve výši 70 milionů dolarů.
Elasticsearch umožňuje ingestováníIngestování datIngestování dat je načítání dat z 1 či více zdrojů do cílového umístěnívíce dat z různých datových zdrojů, jejich převod do JSON formátu, indexování a především fulltextové vyhledávání. Díky speciální datové struktuře umí tyto operace provádět téměř v reálném čase. Jelikož je nástroj distribuovaný, lze ho dobře škálovat a využívat i pro velké serverové infrastruktury.
Síla vyhledávače pro monitoring logů
Ať už potřebujete implementovat log management pro splnění NIS2 nebo chcete usnadnit práci svým vývojářům, napište nám. Vybereme ten nejvhodnější nástroj, zajistíme jeho nasazení i správu.
Za Elasticsearch stojí od roku 2012 společnost Elastic NV, která na softwaru provozuje vlastní komerční produkty. Zmiňme třeba Elastic Cloud, jehož zákazníci využívají Elastisearch jako službu. Samotný Elasticsearch byl ale open source, a tak mohla jeho zdrojový kód používat každá společnost bez omezení, jak potřebovala.
Souboj o licence aneb Jak se zrodil OpenSearch
Zatímco Azure nebo Google s Elasticem v duchu podpory open source komunity uzavřel smlouvu, Amazon se rozhodl svůj dluh splácet jinými způsoby. Z pohledu Elasticu však nedostatečnými a jeho odpověď na sebe nenechala dlouho čekat.
Elastic začal postupně některé části zdrojového kódu svého vyhledávače uzavírat pod licenci. Tyto kroky zdůvodnil ochranou vlastních investic do vývoje produktu, který poskytovatelé cloudových služeb využívají zdarma, aniž by zpřístupnili jeho modifikace.
Jak proprietárních funkcí přibývalo, přestalo být jasno v tom, které části kódu mohou vývojáři zdarma využít. Amazon se v roce 2019 pokusil v rámci projektu Open Distro for Elasticsearch poskytnout zájemcům verzi kódu očištěnou od proprietárních částí. Omylem se přitom sám dopustil chyby a použil kus zalicencovaného kódu.
Celá situace vyvrcholila v roce 2021, kdy Amazon vytvořil z verze 7.10.2 Elasticsearche nový fork OpenSearch. Cílem tohoto projektu, dohledovaného komunitní nadací, je transparentnost a open source vývoj.
Co najdete v obou softwarech
Protože OpenSearch vznikl z velmi vyspělé verze Elasticsearch, stal se jeho plnohodnotnou volně dostupnou alternativou. Oba nástroje vychází z knihovny Apache Lucene, a proto nabízí funkce indexace, slučování dokumentů, vyhledávání a analýzy.
Vedle základních funkcí zůstávají součástí obou nástrojů například API pro datové řady, možnost správy stavu indexů, podpora alertingu nebo replikace napříč clustery. V průběhu roku 2023 OpenSearch dohnal Elastic i v možnostech agregace geoprostorových dat.
Spolu s Elasticsearch lze nasadit také ostatní části Elastic Stack, kam patří ještě Logstash, který zpracovává data na straně serveru, a Kibana, zajišťující vizualizaci dat. Stejné možnosti nabízí i OpenSearch v rámci části Data Pepper a OpenSearch Dashboards.
Do kódu OpenSearch ale nebylo zahrnuto nic, co bylo součástí licencovaného X-Pack kódu Elasticsearch. A právě licencování je jedním z hlavních rozdílů.
Elasticsearch a OpenSearch v roli log managementu
Nástroje dokážou pracovat s různými datovými formáty. Jejich fulltextové vyhledávání umožňuje klíčové informace rychle lokalizovat i v objemných datech. Obě technologie jsou navíc navrženy pro horizontální škálování, a tak je lze dobře přizpůsobit nárůstu zátěže. Spolu s možnostmi agregace a analýzy jsou ideální pro účely log managementu.
Nejjednodušší cestu k log managementu představují různá SaaS řešení, za která ale náležitě zaplatíte. Nabízí se také pracovat se systémovými logy přímo na disku. To sice nic nestojí, z dlouhodobého hlediska a pro vyšší počty systémů je to však neudržitelné.
Open source řešení v podobě Elasticsearch nebo OpenSearch nabízí hodně muziky za málo peněz. Před finálním rozhodnutím si ale udělejte jasno v tom, jaké funkcionality potřebujete využívat. Například autentifikace přes LDAP a nastavení alertů jsou v Elasticsearch dostupné pouze v Enterprise verzi, jejíž licence je zpoplatněna. Základní informace o tom, jak začít s log managementem, najdete v článku Příprava na log management a SIEM ve 3 krocích.
Licence a omezení: na co si dát pozor
Skoro by se mohlo zdát, že je úplně jedno, který z open source nástrojů vyberete. Potíž je v tom, že Elastic přibližně od doby, kdy vznikl OpenSearch, licencuje svůj software pod SSPL (Server Side Public License) a Elastic License. To s sebou nese určité povinnosti a omezení pro ty, kteří se rozhodnou jej provozovat. Stále se přitom objevuje celá řada nejasností v tom, co je a co není v souladu s licenčními pravidly.
Elasticsearch například není možné provozovat v režimu, který by přímo konkuroval službě Elastic Cloud, aniž by byl zveřejněn zdrojový kód tohoto řešení. Software lze ale bez problému použít jako backend vlastní aplikace.
Elastic zpoplatnil i některé funkce. Jejich dostupnost se liší podle zakoupené licence. Pro provoz Elasticsearch ve vlastní správě můžete vybírat ze třech variant licencí – Basic, Platinum a Enterprise. Cena Platinum licence je v době vzniku tohoto článku přibližně 6 700 dolarů ročně za jeden nod. Přehled toho, které funkce daná licence zahrnuje, najdete na oficiálních stránkách Elasticsearch.
OpenSearch je licencovaný pod Apache 2.0 licencí, kterou dříve používal právě i Elastic. Apache licence umožňuje používat, distribuovat i dále upravovat software zcela zdarma.
Co čekat od podpory a budoucího vývoje?
Komerční aspekty Elasticsearch oceníte v případě, že potřebujete jistotu spolehlivé podpory. Tu bez licence nezískáte. V režimu Platinum už ale můžete počítat s reakcí podpory do 4 hodin, u kritických problémů dokonce do 1 hodiny.
OpenSearch oficiální podporu neposkytuje, a tak nezbývá než se spoléhat na dokumentaci. S komplexními problémy vám pomůžeme i v MasterDC. Obě technologie nasazujeme našim zákazníkům a Elasticsearch používáme také pro interní účely.
Projekty se rovněž opírají o silnou vývojářskou komunitu, a je proto nepravděpodobné, že by některý z nich časem poskytoval horší funkce.
Často zmiňovaným ukazatelem při porovnávání softwarů je počet změn kódu. V těch OpenSearch mírně zaostává. Jeho zdrojový kód však není tak rozsáhlý jako kód Elasticsearch, který zahrnuje řadu zpoplatněných, pokročilých funkcí.
Uživatelská zkušenost za cenu podmíněných funkcí
Delší doba existence Elasticsearch se výrazně projevuje v uživatelské přívětivosti. Grafické uživatelské rozhraní Elasticsearch je z hlediska používání komfortnější. Nabízí také širokou škálu pluginů, díky nimž si každý může nástroj upravit podle sebe. Část dříve volně dostupných pluginů je však nyní omezena licencí. Funkčnost jiných zase podmiňuje například vypnutí některé z ostatních funkcionalit.
OpenSearch v tomto ohledu žádná omezení neklade, zato má složitější konfiguraci. S trochou úsilí z něj nicméně získáte funkce, na které byste v Elasticsearch dosáhli pouze s placenou licencí.
Za bezpečnost si (možná) připlatíte
Základní bezpečnostní funkce – autentizace, auditní logování, šifrování a další – jsou v Elasticsearch zahrnuty do X-Pack kódu dostupné ve verzi Basic, tedy zdarma. Zájemci o filtrování IP adresy, autentizaci prostřednictvím LDAP nebo zabezpečení na úrovni jednotlivých dokumentů si ale připlatí.
Bezpečnostní plugin OpenSearch nabízí funkce šifrování, auditního logování, kontroly přístupů a ochrany jednotlivých dokumentů zdarma. K dispozici je také autentizace přes LDAP, OpenID, SAML a další. Využití těchto funkcí může mít vliv na výkon nástroje.
Rozdíl ve výkonu je minimální
Velké srovnání provedené Elasticem a ověřené nezávislou třetí stranou ukázalo, že Elasticsearch je o 40–140 % rychlejší než OpenSearch. Je potřeba dodat, že výkon výrazně ovlivňují verze softwarů, počet a typ využívaných funkcí, ale i samotný dataset.
V praxi se nám v MasterDC ukazuje, že u většiny běžných nasazení jsou rozdíly ve výkonu minimální. Se správně dimenzovaným řešením a vhodným hardware jej pravděpodobně ani nepocítíte.
Na co pamatovat při výběru
Je jasné, že z pohledu základních vlastností se Elasticsearch a OpenSearch zase tolik neliší. Zvláště pokud zvažujete jejich využití pro monitoring logů, neuděláte chybu ani s jedním z nich.
Nástroje mohou mít ale různá využití, a tak při rozhodování nezapomeňte na následující:
- pokud chcete nástroj používat pro své zákazníky, ověřte si, které případy jsou v souladu s licenčními podmínkami Elasticu;
- zhodnoťte, jestli máte dostatek interních kapacit pro nasazení, konfiguraci a správu nástroje i to, jestli si vystačíte s dokumentací, nebo budete potřebovat spolehlivou podporu;
- zvažte, které funkce chcete využívat a jaké zabezpečení vaše řešení vyžaduje;
- ověřte si podporu funkcí v obou softwarech i to, v jaké konfiguraci (případně pod jakou licencí) jsou dostupné.
S konkrétními use casy se klidně obraťte na nás. Pomůžeme vám s výběrem softwaru i jednotlivých funkcí.