Técnico

Desenvolvimento com Amazon S3 local, FakeS3 + Docker.

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.

Screen Shot 2016-02-23 at 11.56.45 PM

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.

Screen Shot 2016-02-23 at 11.56.12 PM

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.

Screen Shot 2016-02-23 at 11.56.49 PM

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.

2 Comments

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Compartilhe isso: