O blog

Esse blog tem a função de aglutinar um pouco do que venho fazendo ao longo dos últimos anos. De restruturações, a implantações, debates sobre arquitetura, suporte à comunidade, diversos projetos open source. Enfim,  há muita coisa para falar, e quando eu esbarro em temas em que a discussão não progride por não encontrar conhecimento, eu venho aqui e tento explicar um pouco sobre as coisas que as pessoas ao meu redor tem dúvidas. É um forma de contribuir e garantir que na próxima vez que formos falar de determinado assunto, já não seja tão novidade.

A série Docker de A a Z nasceu da necessidade de conversar sobre .NET no Linux, sobre como usar uma série de elementos legais como Redis, RabbitMQ, MongoDB com um custo de aprendizado extremamente minimalista. Muito do que você vai encontrar aqui destina-se a traçar uma base de conhecimento que permita conversarmos sobre esses assuntos. Não são mega tutoriais, não detalham melhor do que nenhum manual específico, mas têm a já ambiciosa proposta de chamar sua atenção para uma possibilidade.

Exception Handling

Pessoal, rolou hoje no Software em Contexto um bate papo sobre Exception Handling muito legal. Nesse papo abordamos exceptions quando lançar, quando não lançar, falamos diversas formas de tratar exceptions, apresentamos códigos e refletimos sobre o que é ou não uma exceção. Qual conclusão chegamos? Assiste aê, tire a sua conclusão e retorne com sua opinião. Live…

Veja mais

Contract Package – Uma excelente alternativa ao Service Reference

Falar de WCF em meados de 2017 parece algo sem sentido, no entanto considero relevante tornar públicas soluções e alternativas que muitas vezes só apresentava dentro dos times por onde passei. São soluções, ideias, conceitos que ajudam no desenvolvimento e tornam o dia-a-dia de desenvolvimento mais fácil para quem está ciente dos conceitos ao redor da plataforma. Ignorei a possibilidade de publicar esse tipo de conteúdo para evitar exposição, já que obviamente, os preguiçosos irão reclamar, e muito! De qualquer forma asseguro, se você usa WCF e nunca viu esses conceitos, acredito que ao concluir esse post verá a tecnologia como algo menos místico, e até poderá criar alguma empatia por ela. É ambiciosa a minha proposta, eu sei!

Veja mais

Docker – de A a Z – 15 – RabbitMQ, ElasticSearch , LogStash e Kibana

Pessoal, hoje vou falar um pouco de um stack de log muito interessante, esse papo acontece aqui no Docker de A a Z pois toda a infra de log é feita usando Docker. Nesse stack de log utilizo RabbitMQ,  LogStash, ElasticSeach e Kibana com Docker Compose. São muitos elementos, mas esse desenho garante o máximo de performance…

Veja mais

Microsoft Virtual Academy – Microservices

Uma boa dica para quem quer conhecer MicroServices sob o ponto de vista da Microsoft é o MVA – Introdução à MicroServiços (em inglês). O conteúdo foi lançado dia 09/Junho e conta com os seguintes tópicos: Introdução a Arquiteturas de Serviço Introdução a Containers Azure Compute Platform e Conjuntos de escalabilidade de Máquinas Virtuais O que é…

Veja mais

DevOps & Tests Hack Nights – Microsoft Fakes

Pessoal, daqui a pouco 19 horas vou falar sobre Microsoft Fakes no Canal .Net. Para quem não conhece, Microsoft Fakes é uma infraestrutura de Mocking que suporta teste de artefatos “intestáveis”, seja comportamentos do .Net Framework ou métodos estáticos, esse recurso é extremamente útil quando trabalhamos com legados ou construção de frameworks de baixo nível. Não percam,…

Veja mais

Docker Images – Dicas e Truques

Você já criou suas primeiras imagens, mas algo não ficou bom e teve muito trabalho? Periódicas atualizações fizeram com que gastasse um tempo não previsto para atualizar imagens?! Deseja criar imagens mas não sabe como criar imagens de forma eficiente e de acordo com as melhores práticas. Esse post é para você.

Você pode encontrar imagens para os mais variados tipos de serviços e produtos, desde load balancers até blogs, bancos de dados SQL e NoSQL até Log. A maioria delas preza por alguns aspectos que são considerados boas práticas na criação de imagens, entenda como nesse post.

Veja mais

MonolithFirst @ Fowler, artigo comentado

Olá pessoal, hoje vou falar um pouco sobre um padrão detalhado pelo Fowler meses depois da minha saída do iMusica. Por sinal, há algo de interessante com esse padrão, pois era algo que alguns membros do meu time reclamavam e consideravam um anti-pattern. Vou aproveitar esse post vou tentar usar uma linguagem ainda mais informal que a de praxe.

O nascimento dos padrões

Na real, uma máxima você não pode ter fora da sua cabeça:

Padrões são escritos por pessoas que interpretam situações, problemas e soluções recorrentes e resolvem escrever sobre o tema.

Um padrão nasce da observação de um grupo de pessoas ou projetos que fazem algo de uma determinada forma (parecida ou idêntica) e que chamam a atenção do observador. O observador identifica o “jeitão”, técnica ou solução para escrever sobre aquilo. Assim nasce um padrão.

Se você não entendeu as implicações disso, pense:

Veja mais

WebAPI não é bala de prata

O tema

Pessoal, faz alguns dias que assisti um debate interessante e muito produtivo com o tema “Serviços na plataforma .NET: WCF ou WebAPI?”. Quem conduziu o debate foi a galera do AspNetCast‬, com a presença do Evilásaro Alves. Bom, não vou debater a respeito do cast que está aqui, minha intenção é debater sobre o assunto.

Deja-Vú

O ponto mais engraçado é que para uma grande parte da galera nova, e já trabalhei com um pessoal que pensa isso, WCF é algo totalmente desnecessário e irrelevante, em contrapartida WebAPI é a solução mais eficiente e eficaz para integrações e exposição de serviços.  Na cabeça deles, WCF é quase um elefante branco, desnecessário, over design, simplesmente too much. Eles traziam consigo o hype de que o WCF era tão grotesco e pré-histórico quando cobol.

Veja mais

Logs Estruturados

Então, meses sem escrever nada mas hoje estou aproveitando o domingo para escrever algumas coisas sobre o que tenho vivido no último ano. Olhando projeções para o próximo ano, vejo alguns pontos relevantes relacionados ao que posso contribuir com o dia-a-dia de vocês.

Você sabe o que são logs estruturados?

Logs estruturados, diferente dos logs de aplicação, comuns, contém uma série informações e metadados adicionais, usados para agrupamento e consulta. Logs estruturados devem conter informações relevantes ao negócio e ao desenvolvedor.

Um log comum de exceções, por exemplo, envia dados da exceção, como mensagem, stack trace, inner exceptions. Um log estruturado de exceções, poderia conter informações que diagnosticam o servidor no qual o log foi gerado, qual a operação estava sendo processada, qual o ID ou dados mais completos dos seus objetos de negócio durante a operação, além da comum severidade. E não para por aí, ainda seria possível informar qual o cliente da requisição, no caso de WebApps, qual o usuário logado, entre outras diversas informações de aplicação que poderiam ser passadas para o log, ajudando no troubleshooting e análise de problemas ou mesmo de fluxos de negócio.

Veja mais

Pragmatismo nunca é demais

As empresas cada vez mais tornam-se especialistas em suas áreas, demandando cada vez mais complexidade de seu parque tecnológico. Enquanto no início de suas atividades poucos sistemas davam conta de todo o negócio. Com o passar dos anos, áreas especializadas na criação de novos negócios encontram novas formas de monetizar suas companhias. Independente da forma como esses novos produtos e serviços são criados sempre demandam novas funcionalidades em sistemas antigos, ou até mesmo a criação de novos sistemas.

Veja mais