Quando falamos de manter um ambiente de desenvolvimento homogêneo queremos dizer em outras palavras, “Manter um ambiente de desenvolvimento o mais próximo do de produção” para isso uma das melhores aplicações práticas de containers docker é poder construir infraestrutura de maneira rápida e fácil.
No desenvolvimento de um produto me deparei com o cenário de utilizar o serviço S3 (Simple Storage Service) juntamente com SDK da AmazonS3 , pensando em maneiras de reduzir o custo de desenvolvimento e também poder trabalhar localmente, sem perder todos os benefícios de se trabalhar no S3, encontrei a solução usando uma GEM feito em ruby que foi portada para um container docker chamada FakeS3.
A grande sacada está na habilidade de manipulação de network do docker, construindo bridges entre os containers.
Links funcionam como um bridge entre o container da aplicação e o container do proxy(fakes3ssl),Internamente quando um request for chamado apartir da URL yourbucket.s3.amazonaws.com será redirecionado para o container.
A sintaxe é basicamente container:aliascontainer, separados pelo caracter “:”.
O container ( fakes3sll ) é nada menos que um nginx proxy responsável por direcionar todos os requests para o container do FakeS3.
Lembrando que o FakeS3 é um aplicação feito em ruby que não reproduz todas as APIs da Amazon, porém na maioria dos casos é uma mão na roda para quem precisa dos serviços mais simplórios.
BONUS: -Dcom.amazonaws.sdk.disableCertChecking=true é necessário quando usado a SDK da AWS para ignorar erros sobre certificados inválidos.
Conhece o CEPH? Usamos aqui na S2IT.
Não conhecia André! Dei uma olhada aqui, parece ser bem legal, porém hoje é muito mais cômodo usar a AWS que ficar preocupado em deixar mais um sistema disponível.