Nossa história

Desde os primórdios do Elasticsearch até como o ELK Stack surgiu, um período de desenvolvimento incrível (mas caótico), a introdução do Elastic Stack e uma nova era de abertura — há muitas coisas boas para contar na nossa trajetória.

Tudo começou com um app de receitas

Morando em um apartamento em Londres, Shay Banon estava procurando emprego enquanto sua esposa estudava na escola de culinária Le Cordon Bleu. Em seu tempo livre, ele começou a construir um mecanismo de busca para a lista de receitas dela, que não parava de crescer.

Sua primeira iteração foi chamada de Compass. A segunda foi o Elasticsearch (baseado no Apache Lucene). Ele abriu o código-fonte do Elasticsearch, criou o canal de IRC #elasticsearch e esperou que os usuários aparecessem.

A resposta foi impressionante. Os usuários o adotaram de forma fácil e natural. A adoção disparou, uma comunidade começou a se formar, e as pessoas notaram — a saber, Steven Schuurman, Uri Boness e Simon Willnauer. Juntos, eles fundaram uma empresa de busca.

A união fez o ELK

Na época em que a Elasticsearch Inc. foi fundada, dois outros projetos de open source estavam decolando.

Jordan Sissel estava trabalhando no Logstash, uma ferramenta open source de ingestão plugável para enviar logs para o “esconderijo” de escolha do usuário, um dos quais era o Elasticsearch. Ele também estava desenvolvendo uma UI em cima dele para visualizar os dados de log — que era instável, na melhor das hipóteses.

Felizmente, outra pessoa estava lidando com o desafio da visualização. Rashid Khan, que estava trabalhando em uma UI open source chamada Kibana.

Shay, Jordan e Rashid já se conheciam, conheciam seus projetos há algum tempo e decidiram se unir, resultando no ELK Stack — Elasticsearch, Logstash e Kibana Stack.

Um tempo depois, lançamos dois plugins comerciais: Marvel para monitoramento e Shield para segurança.

Prazer, Elastic. Bem-vinda, Found.

No Elastic{ON} 2015 em São Francisco, fizemos dois grandes anúncios. O primeiro: mudamos a nossa marca, e a empresa passou a se chamar Elastic. O novo nome representou melhor o nosso crescente ecossistema de produtos e o nosso conjunto de casos de uso. O segundo: unimos forças com a Found, uma empresa que fornecia o Elasticsearch hospedado e gerenciado na AWS. A parceria nos possibilitou oferecer a solução mais simples e completa do mercado.

Emergindo da nossa lama primordial

No início, para desenvolver e lançar software na Elastic, a abordagem era “cada engenheiro por si”: lance a versão que quiser, quando quiser, desde que seja incrível. O Kibana tinha betas, o Logstash tinha marcos, o Elasticsearch tinha números. Os plugins aconteciam como bem entendiam. Foi caótico, mas funcionou... até o dia que não funcionou.

Como os usuários estavam fazendo mais com o produto, precisávamos criar um produto que fizesse mais pelos usuários. Adicionamos mais recursos, enviamos mais pull requests, criamos novos plugins e extensões. A grandiosidade aumentou, a complexidade surgiu e as coisas ficaram complicadas para a nossa stack de tecnologia.

Por exemplo, se você estava executando a versão 1.7 do Elasticsearch e a versão 2.3 de algum plugin, não havia uma maneira automática de saber se eles eram compatíveis ou se o plugin estava falhando silenciosamente. Esse era um bug.

Também começamos a nos flagrar dizendo coisas como: “Se você quer usar o Shield, precisa do Elasticsearch 1.4.2... a menos que esteja usando o Watcher. Nesse caso, você precisará do Elasticsearch 1.5.2. E se você está usando Elasticsearch 1.5.2, ele é compatível apenas com o Kibana 4.0.x, o Logstash 1.4.x, o Shield 1.2.x e o Watcher 1.0.x.”

Chegamos a um tipo especial de inferno de versões — e a matriz de suporte não parecia estar nada melhor. Era hora de mudar.

Uma pausa para ouvir a batida

Enquanto as equipes de produto lutavam com os números das versões, outra história de produto se desenrolava. Em 2015, demos as boas-vindas à Packetbeat, uma equipe formada por marido e mulher sediados em Berlim que projetava uma maneira leve de enviar dados de rede para o Elasticsearch, para a família Elastic.

Isso nos fez pensar: e se tivéssemos uma família de agentes de dados lightweight e de finalidade única para enviar dados de rede, logs, métricas, dados de auditoria e muito mais de máquinas de borda para o Logstash e o Elasticsearch? E assim nasceu o Beats.

Depois da tempestade vem a bonança

Outubro de 2015 marcou um ponto de virada na abordagem das nossas complexidades quanto a versões e compatibilidade de produto.

Apelidado de “bonança nos lançamentos”, essa foi a primeira vez que todos os nossos produtos — Elasticsearch 2.0, Logstash 2.0, Watcher 2.0, Shield 2.0 e Kibana 4.2 — foram lançados juntos no mesmo dia. (O Beats 1.0 ficou mais um mês em banho-maria.)

Coordenar esse esforço não foi fácil. As equipes de engenharia tiveram de mudar a maneira de trabalhar juntas para construir e testar os produtos. Mas valeu a pena. Essa mudança facilitou para que os usuários começassem a usar nossos produtos e tornou os nossos produtos mais confiáveis para fazer coisas incríveis.

Entra em cena o Elastic Cloud

Alguns meses depois, a bonança nos lançamentos não seria mais apenas uma experiência para download. O Elasticsearch e o Kibana agora estavam disponíveis como um serviço na AWS por meio do Elastic Cloud, a oferta anteriormente conhecida como Found.

BELK 5.0 Elastic Stack 5.0

Alinhar a cadência de lançamento com o Elasticsearch 2.0 foi o primeiro passo em direção a uma oferta de produtos mais madura. O lançamento da versão 5.0 foi a segunda etapa. Ele introduziu uma experiência inicial mais integrada, mais bem testada e mais fácil do que nunca.

A versão 5.0 também agrupou todos os nossos plugins comerciais (que chamávamos de Shield, Marvel e Watcher na época) em uma única extensão chamada X-Pack. Ela consistia em recursos como segurança, monitoramento e alerta para nossos produtos principais e cresceu para incluir o machine learning quando trouxemos uma empresa com sede em Londres chamada Prelert para a família Elastic.

A chegada dos módulos para simplificar as coisas

Na versão 5.3 (lançada em março de 2017), o Filebeat introduziu formalmente o conceito de “módulos”, ou seja, um conjunto de configurações seguras para enviar, analisar, armazenar e visualizar formatos de log comuns (por exemplo, Apache, Nginx, MySQL, etc.) no Elastic Stack. Os módulos simplificaram a experiência inicial que partia do conjunto de dados até chegar ao dashboard.

O Metricbeat e o Packetbeat tinham seus próprios tipos de módulos e, meses depois, o Logstash introduziria módulos próprios para dados do ArcSight e do NetFlow.

Uma nova fronteira: apresentamos o ECE

Desde o início, tínhamos uma visão para simplificar a maneira como os usuários implantavam a Elastic em suas organizações. Pegamos a tecnologia que usamos para gerenciar nosso próprio serviço Elastic Cloud e lançamos o Elastic Cloud Enterprise (ou ECE), permitindo que empresas grandes e pequenas baixassem e executassem elas mesmas o nosso produto, com todas as vantagens da nossa oferta hospedada. Com o ECE, gerenciar um ou milhares de clusters ficou mais simples; o ECE otimizou o gerenciamento e a orquestração dos produtos e soluções da Elastic em qualquer ambiente.

As soluções da Elastic não param de crescer

À medida que os módulos começaram a se multiplicar, foi ficando cada vez mais fácil começar a usar o Elastic Stack para tratar de um caso de uso específico, como logging ou métricas. E o ímpeto continuou a crescer quando unimos forças com a Opbeat, uma empresa de monitoramento de performance de aplicação (APM) de Copenhague, e a Swiftype, uma empresa de busca empresarial e um website com sede em São Francisco, alguns meses depois. Ambas as empresas passaram a fazer parte da Elastic.

Nessa época, nossa empresa havia amadurecido até um ponto no qual podíamos oferecer maneiras simplificadas de resolver problemas comuns, o que nos levou a apresentar formalmente as nossas soluções. Apesar de as nossas soluções variarem desde uma experiência “faça você mesmo” até algo mais pronto para uso, cada uma tem um produto por trás de si e pode ser implantada em apenas alguns minutos.

Abrindo o código do nosso X-Pack

Do open source à comunicação aberta, ser aberto está no espírito de tudo o que fazemos. É por isso que tomamos a decisão de abrir o código dos recursos comerciais do X-Pack para acelerar o desenvolvimento e aumentar o engajamento da comunidade, permitindo que todos contribuam, comentem e inspecionem o nosso código.

Como resultado, começar a usar o Elastic Stack ficou ainda mais fácil, pois todos os recursos do X-Pack passaram a ser fornecidos com as distribuições padrão do Elasticsearch, do Kibana, dos Beats e do Logstash. Essa mudança não retirou nenhum código do Apache 2.0. Em vez disso, redobramos os esforços para sermos abertos.

Toca o sino

Exatamente às 9h30. No horário do leste de 5 de outubro, o sino da Bolsa de Valores de Nova York tocou, tornando oficialmente a Elastic uma empresa de capital aberto. Com um recorde de 230 funcionários da Elastic no pregão e centenas mais em todo o mundo, nossa empresa distribuída comemorou o alcance desse notável marco. Embora fosse apenas um dia em nossa longa jornada, foi bastante grandioso.

Há mais em nossa história. Fique atento(a) às nossas atualizações enquanto a nossa aventura continua.