Script: criando vm’s no Azure a partir de um vhd

Recentemente participei de um Codificando Live motrando um pouco do que fizemos para escalar a infraestrutura que temos no Dieta e Saúde no Azure. O projeto foi necessário pois teriamos um destaque na TV e nosso volume de usuários aumentaria em 30x, com a ajuda do Azure e da Azion (CDN que utilizamos) replicamos o ambiente do datacenter no Azure e balanceamos a carga entre o Azure e o Datacenter.

Continue reading

.NET Core e Cache: Memory Cache

Um dos fatores de sucesso de uma aplicação em termos de performance e de escalabilidade é a maneira de como foi desenvolvida uma estratégia para poder economizar/poupar algumas atividades como acesso a disco, banco de dados e operações que consumam muito CPU.

O Cache é um recurso muito importante para estes fins, com ele evitamos que certas partes de código sejam executadas várias vezes de maneira desnecessária. Por exemplo: não se faz necessário para cada usuário do seu site que você consulte o banco de dados ou um xml para montar a estrutura do menu, para este fim você pode definir um tempo de atualização e guardar a informação do menu  em um cache (em memória por exemplo) evitando assim IOs desnecessários.

Continue reading

Performance e o HTTP/2

Performance é um fator vital em nossas aplicações web, falando de performance de front-end, ela é uma das maiores responsáveis pelo tempo que nossas páginas demoram para carregar.

O HTTP/2 é uma nova versão do protocolo de comunicação que utilizamos na web, ele vem com vários benefícios que trazem muitas melhorias para nossas aplicações.

O principal objetivo do HTTP/2 é o de reduzir a latência de comunicação, possibilitando a paralelização de requisições com multiplexing, a diminuição de overheads causados pelo protocolo (utilizando uma compressão eficiente de headers HTTP), o suporte a priorização de requisições e a possibilidade de pushs vindos do servidor.

Continue reading

Docker e Yeoman: generator-docker

O Docker e a tecnologia de containers facilitam muita a padronização de ambientes, a agilidade em provisionar infra-estrutura e ainda, nos ajudam a transformar o ambiente de nossa aplicação em parte do projeto. Já o Yeoman é uma ferramenta que nos ajuda durante a criação de projetos, templates e scaffoldings, como por exemplo criar a estrutura de um projeto com ASP.NET Core sem a necessidade do Visual Studio.

Neste post vou mostrar um generator do Yeoman que utilizei para gerar scripts e arquivos de configurações para o Docker, atualmente ele gera scripts para ASP.NET 5.0, Node.JS e Go. Continue reading

Codificando Night Week 2016 \o/

Na semana passada aconteceu o Codificando Night Week 2016. Uma semana, todas as noites com palestras sobre diversos assuntos como desenvolvimento, testes, banco de dados,  mobile, web e performance.

image

Neste ano já atingimos aproximadamente 115.170 minutos assistidos (+-79 dias), quero agradecer a todos que ajudaram no evento, principalmente ao Angelo Belchior e ao Diego Nogare que participaram da organização, sem eles o evento não teria acontecido, bem como a todos os palestrantes que trouxeram conteúdos excelentes e fizeram apresentações sensacionais.

Abaixo eu tentei organizar e disponibilizar o material que encontrei sobre o evento:

Continue reading

ASP.NET 5 + Kestrel + Nginx e Ubuntu: configurando um ambiente de produção

Uma das grandes mudanças no desenvolvimento do ASP.NET 5 é a de que ele é suportado em múltiplas plataformas (Windows, Linux ou Mac), além de possuir o ambiente de desenvolvimento suportado nestas plataformas, o ambiente de produção também está sendo desenvolvido para que possamos fazer deploy de nossas aplicações em ambientes diferentes, como por exemplo em um Linux.

Montei um ambiente (ASP.NET 5 + Linux) para realizar alguns testes de performance e estabilidade, a ideia deste post é mostrar um pouco o que precisei fazer para configurar e deixar o ambiente ok.

Continue reading

Contribuindo com a documentação do ASP.NET 5

O ASP.NET 5 é um projeto open source e cross-plataform, todo seu desenvolvimento está sendo feito no GitHub (incluindo varias contribuições e feedbacks da comunidade de desenvolvimento). Considerando esta nova mentalidade e abordagem de trabalho, o time do ASP.NET escolheu uma plataforma para escrever e manter a documentação deste framework.

Continue reading

Trilha Codificando.NET – Congresso de Tecnologia da Fatec-SP

Na próxima semana vou participar organizando uma trilha de desenvolvimento no 17º Congresso de Tecnologia da Faculdade de Tecnologia de São Paulo (FATEC-SP). Ele é um evento anual, que reúne diversos profissionais da área de tecnologia (mecânica, construção, tecnologia da informação, etc).

A FATEC-SP é uma faculdade muito conceituada na área de TI, e a ideia de organizar esta trilha é a de trazer conteúdos relacionados ao mercado de tecnologia para dentro da faculdade.

O evento é gratuito e aberto ao publico, possuindo diversas outras palestras e um Simpósio de Iniciação Científica e Tecnológica.

Continue reading

Python e Flask: criando um webserver para executar scripts e trabalhar com webhooks

A maioria dos serviços de integração continua ou ferramentas de comunicação (Slack) dispões de webhooks para realizar a comunicação entre as diversas partes e orquestração dos processos.

A idea deste post é mostrar como é simples montar um servidor utilizando Python e Flask que receba alguns requests e execute alguns scripts, recentemente utilizei uma aplicação que foi feita pelo Wilson Tayar e pelo Vinicius Quaiato para automatizar o processo de deploy, a aplicação recebe um post quando qualquer mudança na master de um projeto no GitHub, a partir deste post, ela executa uma serie de scripts para realizar o deploy e notificar um grupo do slack que o deploy terminou.

Para este exemplo, vamos precisar instalar o Python e o pip (gerenciador de pacotes do Python), com eles funcionando em nosso computador podemos começar. Continue reading

ASP.NET MVC 6 – JSON Helper

O ASP.NET MVC 6 é que ele traz diversos recursos e implementações que já eram necessárias para nossos projetos, e que muitas vezes resolvíamos com uma implementação customizada de alguma parte do projeto ou helper. Apesar dele resolver varias coisas que fazíamos com nossas implementações, acredito que o ASP.NET MVC ter este paradigma de um framework plugável é sensacional, e muito importante. A ideia deste post é mostrar um helper para serializar JSON na View.

JSON Helper

Algumas vezes em nossos projetos temos que passar informações para o javascript ou para alguma api através do html que a View está gerando, como por exemplo passar os dados de checkout de uma transação para uma api de tracking. Nestas ocasiões geralmente escrevíamos o objeto item por item ou transformávamos ele em JSON ele antes de retornar para a view.

Continue reading