Posts com infraestrutura

Uma ode ao Docker - Parte 1

Logotipo do Docker

Virtualização é um dos assuntos que mais evoluiu nesses últimos anos de TI. Mas foi o termo "containerização" que teve um "boom" de popularidade recentemente. Isso graças ao Docker, popular ferramenta que tem tornado a virtualização/containerização em uma commodity no universo de desenvolvimento de Software.

Esse é mais um post sobre Vagrant

Logotipo do Vagrant Sim! Esse é mais um post sobre Vagrant, entre tantos outros espalhados pela Web. Sim! Se você já conhece a ferramenta, provavelmente não terá nada de novo para você nesse artigo.

Já falamos um pouco sobre ambientes virtuais, e as vantagens são numerosas. A "atomicidade" de poder construir e destruir um ambiente inteiro, sem acarretar efeitos colaterais ao seu ambiente de trabalho, traz agilidade sem perder segurança e sanidade.

Entendendo o CGI, FastCGI e WSGI

Fast CGI Pelos vários anos que programei com o PHP e Apache, nunca precisei me preocupar com o que acontecia entre esses dois. Para mim, era tudo uma “mágica” maravilhosa, que entregava as minhas páginas Web de forma dinâmica. Era uma troca justa: Eles não me traziam preocupação, logo, eu não me preocupava.

Com o passar do tempo, o uso do Nginx e a necessidade de aprender Python, comecei a me deparar com o famoso “cgi-bin“, e entender que os truques que o mod_php ocultava iam muito além do que eu imaginava.

O cache e o HTTP

Cache e tempo de requisição

Em tempos de alta demanda, o cache pode tornar-se o melhor amigo das aplicações Web. Através dele temos uma opção prática, acessível e barata para melhorar performance, diminuir consumo de recursos e tempos de resposta. Qualquer milissegundo economizado é um ponto a mais com o seu usuário, com os mecanismos de busca e com o seu serviço de hospedagem.

Antes de falarmos de cache em aplicações Django ou Codeigniter, acho interessante falarmos sobre o uso de cache com o protocolo HTTP. Afinal, é esta a primeira camada a “atacar” quando precisamos melhorar os tempos de resposta das nossas aplicações Web.

Entendendo os Cookies e Sessões

Representação de cookies Por muito tempo eu abstrai o conceito de cookies e sessões, e nunca cheguei a prestar muita atenção no seu funcionamento. Recentemente, trabalhando com uma infra mais preocupada com a segurança, disponibilidade e performance, tive a oportunidade de relembrar e me aprofundar em alguns conceitos e práticas.

O que já sabia é que os cookies são “persistências temporárias” feitas no lado do usuário, e sessões são persistências dependentes de cookies, mas realizadas no lado do servidor.

Supervisor: Aumentando a disponibilidade das suas aplicações Web

Logotipo do Supervisor E se você pudesse controlar uma série de processos através de um comando? Ou de garantir que serviços “down” sejam reiniciados automaticamente? Ou ainda, agrupar seus serviços e poder reiniciá-los com um simples comando de terminal?

O Supervisor aparece para facilitar muito a vida de quem precisa administrar servidores Web, e não tem muito tempo a perder com criação de rotinas, ou mesmo com trabalho manual.

Nginx: Poderoso, rápido e fácil

Logotipo do Nginx Para quem (assim como eu) começou com o PHP, uma das opções mais viáveis para servir projetos na Web sempre foi o Apache. Open source, prático e disponível em quase toda hospedagem de respeito (afinal, ele vem por padrão em quase toda distro Linux), há anos que ele faz a famosa tríade "AMP" (Apache, MySQL e PHP).

Acontece que com as demandas recentes que a internet tem exigido de algumas aplicações Web (como Twitter e Facebook), a necessidade por performance começou a ser uma grande premissa em determinados tipos de projetos. E é apoiado nesse cenário que o Nginx vem ganhando cada vez mais força no mercado. Afinal, não é a toa que ele é conhecido por “aguentar porrada”.

Virtualbox: Uma maneira interessante de possuir vários SOs em uma máquina só

Representação de virtualização Sabe quando você quer testar uma distribuição (ou SO) diferente mas não quer mexer diretamente no particionamento do seu HD? Ou quando você precisar propor uma máquina individual para serviços Web, mas não tem hardware sobrando para isto? Ou quando você precisa ficar movendo um ambiente completo entre máquinas ou locais? Ou ainda, quando você precisa disponibilizar um sandbox dentro do seu sistema em uso?

Virtualização pode ser a resposta para os seus problemas!