Dockerizando aplicações – Concorrência

Standard

Seguindo a lista do modelo 12factor, temos “Concorrência” como oitava boa prática.

Durante o processo de desenvolvimento de uma aplicação é difícil imaginar o volume de requisição que ela terá no momento que for colocada em produção. Por outro lado, ter um serviço que suporte grandes volumes de uso é algo esperado nas soluções modernas, pois nada é mais frustante do que solicitar acesso a uma aplicação e ela não estar disponível. Demonstra falta de cuidado e de profissionalismo na maioria dos casos.

Quando uma aplicação é colocada em produção normalmente ela é dimensionada para uma determinada carga esperada, porém é importante que o serviço esteja pronto para escalar, ou seja, a solução deve ser capaz de iniciar novos processo da mesma aplicação caso necessário, sem que isso afete negativamente o produto. A figura abaixo apresenta um gráfico de escalabilidade de serviços.

Untitled Diagram (2)

Continue lendo

Dockerizando aplicações – Processos

Standard

Seguindo a lista do modelo 12factor, temos “Processos” como sexta boa prática.

Com advento da automatização, e uma devida inteligência na manutenção das aplicações, hoje é esperado que a sua aplicação possa atender a picos de demandas com inicialização automática de novos processos, sem que isso afete negativamente o comportamento da mesma.

download (1)

Continue lendo

Dockerizando aplicações – Construa, lance, execute

Standard

Seguindo a lista do modelo 12factor, temos “Construa, lance, execute” como quinta boa prática.

Em um processo de automatização de infraestrutura de implantação de software, precisamos ter alguns cuidados para que o comportamento do processo esteja dentro das expectativas e que erros humanos causem baixo impacto no processo completo do desenvolvimento ao lançamento em produção.

release

Continue lendo

Dockerizando aplicações – Dependências

Standard

Seguindo a lista do modelo 12factor, logo após o base de código que tratamos nesse artigo, agora temos “Dependência” como segunda boa prática.
Na maioria das vezes que buscamos portar uma aplicação para modelo de contêiner uns dos retornos esperados é a portabilidade, ou seja, a ideia que você possa construir sua aplicação apenas uma vez e ela executar sem problemas em qualquer infraestrutura.

download

Continue lendo

Dockerizando aplicações – Base de código

Standard

Estamos evoluindo continuamente para entregar aplicações cada vez melhores, em menor tempo, replicáveis e escaláveis. Porém os esforços e aprendizados para atingir esse nível de maturidade muitas vezes não são simples de se alcançar.

Atualmente notamos o surgimento de várias opções de plataformas para facilitar a implantação, configuração e escalabilidade das aplicações que desenvolvemos. Porém, para aumentar nosso grau de maturidade não podemos apenas depender da plataforma, precisamos construir nossa aplicação seguindo boas práticas.

Visando sugerir uma série de boas práticas comuns a aplicações web modernas, alguns desenvolvedores do Heroku escreveram o 12Factor app, baseado em uma larga experiência em desenvolvimento desse tipo de aplicação.

12factor (1)

Continue lendo

Lakademy 2016 – Starting to automate some servers on KDE

Standard

Lakademy is a great event that happens every year since 2014. It is a Latin American event, but normally it happens in Brasil (Let’s try to do that in another place in Latin American? Do you have a good one? Let us know).

It is the third time that I participate, but this time I can send some code to KDE repository. No I am not developing software! We started to automate some things in KDE-Sysadmin team.

Continue lendo

Como não apagar a sua empresa em um comando

Standard

Circulou pela internet nos últimos dias uma notícia sobre um empresário que supostamente “apagou” sua empresa com aproximadamente 1500 clientes com apenas um comando. Isso teria sido feito através de um comando de automatização de infraestrutura que ao invés de apagar alguns arquivos indesejados acabou deletando todo sistema, motivado por um erro na criação dos parâmetros de automação. Um pequeno deslize que pela notícia teria causado grandes danos, pois até mesmo o backup se encontrava no mesmo servidor.

Já temos a confirmação que se tratou de um boato, mas acho que podemos aproveitar todo interesse com relação a possível desgraça de um desavisado, e atentar que um código de automação de infraestrutura mal feito pode de fato causar grandes danos no seu ambiente.

Continue lendo