E aí pessoal, beleza? Bora lá compartilhar mais um conteúdo bacana com vocês. Desde quando reiniciei minha tour pelo mundo dos eventos de TI, fiquei um pouco viciada nisso, hahahahahah Então comecei a procurar algumas comunidades pela plataforma MeetUp, onde formam-se grupos em torno de um assunto em comum onde os mesmos podem debater ou criar eventos (que é o foco principal, reunir o pessoal e falar bastante sobre).
Em Porto Alegre, apesar da comunidade TI não ser um formigueiro como em São Paulo, cresce o número de pessoas que querem mudar esse cenário (uuuufa). Fiquei muito feliz quando descobri esse MeetUp de .NET em POA, já que é minha linguagem de programação favorita (e sendo assim, quero buscar muito conhecimento SIM e aprender coisas novas).
O mais forte do MeetUp não foram as palestras em si (que foram muuuuito legais também, galera!), mas os debates que começam em torno de um assunto.
A primeira palestra foi do Leonardo de Oliveira, da CWI, onde ele deu uma introdução ao MS Azure. A Azure, pra quem não sabe, é uma plataforma de execução de serviços e aplicativos utilizando computação em nuvem.
Ele mostrou muitos conceitos básicos como SaaS, IaaS, PaaS, como funciona a administração dos recursos, algumas dicas para migração de dados de um servidor físico para a nuvem, etc. Mas a coisa mais legal sem dúvida foi a apresentação do BD Cosmos do Azure, que é um serviço de banco de dados multimodelo distribuído globalmente.
O BD Cosmos Azure garante a quantidade ilimitada de seus recursos em qualquer parte do globo, pagando apenas o que você utiliza, garantindo uma latência impressionantemente baixa (99º percentil). Com ele você pode escolher com quais tipos de banco de dados trabalhar, indo do MySQL ao MongoDB. Você tem direito a dimensionar elasticamente as taxas de armazenamento e transferência a qualquer momento, trabalhar com diferentes níveis de consistência e com uma plataforma multimodelo que suporta vários tipos de APIs. Tenha a segurança Microsoft de trabalhar com bancos de dados rigorosamente testados e que atuam com SLAs líderes de setor.
Com base nos grandes clientes, como Toyota, LG e até o Real Madrid (VISCA EL BARÇA desculpa), dá pra ver que existem aplicativos críticos distribuídos e muito bem suportados por todo o mundo. Nele, você também pode trabalhar com personalização, internet das coisas, jogos, varejo, etc. De tudo, o que mais fiquei impressionada é que eu não sabia que a Azure dava suporte ao Mongo, pois já faz um tempinho que não mexo nas bandas da Azure e, quando trabalhava com eles era tudo uma virtualização mais basiquinha de servidores leves.
No meio do debate, rolou um merchanzinho básico do RavenDB. O debate foi: afinal, qual é melhor? A Azure e seu suporte aos diferentes tipos de banco ou o RavenDB?
Mas tá, o que é RavenDB?
Antes de explicar, quero dizer que nessa palestra a gente compreendeu que todas as perguntas no mundo da TI chegam em uma única resposta: DEPENDE.
“Tá, mas isso em produção irá funcionar?”
Depende.
“Será que se acessarem muito essa aplicação, não vai cair o site?”
Depende.
“Será que se a Umbler me chamar pra trabalhar, eu vou topar?”
DepNÃO PERA
E tá, qual é melhor? RavenDB ou Azure usando… sei lá, MongoDB? DEPENDE.
O que é RavenDB? É um banco de dados NoSQL, open source programado em .NET. Possui uma excelente integração com todo o ambiente Microsoft, podendo realizar queries com LINQ de uma forma muito simples. Mas ele não está restrito apenas à Microsoft, podendo trabalhar com diferentes linguagens de programação. O RavenDB trabalha com documentos e tudo é salvo em formato JSON. Um dos grandes ganhos do RavenDB é a performance.
Tá… mas qual é melhor? O que funciona melhor?
Bom, no nosso debate, destacamos que migrações são mais fáceis no RavenDB do que no Mongo. Mas a melhor forma de descobrir isso é saber do que você precisa e se um dos dois atende os requisitos.
Depois, veio uma ótima palestra do Gabriel Schmitt da Society sobre Multi-tenant apps com aspcore e Azure. O Gabriel trabalha em uma empresa que oferece softwares para clubes de futebol. O que é uma doideira, pois as regras de negócio de times de futebol são uma viagem. Por exemplo: se você é filiado ao clube, a sua mãe tem direito a entrar, mas só se ela tiver até XX anos e não tiver sido associada do clube anteriormente. Porém, se você tem um companheiro ou companheira, isso muda tudo, sua mãe só tem direito a 50% das instalações e blah blah blah… Time de futebol é loucura.
Não entrando muito em conceitos tãaaao técnicos aqui, eu posso resumir que ele falou bastante de como funcionavam os Tenants e mostrou códigos de interfaces que se assemelham muito com algo em produção já. Eles trabalham com subdomínios pra cada time em que em cada um deles têm o software prontinho pra ser utilizado.
E como administrar e customizar softwares para clientes tão parecidos, mas tão diferentes? O Gabriel focou muito na dificuldade de mudar alguns processos internos, linguagens de programação e até na adição de novos conceitos e tecnologias dentro da empresa, já que é uma software house muito antiga no mercado (mais de 25 anos). Infelizmente, tem programador que tem bastante resistência ao novo. Mas, com um trabalho de formiguinha, eles foram introduzindo num software legado tecnologias como Angular, React e a utilização do próprio RavenDB. Isso acaba entusiasmando pessoas que antes eram contrárias às novas tecnologias para trazerem conteúdo também. Acho que este foi o ponto mais bacana da palestra: vimos que o programador é, muitas vezes, um cara arrogante, fechado pro novo e que acha que só funciona o que ele sabe fazer. Os motivos pra agir assim podem ser muitos: preguiça, receio de não conseguir aprender, a vontade de querer que a empresa dependa dele… só que um dia a casa cai. Né?
Por último teve a palestra que eu pelo menos mais estava esperando, que é a de introdução ao IdentityServer 4. O João (meu deus muito obrigada por disponibilizar o github hahahahaha) desenvolveu no Visual Studio um sisteminha bem rápido de login e nos explicou como funcionava a IdentityServer. Como configurar, os tipos de chave, etc. O ponto alto da palestra na verdade foi entender o que se pode fazer no IdentityServer e o que seria melhor usar o ASP.NET Identity Core. E então, chegamos a uma conclusão: o desenvolvedor sempre tem que se perguntar “devo?”, “posso?”, “quero?”. Se uma das respostas for não, então você tem que rever o que está fazendo com seu código.
Outros pontos altos do debate foi a exaltação à programação funcional e um recado: o WebForms está morrendo. Ou será que não? Foi um assunto polêmico e que tem defensores fervorosos de ambos os lados.
Bom, o evento foi ótimo. A DBServer tem uma estrutura show de bola no TecnoPuc e o pessoal é 10. E mês que vem já tá marcado o próximo MeetUp: dia 23. Vocês podem saber mais no MeetUp da comunidade aqui.
Fui pessoal!