Nuestra historia

Desde los comienzos de Elasticsearch hasta cómo surgió el ELK Stack, un período de desarrollo increíble (pero caótico), la presentación del Elastic Stack y una nueva era de apertura, hay muchas cosas buenas en nuestra historia.

Comenzó con una app de recetas

En un apartamento en Londres, Shay Banon buscaba trabajo mientras su esposa asistía a la escuela de cocina en Le Cordon Bleu. En su tiempo libre, él comenzó a crear un motor de búsqueda para la lista de recetas cada vez más extensa.

La primera iteración se llamó Compass. La segunda fue Elasticsearch (con Apache Lucene en su interior). Hizo que Elasticsearch fuera open source, creó el canal de IRC #elasticsearch y esperó a que aparecieran usuarios.

La respuesta fue impresionante. Los usuarios lo incorporaron con naturalidad y facilidad. La adopción se fue por las nubes, se comenzó a formar una comunidad y la gente lo notó (específicamente, Steven Schuurman, Uri Boness y Simon Willnauer). Juntos fundaron una empresa de búsqueda.

Ya sabes, para hacer búsquedas

En la época en la que se fundó Elasticsearch, otros dos proyectos open source se ponían en marcha.

Jordan Sissel trabajaba en Logstash, una herramienta de ingesta conectable open source para enviar logs al "escondite" de preferencia del usuario, uno de los cuales era Elasticsearch. También estaba desarrollando una UI para visualizar los datos de los logs; la cual era muy inestable.

Afortunadamente, había alguien más que dedicaba su tiempo al desafío de la visualización. Aquí es donde entra en escena Rashid Khan, quien trabajaba en una UI open source llamada Kibana.

Shay, Jordan y Rashid se conocían y estaban al tanto de sus respectivos proyectos desde hacía tiempo, y decidieron formar un equipo que dio como resultado el ELK Stack: Elasticsearch, Logstash y Kibana Stack.

Tiempo después, lanzamos dos plugins comerciales: Marvel para monitoreo y Shield para seguridad.

Heya, Elastic. Bienvenida, Found.

En Elastic{ON} 2015 en San Francisco, hicimos dos anuncios importantes. El primero: cambiamos el nombre de la empresa a Elastic. El nuevo nombre representaba mejor nuestro ecosistema creciente de productos y conjunto de casos de uso. El segundo: aunamos fuerzas con Found, una empresa que brindaba Elasticsearch alojado y gestionado en AWS. Gracias a la unión, logramos proporcionar la oferta más simple y completa del mercado.

Surgimiento desde el pantano inicial

En los comienzos, crear y lanzar software en Elastic requería de un enfoque en el que cada ingeniero estaba por su cuenta: envía la versión que quieras, cuando lo desees, solo haz que sea increíble. Kibana tenía versiones beta, Logstash tenía hitos, Elasticsearch tenía números. Los plugins fluían a su antojo. Era caótico, pero funcionaba… hasta que dejó de hacerlo.

A medida que los usuarios hacían más cosas con el producto, debíamos crear un producto que hiciera más por los usuarios. Agregamos más capacidad, enviamos más solicitudes de extracción, creamos plugins y extensiones nuevos. Su genialidad aumentó, surgió la complejidad, y todo se complicó para nuestro stack de tecnología.

Por ejemplo, si ejecutabas la versión 1.7 de Elasticsearch y la versión 2.3 de algún plugin, no había una forma automática de saber si eran compatibles o si el plugin fallaba silenciosamente. Esto era un error.

También comenzamos a escucharnos decir cosas como "si quieres usas Shield, necesitas Elasticsearch 1.4.2… a menos que estés usando Watcher. En ese casos, necesitarás Elasticsearch 1.5.2. Y si usas Elasticsearch 1.5.2, solo es compatible con Kibana 4.0.x, Logstash 1.4.x, Shield 1.2.x y Watcher 1.0.x".

Nos encontrábamos en un tipo especial de infierno de versiones; y la matriz de soporte no se veía mejor. Era hora de un cambio.

Una pausa y el comienzo de Beats

Mientras los equipos de productos luchaban con los números de versión, se desarrollaba otra historia de producto. En 2015, le dimos la bienvenida a Packetbeat, un equipo de marido y mujer con sede en Berlín que diseñaban una forma ligera de enviar datos de red a Elasticsearch, a la familia de Elastic.

Eso nos puso a pensar: ¿y si tuviéramos una familia de agentes de datos ligeros con un solo propósito para enviar datos de red, logs, métricas, datos de auditoría y más desde las máquinas perimetrales a Logstash y Elasticsearch? Y así surgió Beats.

Comienzo de la bonanza

Octubre de 2015 fue un punto de inflexión para abordar las complejidades de compatibilidad y versiones de nuestro producto.

Denominada la "bonanza de versiones", era la primera vez que todos nuestros productos (Elasticsearch 2.0, Logstash 2.0, Watcher 2.0, Shield 2.0 y Kibana 4.2) se enviaban juntos el mismo día. (A Beats 1.0 aún le faltaba un mes).

La coordinación de este esfuerzo no fue sencilla. Los equipos de ingeniería tuvieron que cambiar la forma en que trabajaban juntos para crear y probar los productos. Sin embargo, valió la pena. Este cambio facilitó para los usuarios comenzar a usar nuestros productos e hizo que fueran más confiables y posibilitaran grandes logros.

Aquí es donde entra en escena Elastic Cloud

Unos meses después, la bonanza de lanzamientos ya no sería solo una experiencia descargable. Elasticsearch y Kibana ahora estaban disponibles como servicio en AWS a través de Elastic Cloud, la oferta previamente conocida como Found.

BELK 5.0 Elastic Stack 5.0

La alineación de la cadencia de versiones con Elasticsearch 2.0 fue el primer paso hacia una oferta de productos más madura. El lanzamiento de la versión 5.0 fue el segundo paso. En ella se presentó una experiencia de primeros pasos más integrada, mejor probada y más fácil que nunca antes.

En la versión 5.0 también se incluyeron todos nuestros plugins comerciales (llamados Shield, Marvel y Watcher, en ese momento) en una sola extensión denominada X-Pack. Consistía en características como seguridad, monitoreo y alertas de nuestros productos principales, y luego incluyó machine learning tras incorporar en la familia de Elastic a la empresa Prelert con sede en Londres.

Módulos, mucho más simple

En la versión 5.3 (lanzada en marzo de 2017), Filebeat presentó formalmente el concepto de "módulos" o un conjunto de configuraciones seguras para enviar, parsear, almacenar, analizar y visualizar formatos de log comunes (por ejemplo, Apache, Nginx, MySQL, etc.) en el Elastic Stack. Los módulos simplificaban la experiencia de primeros pasos para cambiar de un set de datos a un dashboard.

Metricbeat y Packetbeat tenían sus propios módulos, y meses más tarde, Logstash presentaría módulos propios para datos de ArcSight y NetFlow.

Una nueva frontera: Presentación de ECE

Desde el comienzo, nuestra visión fue simplificar la forma en que los usuarios desplegaban Elastic en sus organizaciones. Tomamos la tecnología que usábamos para gestionar nuestro propio servicio de Elastic Cloud y lanzamos Elastic Cloud Enterprise (o ECE) para que grandes y pequeñas empresas pudieran descargar todo lo bueno de nuestra oferta hospedada y ejecutarla ellos mismos. ECE hizo que gestionar un cluster o miles pudiera lograrse sin problemas, optimizaba la gestión y orquestación de productos y soluciones de Elastic en cualquier entorno.

Precipitación de las soluciones de Elastic

A medida que los módulos comenzaron a multiplicarse, dar los primeros pasos con el Elastic Stack para abordar un caso de uso particular como logging o métricas se volvió cada vez más fácil. El impulso siguió en aumento unos meses después cuando aunamos fuerzas con Opbeat, una empresa de monitoreo de rendimiento de aplicaciones (APM) con sede en Copenhague, y Swiftype, una empresa de búsqueda empresarial y de sitios con sede en San Francisco. Ambas empresas se convirtieron en parte de Elastic.

Para entonces, nuestra empresa había madurado a un punto en el que podíamos ofrecer formas optimizadas de resolver problemas comunes, lo que nos llevó a presentar formalmente nuestras soluciones. Si bien nuestras soluciones varían de una experiencia del tipo "hágalo usted mismo" a algo más preconfigurado, cada una tiene un producto real que la respalda y puede desplegarse en solo minutos.

Apertura del código de nuestro X-Pack

De open source a comunicación abierta, ser abiertos es la esencia de todo lo que hacemos. Es por eso que tomamos la decisión de abrir el código de nuestras características de X-Pack comerciales para acelerar el tiempo de desarrollo y aumentar la participación de la comunidad, lo que permitió a todos contribuir al código, comentarlo e inspeccionarlo.

Como resultado, dar los primeros pasos con el Elastic Stack se volvió incluso más fácil, ya que todas las características de X-Pack ahora se enviaban con las distribuciones predeterminadas de Elasticsearch, Kibana, Beats y Logstash. Este cambio no quitó código de Apache 2.0. En su lugar, duplicamos nuestros esfuerzos para ser una empresa abierta.

Tocar la campana

Exactamente a las 9:30 a. m. hora del este del 5 de octubre, sonó la campana en la Bolsa de Valores de Nueva York, y Elastic se convirtió oficialmente en una empresa que cotiza en bolsa. Con un récord de 230 Elasticians en el recinto de operaciones y cientos más en todo el mundo, nuestra empresa distribuida celebró el logro de este memorable hito juntos. Si bien es solo un día de nuestro largo recorrido, fue un día bastante importante.

Nuestra historia no termina ahí. Mantente atento a las actualizaciones mientras nuestra aventura continúa desarrollándose.