PHP Experience 2017
29.03
Estivemos essa semana na PHP Experience, um evento que nos surpreendeu muito positivamente, principalmente pela qualidade das palestras e formato. Com um primeiro dia para tutorias, uma noite para os keynotes, e um terceiro e último dia para 3 trilhas temáticas, e recheadas com assuntos bem pertinentes, úteis não apenas para quem trabalha com PHP, mas como para qualquer desenvolvedor. Como por exemplo, sobre Big Data e Programação Orientada a Aspectos.
Vamos aqui, contar um pouco sobre como foram dois keynotes, que o nosso time gostou bastante.
A noite da segunda-feira começou com o keynote do Michelangelo van Dam, sobre como uma arquitetura distribuída pode te ajudar. O começo foi recheado de conceitos, desde uma explicação rápida sobre LAMP, até um passo-a-passo de como geralmente escalamos a aplicação, chegando até a arquitetura de micro-serviços.
Mas o ponto central do keynote não era micro-serviços, e sim alta-disponibilidade. Para muitos alta-disponibilidade gera custos desnecessários, afinal se a AWS cair por exemplo, vários outros serviços grandes irão juntos, e o seu será só mais um. Porém quando falamos de serviços para o mercado financeiro, transporte e saúde, a alta disponibilidade é essencial, se a AWS cair, uma outra região, ou até outra cloud terá que assumir. E esse foi o ponto principal do palestrante, que tem uma vasta experiência, pela sua empresa prestar esse tipo de serviço.
Sua recomendação para alta disponibilidade é ter sempre uma outra cloud pronta pra assumir, caso a primeira caia. Em vários casos que AWS caiu, outras regiões também tiveram seus serviços impactados, e no histórico de quedas, quando a AWS cai, a Azure está de pé, e vice-versa. Portanto utilizar ambas, é uma estratégia boa, tanto que é o que eles recomendam para os seus clientes.
Alguns outros pontos importantes pra que isso seja possível são:
Keynote feito pelo italiano, que vive na Alemanha, Marco Pivetta. Abordou um assunto não tão trivial, e que muita gente não tinha conhecimento, inclusive nós, que é o Event Sourcing.
A primeira coisa a ser ter em mente, é que Event Sourcing não é algo pra ser aplicado a torto e a direita, precisam existir motivos fortes para a sua aplicação. Isso deve-se a complexidade que ele traz. O principal motivo é para lidar com serviços externos, afinal você não tem controle sobre eles. Usando Event Sourcing você tem todos os eventos do sistema armazenados, geralmente numa fila (ex: AWS SQS e RabbitMQ), e um worker, que em caso de falha, consegue reprocessar o evento.
Até agora nos parece que estamos falando apenas de processamento assíncrono, certo? Algo que muitos de nós fazemos, como por exemplo, ao enviar um e-mail de confirmação de uma compra. Bem, a aplicação de Event Sourcing, vai um pouco além dos recursos externos, ela envolve o código da sua camada de negócio também.
Alguns conceitos o Marco trouxe para criar a sua aplicação usando eventos:
Como você pode perceber, são vários conceitos novos, e isso que estou apenas resumindo o que o Marco passou no keynote. Por isso, se você ficou interessado, e quer entender melhor como implementar Event Sourcing, recomendo fortemente a sua apresentação (não sei se o pessoal do PHP Experience irá liberar as talks – acho que sim, porquê estavam gravando, mas se quiserem já ver a apresentação do Marco, ela a deu na Web Camp 2016).
….
Bem é isso. Como dissemos no começo, o evento foi muito bom, mesmo com alguns problemas na hora do coffee break e coquetel, onde se percebeu que o espaço e quantidade de comida, não foram bem dimensionados para a quantidade de pessoas que estavam lá. O conteúdo prevaleceu, e é o que sempre deve prevalecer, e tanto os keynotes, como as palestras das trilhas foram e sua maioria de excelente nível e bem pertinentes, tanto que várias salas estavam lotadas.
Parabéns a todos envolvidos! Em 2018 pretendemos voltar!
Na Vizir Talks #32, o Assis Neto falou sobre suas impressões do Deno.JS, veja o vídeo...
💡 #aprendi é um canal interno onde os Vizires compartilham aprendizados do dia a dia...
💡 #aprendi é um canal interno onde os Vizires compartilham aprendizados do dia a dia...
💡 #aprendi é um canal interno onde os Vizires compartilham aprendizados do dia a dia...
💡 #aprendi é um canal interno onde os Vizires compartilham aprendizados do dia a dia e...