Arqui e tecno

Arqui e tecno

Gradle – Build feliz

  Durante anos utilizamos o Maven para cuidar da automação do processo de build. Essa ferramenta se tornou um padrão de mercado e ajudou inúmeros times. Porém, não podemos negar que ela também tem suas deficiências. A escolha de XML para o descritor de projeto tem seus problemas. Quantas vezes perdemos horas olhando para um XML, só para tentar descobrir como funciona o build? Além disso é difícil adicionar alguma lógica no build. O Maven é construído com a idéia de convention-over-configuration. O que por…

Leia mais
Arqui e tecno

Melhorando o Desempenho dos Jobs Hadoop no HDInsight

  Há algum tempo ando experimentando alguns “macetes” para lidar com os dados de forma eficiente dentro do HDInsight, e como tenho obtido resultados conclusivos, fiz esse artigo para compartilhar com vocês essa experiência. Importante esclarecer que este artigo não se trata especificamente de uma comparação de desempenho e sim de uma experiência empírica, deliberadamente subjetiva, explicando a minha visão e as soluções que encontrei para otimizar o desempenho dos Jobs na plataforma BigData da Microsoft. Meu caso de uso é simples: uma POC com um cluster…

Leia mais
Arqui e tecno

HDInsight: Big Data de acordo com a Microsoft

A Microsoft apresentou em 2012 sua iniciativa BigData para o Azure: O HDInsight. O Azure HDInsight implanta e provisiona clusters do Apache Hadoop na nuvem, fornecendo uma estrutura de software criada para gerenciar, analisar e relatar Big Data. O núcleo do Hadoop fornece armazenamento de dados com o HDFS (Sistema de Arquivos Distribuído Hadoop) e um modelo de programação MapReduce para processar e analisar, paralelamente, os dados armazenados nesse sistema distribuído.

Leia mais
Arqui e tecno

Medindo a performance do seu cluster Hadoop

O Hadoop não é uma aplicação web, um banco de dados e tampouco um webservice, você não conseguiria estressar um cluster Hadoop com teste de carga tradicional (afinal ele é feito pra suportar grandes volumes de dados). Realizar um teste de estresse no cluster é um passo geralmente esquecido, porém muito importante quando você monta o seu ambiente hadoop, afinal, é importante ter um benchmark do cluster, ou seja, avaliar seu desempenho, executando uma variedade de tipos de jobs cada uma focado em um campo específico…

Leia mais
Arqui e tecno

Docker – Perguntas Frequentes

Após uma conversa dentro da OCTO sobre Docker versus LXC e Virtual Machines (VMs), este post contem algumas perguntas e respostas sobre os conceitos e as principais diferenças entre essas tecnologias. Pergunta: Qual é a diferença entre VMs e containers LXC? Uma Virtual Machine (VM) consiste em rodar diversos Sistemas Operacionais (SOs) clientes completos (Linux, Windows, BSD, ...) em recursos de hardware compartilhados. Tais SOs podem ser diferentes em cada VM e também pode ser diferente do sistema operacional base, onde rodam as VMs. Cada…

Leia mais
Arqui e tecno

Ferramentas de análise estática para C# e .NET, NDepend em Profundidade

Como um arquiteto de software, muitas vezes eu tenho que analisar muitos código de aplicações, a fim de executar uma verificação de qualidade. É um código de boa aparência? Qual a sua complexidade e cobertura de teste? Posso considerar o código como sustentável e com uma boa escalabilidade? É claro que eu não vou gastar todo o meu tempo lendo cada arquivo-fonte, seria muito demorado e com certeza nada produtivo. Para isso, existem as ferramentas de análise estática de código fonte.

Leia mais
Arqui e tecno

Prevendo o futuro com filtros colaborativos

É possível prever o futuro? Muitos acreditam que um homem chamado Michel de Nostradamus foi capaz. Suas previsões têm intrigado estudiosos por mais de quatrocentos anos. Prever o futuro sempre foi um dos maiores desejos do ser humano, isso pode ser visto em quadrinhos, filmes de Hollywood, e até mesmo na cigana que te aborda na rua para ler a sua mão. A ciência afirma que prever o futuro pode ser uma capacidade humana: uma pesquisa empírica sugere que o cérebro possui uma certa capacidade de perceber o…

Leia mais
Arqui e tecno

Até onde podemos ir com um desktop comum e uma aplicação Java reativa para web?

A tendência atual é que cada vez mais usuários fiquem conectados em todos os lugares e o tempo todo, muitas vezes em várias máquinas simultaneamente (desktop, tablet, celular). A promessa da programação reativa é prover recursos para suportar na mesma máquina muito mais conexões paralelas, e lidar com mais requisições por segundo, com menos threads e com muito menos memória e CPU do que os modos convencionais de programação. Para esse estudo nós criamos três versões de uma aplicação de teste: versão servlet tradicional: uma…

Leia mais
Arqui e tecno

Os Padrões dos Gigantes da Web – DevOps

O movimento DevOps põe em cheque a fronteira entre as equipes de desenvolvimento e de operações. Não que essa discussão seja nova, mas a reestruturação proposta pelo DevOps é mais profunda, e bastante coerente com as metodologias ágeis, já presentes em boa parte das equipes de desenvolvimento, mas ainda distantes das equipes de operações. O DevOps inclui muitas lições aprendidas dos Gigantes da Web (Amazon, Facebook, LinkedIn, etc.), que perceberam que não adianta fazer o desenvolvimento ágil, e parar nos processos lentos das equipes tradicionais…

Leia mais