Criando aplicação web para vários clientes em bancos separados com Laravel

É muito comum ao criar uma aplicação web que tenhamos a intenção de liberá-la como um serviço, ou seja, o cliente irá pagar um valor periódico (mensal, semestral, etc.) pelos serviços que o software disponibiliza e não pelo software em si, isso é comumente conhecido como SaaS (Software as a service). Porém, com isso vem o desafio de gerenciar e distribuir a aplicação para esses clientes.

Um conceito muito conhecido nessa situação é o Multi Tenancy (ou Multi Tenant), ou seja, a aplicação é alugada por vários clientes e cada cliente é um inquilino (tenant). Basicamente, há duas formas de aplicar o Multi Tenancy, com banco de dados compartilhado (Single Database) e com banco de dados separado (Multi Database), cada uma possui suas vantagens e desvantagens.

Neste artigo veremos como implementar a forma com banco de dados separado. Para isso, iremos criar uma aplicação com Laravel em que cada inquilino irá acessar a aplicação através de um subdomínio próprio e através desse subdomínio iremos fazer a conexão no banco de dados específico dele. Além disso, iremos criar comandos para facilitar a criação de um novo inquilino e também para atualizar a estrutura do banco de dados.

Animação 1 – Resultado final

Código fonte disponível em: https://github.com/rafaelcouto/criando-aplicacao-web-para-varios-clientes-em-bancos-separados-com-laravel

Utilizando múltiplas versões do PHP no Windows com Laragon

Quem trabalha com várias aplicações PHP ao mesmo tempo, sabe que muitas vezes a versão do PHP é diferente de uma aplicação para outra e que as vezes há problemas de compatibilidade entre uma versão e outra.

No Windows é muito comum utilizarmos o XAMPP ou WAMP para desenvolver localmente. Eles são ótimos caso você trabalhe com uma única versão do PHP, porém são muito “engessados”. Caso você precise de outra versão do Apache, MySQL e PHP, terá que instalar outra versão do programa.

Neste artigo, pretendo apresentar o Laragon, que tem uma proposta um pouco diferente do XAMPP e do WAMP. Com ele é possível escolhermos o que queremos instalar e trocar as versões sem muito esforço, além de vários recursos que facilitam nossa vida de desenvolvedor web.

Animação 1 – Troca de versão do PHP com Laragon

Configurar subdomínio HTTPS com Apache no Ubuntu

Muitas vezes você contrata um VPS (Virtual Private Server) e coloca uma aplicação lá para rodar. Pode ser que essa aplicação comece a crescer e você precisa criar novos módulos ou então decide adicionar novas aplicações, eis então que surge a necessidade da configuração de subdomínios.

Nesse artigo, vou descrever como foi minha experiência ao configurar um subdomínio HTTPS e veremos todos os passos para fazer a configuração. Todo o processo realizado neste artigo foi feito no Apache 2.4 rodando no Ubuntu 16.04.