Uma pequena revisão do QCon 2018

No final de junho, em Nova York, foi realizada a conferência QCon 2018, da qual tive a sorte de participar. Por esta oportunidade, quero agradecer ao meu empregador. O Konfa durou 3 dias, houve cerca de 140 palestrantes e mais de 900 participantes.


something_will_probably_go_wrong


Isenção de responsabilidade: é claro que este artigo expressa minha opinião pessoal.


Organização


Como a conferência é grande e ocorre há muito tempo, tudo é organizado em alto nível. Audiências, som, transmissão, gravação, apresentações - tudo é feito de forma clara. Embora não seja, o primeiro dia do primeiro lixo eletrônico do keynote. :-) Este, talvez, foi o único problema em 3 dias.


crowd_on_start


Temas


Durante 3 dias, os organizadores abordaram 15 tópicos diferentes. I.e. todos os dias havia 5 fluxos principais (+ apresentações de patrocínio e público do Ask Me Anything), todos os dias havia novos fluxos. Na minha opinião, uma cobertura tão ampla é boa em termos de quantidade, mas a qualidade sofre com isso. Verificou-se que dos 6 relatórios por dia que participei, 1-2 eram realmente úteis e interessantes para mim. Alguns relatórios simplesmente não coincidem com o nome, o que foi uma pena pelo tempo gasto.


me_at_stage


Eu tinha expectativas um pouco diferentes para a quantidade de informações novas para mim. Algo novo, interessante e desconhecido era menos do que gostaríamos.


Keynotes


Antes do início de cada dia, todos se reuniam no salão maior, e algumas pessoas da famosa empresa contavam algo geral, mas interessante. Essas histórias eram sobre o desenvolvimento de software de uma forma ou de outra. Eu gostei das três palestras.


Desenvolvedores como veículo de distribuição de malware (Guy Podjarny, SnykSec)


Guy trabalha para uma empresa que examina produtos de código aberto em busca de vulnerabilidades. Ele falou sobre como as vulnerabilidades são incorporadas em diferentes ferramentas de desenvolvimento e como elas se espalham entre os usuários finais. Eu raramente pensava nisso e, além disso, não pensava que esse fenômeno fosse em larga escala. Guy mostrou como isso poderia ser com alguns exemplos interessantes. Acontece que o malware pode ser incorporado ao IDE (o XCodeGhost serviu como exemplo) e injetado no arquivo executável durante a montagem. Você também pode colocar malware na biblioteca de plug-ins.


Eu gostaria de destacar os principais pensamentos da apresentação:


  • com grande poder vem grande responsabilidade;
  • Você não pode confiar no código que você mesmo não escreveu do zero.
  • Seja cuidadoso e atento às ferramentas com as quais trabalha.

Uma história opinativa da API (Joshua Bloch, Carnegie Mellon)


Joshua Bloch contou quando e quem criou a API (Application Program Interface) e como esse termo evoluiu até hoje.


Acontece que a API foi inventada antes da construção do primeiro computador! Pouco uso, mas muito interessante!


Facilidade de uso, sem bugs e uma boa descrição é o que você deve pensar ao desenvolver uma nova API.


A História dos Escapes de Fogo (Tanya Reilly, Squarespace)


Tanya contou a história do surgimento e desenvolvimento de uma escada de incêndio em Nova York desde 1838. A causa da ocorrência e desenvolvimento desse fenômeno, é claro, foram os incêndios. De uma perspectiva histórica, ela mostrou por que eles aconteceram e que medidas foram tomadas para lidar com eles no futuro. "Incêndios" no mundo do software também acontecem, mas com base na experiência existente, podemos minimizar suas conseqüências.


Minimize em princípio a possibilidade de incêndio. Fornecer meios para detecção precoce de incêndio. Isole as áreas potencialmente perigosas do fogo para que o fogo não se espalhe. Tenha uma brigada de incêndio e planos de evacuação atualizados.


Relatórios reais


Talvez eu escreva apenas sobre os relatórios que pessoalmente gostei, dos quais pude aprender algo novo e benefício.


Padrões sem servidor e antipadrões (Joe Emison, Filial)


joe_emison_branch


Na última vez em que mergulhei no tema sem servidor, havia rumores de que o Backendless e agora falecido no Bose Parse. Porém, vários anos se passaram e, quando ouvi Joe, fiquei surpreso com quantos serviços já apareceram nessa área e com a importância de combiná-los para alcançar uma variedade de objetivos. Joe contou como, sem servidor (sem servidor, significa um conjunto de serviços externos para atingir a meta de um produto), eles escreveram um software para coletar estatísticas e monitorar a qualidade do combustível, além de um aplicativo para selecionar imóveis para aluguel. Esses aplicativos podem fazer autenticação, validar dados, moderar imagens, trabalhar com um mapa, ler nas nuvens e muito mais. E tudo isso através de serviços externos! Sua principal tarefa é monitorar a disponibilidade desses mesmos serviços externos.


sem servidor


Neste relatório, aprendi sobre muitos serviços novos que gostaria de "tocar" e descobrir mais. E aqui, a propósito, e eles:


  1. Segmento - uma plataforma única para coletar, armazenar, analisar e rotear os dados dos usuários.
  2. DocRaptor - Gera PDF / Excel a partir de HTML
  3. Cloudinary - uma plataforma para gerenciar conteúdo de mídia (fotos, vídeos).
  4. Auth0 - a plataforma fornece recursos avançados de identificação de usuário.
  5. O Webtask é uma plataforma FaaS que executa seu código na nuvem.
  6. Netlify - hospedagem na nuvem com implantação em alguns minutos. Capaz de conectar-se ao seu repositório em um github e implantar sites a partir dele, conforme ele é atualizado. Bem, todos os tipos de outros chips de moda
  7. Algolia - um mecanismo de busca para o seu site, como eu o entendo
  8. AWS Cognito - gerenciamento de usuários, identificação, diferenciação de direitos
  9. AWS Lambda - Plataforma FaaS da Amazon
  10. AWS AppSync - Sincronização de dados em tempo real entre dispositivos

Plataformas no Twilio: desbloqueando a eficácia do desenvolvedor (Justin Kitagawa de, twilio)


justin_kitagawa_twilio


Aqui está o que aprendi por mim mesmo na apresentação:


  1. Multilinguismo, microsserviços, o DevOps é bom.
  2. A geração de código para diferentes idiomas a partir de uma descrição unificada da API é boa.
  3. Automatize tudo o que você pode alcançar.
  4. Diga o que fazer, não diga como. E então tudo ficará bem com você.
  5. Minimize a resistência à inovação. O palestrante cita o exemplo de “porteiros” que não permitem “inovações potencialmente perigosas que não trazem benefícios” para o projeto. Essas pessoas constroem o trabalho com o princípio do "trabalho - não toque". E diminui o desenvolvimento do produto
  6. Garanta a transparência da infraestrutura para ver pontos fracos e detectar problemas o mais cedo possível.

Mais perto do fio: alerta em tempo real sobre notícias (Katerina Domenikou de, Bloomberg)


katerina_domenikou_bloomberg


Para mim, fiz algumas coisas interessantes que foram discutidas na apresentação:


  1. Pesquisa por streaming. Pesquise no fluxo de informações recebido.
  2. Luwak - uma ferramenta que ajuda a cumprir o parágrafo 1.

E ele estava novamente convencido de que, às vezes, é preciso olhar para a tarefa do ponto de vista aparentemente inesperado. Katerina contou como eles processam muitas consultas de pesquisa, ou, mais precisamente, filtros, para uma enorme variedade de dados. A matriz de dados também pode ser reabastecida com bastante frequência. Então, na decisão deles, os caras indexam não os dados, mas as consultas a eles. Portanto, quando novos dados são exibidos, é verificado se os novos dados satisfazem as consultas existentes e, em caso afirmativo, os dados estão associados ao índice. A pesquisa é significativamente acelerada. Em geral, para mim, era novo no O_o.


Fluxos complexos de eventos em sistemas distribuídos (Bernd Rücker, Camunda)


bernd_ruker_camunda


As soluções empresariais modernas para automatizar processos de negócios (mecanismo de fluxo de trabalho, máquina de estado) são pesadas e sem graça. Portanto, você não deve usá-los, mas existe uma alternativa leve e digna. E de alguma forma, a alternativa está sendo desenvolvida pela equipe do palestrante e se chama Camunda. Mas se a solução é boa, por que não falar sobre isso!
A partir desta apresentação, pesquei as seguintes coisas que queria “tocar” e estudar mais profundamente:


  1. O UBER Cadence é uma ferramenta distribuída, escalável e confiável para orquestrar processos de negócios assíncronos e demorados .
  2. O Netflix Conductor é uma ferramenta de automação comercial baseada em microsserviços.
  3. Camunda é uma plataforma para automatizar processos de negócios.
  4. Zeebee - uma ferramenta de automação comercial baseada em microsserviços, com um designer gráfico!
  5. A Activiti é uma ferramenta de automação de negócios baseada em microsserviços baseada em nuvem.
    Pelo que entendi, todas essas ferramentas permitem estabelecer um equilíbrio e distribuir a responsabilidade dos microsserviços e do mecanismo de fluxo de trabalho real. Isso é feito executando operações de rotina (manipulação básica de erros, ciclos, execução agendada) no lado do mecanismo de fluxo de trabalho, e a lógica do domínio permanece inteiramente nos microsserviços que compõem o processo de negócios.

Enviado de Lyft: adotando uma malha de serviço (Matt Klein, Lyft)


matt_klein_envoy


Matt falou sobre o Enviado , o produto que ele está liderando. Um tipo de malha de serviço que permite que os microsserviços interajam sem pensar na topologia da rede. Entre outras guloseimas estão presentes:


  • balanceador de carga
  • monitorar o status dos microsserviços,
  • coletando vários tipos de estatísticas,
  • serviço de descoberta de serviço
  • extensões de plug-in.

enviado


Matt foi lembrado por mais um momento. Após todas as apresentações, os palestrantes sentaram-se juntos no palco e começaram a responder perguntas sobre um tópico comum (“Arquiteturas sobre as quais você sempre se perguntou”). Quando surgiu a pergunta sobre a disponibilidade de testes de integração e abordagens, um meio sorriso foi visível nos rostos de todos os oradores. Matt respondeu primeiro, e todos os outros o apoiaram silenciosamente. Sua resposta foi com esse espírito - "Claro, temos testes de integração, mas ... Nada produz resultados tão bons quanto os testes em produção". Matt oferece testes automatizados limitados a testes de unidade, testes de carga. E, em menor grau, conte com os resultados dos testes de integração.


Escalonamento de mensagens push para milhões de dispositivos (Susheel Aroskar, Netflix)


Infelizmente, não pude visitar o relatório em si, mas houve muitas críticas positivas sobre a apresentação e sobre o orador. Então eu acho que vale a pena dar uma olhada.


Buzzwords QCon Nova York 2018


chavões
Havia também uma faixa inteira sobre blockchain. Mas não consegui chegar lá.


Post scriptum


Na primavera, participei do CodeFest 2018 em Novosibirsk. E para ser sincero, gostei mais por lá. Mas, como se costuma dizer, cada um na sua.


Todas as apresentações já estão disponíveis aqui .


O vídeo estará disponível ao público em 3 a 4 meses. Para os participantes, o acesso ao vídeo já está aberto. E este vídeo pode ser enviado para 30 pessoas diferentes por e-mail.


Post post scriptum


Não escrevi sobre comida, acomodação e transporte dentro do artigo, porque parece que não se aplica ao assunto de Habr, mas se alguém estiver interessado, posso responder no PM ou nos comentários.

Source: https://habr.com/ru/post/pt416335/


All Articles