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
Agilidade

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
Metodologia

A prática do “Enquadramento 360”: Como começar um projeto da maneira certa!

É muito comum em projetos de software investirmos muito tempo em análise de requisitos e inúmeras páginas de documentação, que requer muito tempo (as vezes até 6 meses!) e ao final quase sempre são apenas “engavetadas”. Me deparei muitas vezes com essa situação e comecei a me questionar a respeito de até onde vale a pena focar tanto tempo e esforço construindo inúmeros diagramas e especificações.

Leia mais
Arqui e tecno

Medindo o desempenho de aplicações Web – Parte 3

Nos artigos anteriores (artigo 1 e artigo 2), vimos quais são os tipos de teste de performance que podem ser realizados para garantir o bom desempenho da aplicação, e também como um teste de carga pode nos ajudar a descobrir o quão performática é nossa aplicação. Nesse artigo veremos o que é, e como pode ser realizado um novo conceito de testes: o PWPO.

Leia mais
Arqui e tecno

Medindo o desempenho de aplicações Web – Parte 2

No artigo anterior, vimos o que é um teste de carga, teste de stress e teste de não regressão de performance. Além disso vimos qual a importância de realizar testes de desempenho para garantir o bom funcionamento da aplicação web, e o quanto se perde em tempo (e dinheiro) tendo um site lento. Nesse artigo veremos como um teste de carga poderá nos ajudar a descobrir o quão performática nossa aplicação e quais são os passos para planejar e executar um teste de carga.

Leia mais
Arqui e tecno

Medindo o desempenho de aplicações Web – Parte 1

Naquela típica conversa de almoço, certa vez, um colega disse que com uma pequena ajuda do Google poderia facilmente listar os estereótipos mais populares sobre uma nação, bastando pra isso digitar: "por que os [nacionalidade X] são tão...", e rir com os resultados.     Depois de algumas risadas eu pensei: qual seria o consenso da opinião pública sobre os maiores sites da internet. Adaptando um pouco a ideia anterior podemos ter algumas respostas interessantes: Pra minha surpresa os resultados indicaram que boa parte das pessoas…

Leia mais
Agilidade

Os Padrões dos Gigantes da Web – Lean Startup

Inovar, criar produtos e fundar uma empresa é o sonho de muitas pessoas, que admiram os grandes empreendedores e suas histórias de sucesso. Estamos vivendo o boom das startups de tecnologia, empresas como Google, Facebook e LinkedIn inovaram, criaram produtos de sucesso e ganharam milhões de dólares. Mas infelizmente as pesquisas mostram que muito poucas startups de tecnologia sobrevivem: mais de 90% falham. É comum atribuir as falhas à má qualidade do produto, à incompetência no planejamento ou à má execução dos projetos, mas a…

Leia mais
Notícias

Os Gigantes da Web: video e slides da conferência do 24/01 em São Paulo

Como anunciado, no dia 24/01 em São Paulo, Mathieu Despriée - Consultor e Arquiteto Sênior na OCTO Technology - deu uma conferência (em inglês) sobre as práticas inovadoras das empresas bem sucedidas que chamamos de Gigantes da Web: Amazon, Facebook, Google, Netflix, e LinkedIn só para citar algumas. Se você não teve a oportunidade de assistir essa palestra ao vivo no auditório da Globalcode ou online, aqui estão o video e os slides da palestra, onde foram tratados os seguintes assuntos: Reduzir o Time to…

Leia mais
Arqui e tecno

Os Padrões dos Gigantes da Web – o Zero Downtime Deployment

No artigo “Deploy Contínuo”, vimos como melhorar o Time to Market sem impactar a qualidade do desenvolvimento. O passo seguinte é assegurar a disponibilidade do site ou aplicativo apesar desses deploys freqüentes. O Zero Downtime Deployment (“Deploy sem interrupção”) é uma estratégia que visa fazer um deploy sem interromper o funcionamento do aplicativo a fim que a troca fique transparente para os usuários. Como colocar novas versões do aplicativo em produção sem impactar a experiência dos usuários?

Leia mais