Slide 1

Slide 1 text

PHP & Docker & ELK & React Um case de sucesso

Slide 2

Slide 2 text

Rodrigo Régis Palmeira • Brasiliense • Chefe do Serviço de Desenvolvimento de Soluções do TCDF • Na área de TI desde 2003 • Full Stack • DevOps regisnew

Slide 3

Slide 3 text

Motivação Julho de 2017 - CGTI questiona a ausência de previsão no orçamento para melhoria do sistema de pesquisa textual do TCDF.

Slide 4

Slide 4 text

O que os usuários tinham?

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

O que os usuários queriam?

Slide 7

Slide 7 text

Estudo de soluções

Slide 8

Slide 8 text

Implementação • Visita à outros órgãos • Definimos as tecnologias a serem utilizadas • Iniciamos o desenvolvimento em setembro de 2017

Slide 9

Slide 9 text

Apache Tika

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

● Desenvolvido pela Elastic ● + de 200 plugins para conexão em diversas fontes ● Input -> Filter -> Output ● Empilhável Logstash

Slide 12

Slide 12 text

ElasticSearch ● Apache Lucene Based; ● API REST ● Distribuído em cluster ● Escalável ● Big Data ● Quem usa: ○ Google, GitHub, Twitter, SoundCloud, Yelp e TCDF

Slide 13

Slide 13 text

● Desenvolvido pela Elastic ● Apresentação de dados indexados no ElasticSearch ● Muito utilizado para análise de log’s Kibana

Slide 14

Slide 14 text

Symfony ● Framework PHP ● RESTFul ● Guzzle ● Doctrine

Slide 15

Slide 15 text

React ● Criado pelo Instagram (mantido pelo Facebook) ● Lib JavaScript para frontend ● Web Components ● Virtual-DOM ● JSX

Slide 16

Slide 16 text

Por que React?

Slide 17

Slide 17 text

Docker ● Portabilidade; ● Versionamento; ● Uniformidade; ● Imutabilidade; ● Automatização de implantação; ● Escalável; ● Orquestração de ambientes;

Slide 18

Slide 18 text

Ecossistema antes do Busca SIGA CAS ETCDF

Slide 19

Slide 19 text

Ecossistema depois do Busca SIGA ETCDF - API BUSCA - API LOGSTASH KIBANA ETCDF CAS BUSCA - FRONTEND

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

Dashboad Kibana

Slide 25

Slide 25 text

Próximos passos • Dicionário de sinônimos • Autenticação - JWT + LDAP • Pesquisa interna (aproximadamente 2 milhões de documentos) • Restrição de acesso (sigilo) • Maior detalhamento do processo • PWA (aprimoramento)

Slide 26

Slide 26 text

Reservado + confidencial Obrigado.