S3cmd: Ferramenta Amazon S3 por linha de comando

 

 

 

Para aumentar sua produtividade no uso do Amazon S3, eu recomendo o S3cmd. O S3cmd é uma ferramenta que funciona por linha de comando e permite que você visualize o conteúdo do seu S3, crie buckets, faça upload de arquivos e diretórios usando apenas o seu terminal. Esta é a grande vantagem desta ferramenta. Você pode subir estruturas completas de diretórios (coisa que o AWS Console não te permite). Esta ferramenta é um projeto open source sob a GNU Public License v2(GPLv2).

O sistema operacional utilizado neste tutorial é o Debian 6.0 .

Vamos começar fazendo o download da ferramenta no site do S3cmd.

Rode o comando s3cmd –configure para configurar o acesso à sua conta Amazon. Alguns dados serão solicitados. Os mais importantes são a Acess Key e Secret Key. Ambas chaves podem ser encontradas na sua página inicial de acesso aos serviços AWS, é só clicar em Security Credentials. Você também poderá informar a sua senha para criptografia de dados e o seu proxy HTTP.

Agora é só usar. Alguns comandos básicos:

$ s3cmd ls : Lista todos os buckets do seu repositório S3;

$ s3cmd mb s3://my-bucket : Cria um novo bucket(eu recomendo o AWS Console para fazer isso);

$ s3cmd put myfile.txt s3://my-bucket/file.txt : Escreve conteúdo de myfile.txt em file.txt que deverá estar dentro do my-bucket(eu recomendo o AWS Console para fazer isso);

s3cmd put –recursive mydir1 s3://my-bucket/mydir/ : Escreve o conteúdo de mydir1 dentro de mydir. Você não precisa criar mydir previamente dentro do seu bucket. Este comando imprime um log como o mostrado abaixo conforme os arquivos vão sendo enviados.
File ‘dir1/file1-1.txt’ stored as ‘s3://my-bucket/mydir/dir1/file1-1.txt’
File ‘dir1/file2-1.txt’ stored as ‘s3://my-bucket/mydir/dir1/file2-1.txt’
File ‘dir1/file3-1.txt’ stored as ‘s3://my-bucket/mydir/dir1/file3-1.txt’

O S3cmd não se resume em 4 comandos. Há mais comandos disponíveis. Mais informações podem ser encontradas no site oficial.

Quem é o culpado?


Já tem mais de 3 semanas que o serviço de cloud computing da Amazon passou por problemas e ainda vejo pessoas reclamando, e afirmando que este tipo de serviço não é confiável, isso me irrita um pouco pois estas pessoas ainda não entenderam que parte da culpa por terem ficado “fora do ar” é delas.

O conceito de cloud computing parte do principio que a redundância deixa de ser provida pelo hardware (que passa a ser commodity justamente para proporcionar o menor custo) e passa a ser responsabilidade do seu software e das suas aplicações.

Não podemos tratar um servidor na nuvem como se fosse mais um servidor num datacenter tradicional e infelizmente é isso a maioria das pessoas faz, muitas vezes até de forma inconsciente.

Se formos fazer uma analogia é como pular de paraquedas, ninguem em sã consciência pega um avião e depois de estar a 5.000 metros de altitude pula sem ter passado por um treinamento prévio, sem entender as consequências do que pode acontecer se algo der errado e principalmente sem ter um plano B no caso de um problema com o para quedas principal.

Em resumo, não migre seus serviços para uma estrutura de nuvem publica se não entender a consequência do que está fazendo, e principalmente sem estar preparado para uma pane no seu provedor de serviços, pois por mais que ele te ofereça SLA de 99.999999% , um dia ele vai falhar.

Pane na AWS Amazon deixa o Busk fora do ar !


Hoje o mundo ficou um pouco mais offline, os servidores da Amazon  que hospeda grandes sites e serviços como o Busk.com , HootSuite,Foursquare e Reddit  “caiu” e deixou-os na mão.
Foram três os serviços afetados pelo problema, o Amazon Elastic Compute Cloud, o Amazon Elastic Beanstalk e o Amazon Relational Database Service, podemos ver na página de status dos servidores que grande parte do problema foi solucionado, mas até o momento o ambiente do Busk.com não foi restaurado, todo o time de desenvolvimento e infra-estrutura do Busk aguarda o restabelecimento por parte da Amazon para colocar o site novamente no ar.

O último status que temos é que os problemas com o serviço Amazon Elastic Compute Cloud  da Região (N. Virginia) contínuam e impendente qualquer trabalho do time de desenvolvimento e infra-estrutura do Busk.

Status oficial da Amazon :  http://status.aws.amazon.com

Infelizmente nem sempre o cloud computing funciona…

Amazon Web Services – Um ecossistema para quem quer flexibilidade

A Elastic Compute Cloud (EC2) é a principal oferta da Amazon Web Services e foi uma das primeiras plataformas de computação em nuvem e ainda é uma das mais populares. Ela é baseada em instâncias que são servidores virtuais dedicados prontos para ser customizado e se ajustar a suas necessidades.
Para começar a trabalhar com a EC2, é necessário ter uma Amazon Machine Instance (AMI). Uma AMI é uma imagem de máquina (como uma ISO de DVDs), com sistema operacional, aplicativos, etc. Há muitas AMIs comuns disponíveis a partir da Amazon e da comunidade EC2. Elas podem usar tanto Windows quanto Linux, e os mais diversos conjuntos de software livre, como o Apache, MySQL e quaisquer linguagens que escolha usar. Caso não encontre uma AMI que atenda suas necessidades, a Amazon fornece ferramentas para criar sua própria AMI, que pode ser privada ou compartilhada com a comunidade.

Uma AMI pode ser implementada em “instâncias” de diversos tamanhos. Hoje, uma “Small Instance” (o menor e mais barato modelo de máquina da Amazon)  possui único núcleo de aprox 1 GHz (1 ECU) , 32 bits e 1,7 GB de memória e 160 GB de espaço em disco. Na outra extremidade do espectro está uma instância extra grande com quatro núcleos em execução a 2 GHz (2 ECU) cada, 64 bits, 15 GB de memória e 1,6 TB de espaço em disco.

Existem vários tipos de instâncias, sendo algumas com memória, outras com mais CPU, cada uma indicada para um tipo de trabalho computacional.

Toda administração e controle das instância pode ser feito tanto manualmente através de SSH ou outras ferramentas, como num servidor dedicado tradicional, como também através das API’s da Amazon EC2. Existem hoje inúmeras ferramentas para facilitar o gerenciamento de instâncias EC2. Por exemplo, há uma extensão do Firefox chamada Elasticfox que pode ser usada para gerenciar e ativar AMIs diretamente a partir do Firefox.

A vantagem da flexibilidade da EC2 é que pode-se escolher entre diversas distros do Linux e também pode-se utilizar diferentes versões do Windows como operacional para AMIs. Qualquer linguagem de programação roda por lá: Java , PHP, Python, Ruby, etc. A Flexibilidade da Amazon WS permitiu que plataformas de cloud computing mais especializadas como Heroku e EngineYard fossem construídas usando sua infra estrutura.

Além do Ec2, a Amazon também possui uma ampla gama de serviços complementares, como o banco de dados Amazon SimpleDB,  serviços de armazenamento como o S3 e o EBS e muitos outros. Em breve abordaremos os outros serviços complementares que compõem o ecossistema da Amazon Web Services.

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.