terça-feira, 16 de dezembro de 2014

Trabalhando nas nuvens, integrando o SDK da AWS para S3 com PHP

Olá pessoal. Nesse artigo vamos mostrar algo que anda sendo bem utilizado no dia a dia dos desenvolvedores em geral, que é a integração com a nuvem. Nesse caso em específico com os percusores dela a toda poderosa Amazon.
Legal, mas ai você pergunta o que é o S3?
Aqui vai uma pequena descrição:
"O Amazon S3 é o armazenamento para a internet. Ele foi projetado para facilitar a computação de escala na web para os desenvolvedores.
O Amazon S3 fornece uma interface simples de serviços da web que pode ser usada para armazenar e recuperar qualquer quantidade de dados, a qualquer momento e de qualquer lugar na web. Ele concede acesso a todos os desenvolvedores para a mesma infraestrutura altamente escalável, confiável, segura, rápida e econômica que a Amazon utiliza para executar sua própria rede global de sites da web. O serviço visa maximizar os benefícios de escala e poder passar esses benefícios para os desenvolvedores." (http://aws.amazon.com/pt/s3/)
Pois bem, por onde eu começo a fazer a integração?
A Amazon desenvolveu um SDK PHP para todos os serviços da AWS sendo assim, vamos utilizar esse client para desenvolver nossa integração.
Talvez você esteja dizendo nesse momento "Vai ser díficil integrar esse SDK no meu framework, será que não existe um client da S3 feito por ele?". Bem minha resposta sobre isso é que existe sim, no meu caso eu fui fazer a integração em um sistema legado que foi feito em Zend Framework 1.12 e então pensei em utilizar o client desse framework "Full Stack", e o que eu conclui depois de 1 dia integrando é que eu NÃO devo utilizar esse client extremamente descontinuado e com vários metódos não implementados. A verdade é que a Zend reconheceu quando lançou o ZF2 que não são eles que devem fornecer esse client, pessoas especializadas nisso já vão fazer, deixa o pessoal focado em Amazon cuidar disso, e tem mais, com o composer tudo fica mais fácil então relaxa :).
"Pow, mas composer no ZF1? Por que não? Basta adicionar a vendor no autoload e toca o barco".

Claro que a proposta desse artigo não é falar sobre arquitetura de sistema pq se fosse eu provavelmente não utilizaria o meu legado e partiria para outra abordagem. Mas a questão aqui é que eu precisava em pouco tempo alterar a implementação nesse sistema legado, que utilizava as funções de file do php e fazia a persistencia dos arquivos em uns diretorios no mesmo servidor da aplicação (DEUSSS PERDOE QUEM NÃO IMPLEMENTOU UMA APLICAÇÃO FLEXIVEL O BASTANTE, NÃO CONHECIAMOS AS NUVENS).

Pois bem então a primeira abordagem no meu caso foi colocar o composer no ZF1 e isso foi algo bem simples, em 2 minutinhos eu ja tinha tudo funcionando com o SDK prontinho para meu framework utilizar.


continua...

Nenhum comentário:

Postar um comentário