Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Amazon Web Services

Building a Media Sharing Website - Part 1: Media Upload (Portuguese)

Amazon Web Services and Amazon via AWS Skill Builder

Overview

Visão geral do laboratório

Neste laboratório, você aprenderá a implantar um site de compartilhamento de fotos usando o Amazon Simple Storage Service (Amazon S3) para armazenamento, o Amazon DynamoDB para o banco de dados e o Amazon Elastic Compute Cloud (Amazon EC2) para hospedar o aplicativo web.

Neste laboratório, você criará a arquitetura básica do sistema, fornecendo recursos básicos como navegação e upload de conteúdo. Para este laboratório, o conteúdo de mídia será limitado a imagens, mas os conceitos abordados aqui também se aplicam a outros tipos de mídia, como documentos (PDF, RTF, apresentações etc.), música, vídeos etc. O sistema também fornecerá uma interface da web para os usuários navegarem e armazenarem imagens.

Objetivos

Ao final do laboratório, você conseguirá:

  • Criar um bucket do Amazon S3 para armazenar seus arquivos de mídia
  • Criar uma tabela do DynamoDB para armazenar seus metadados de arquivos de mídia
  • Iniciar uma nova instância do EC2 para executar seu servidor da web
  • Testar a implantação

Pré-requisitos do laboratório

Para concluir este laboratório com êxito, é necessário estar familiarizado com a navegação básica do Console de gerenciamento da AWS e estar confortável com a edição de scripts usando um editor de texto.

Duração

Este laboratório levará aproximadamente 60 minutos para ser concluído.

Lista de ícones

Vários ícones são usados neste laboratório para chamar a atenção para diferentes tipos de instruções e observações. A lista a seguir explica a finalidade de cada ícone:

  • Note (Observação): uma sugestão, dica ou orientação importante

Visão geral da solução

Armazenamento de mídia

As imagens poderiam ser armazenadas em volumes do Amazon Elastic Block Store, mas você precisaria provisionar a capacidade com antecedência e gerenciar a operação de aumento vertical dessa camada de armazenamento adicionando volumes. Além disso, esses volumes precisam ser anexados a uma instância do EC2 para prover o conteúdo via HTTP. Isso cria um único ponto de falha no sistema se os dados não forem replicados e entregues por outra instância.

O uso do Amazon S3 como repositório de armazenamento para arquivos de mídia é uma melhor abordagem. O Amazon S3 oferece alta durabilidade de dados e a capacidade de entregar conteúdo via HTTP. Não há limite para o número de objetos que podem ser armazenados em um bucket do Amazon S3 e nenhuma variação no desempenho, quer você use muitos buckets ou apenas alguns. Você pode armazenar todos os objetos em um único bucket ou organizá-los em vários buckets.

Neste laboratório, você criará a seguinte solução:

Quando o usuário faz upload de uma imagem, o servido Web a recebe e cria uma miniatura. Em seguida, ele faz o upload da imagem e da miniatura no bucket do S3 e insere os metadados da imagem na tabela do DynamoDB.

Embora o Amazon S3 e o DynamoDB sejam sistemas dimensionáveis e tolerantes a falhas, seu servidor web em execução em uma única instância do EC2 é claramente um único ponto de falha (se o aplicativo web falhar, o sistema não estará acessível e não poderá ser recuperado) e um gargalo (com uma carga importante de solicitações de entrada, o sistema pode até ficar indisponível).

Esta é uma introdução breve de cada um dos serviços usados no cenário de laboratório.

Observação: se tiver familiaridade com esses serviços da AWS, você poderá pular a apresentação dos serviços e ir diretamente para a seção Iniciar laboratório.

Amazon EC2

O Amazon Elastic Compute Cloud (Amazon EC2) é um serviço da web que fornece capacidade computacional redimensionável na nuvem. Ele foi projetado para facilitar a computação na escala da web para os desenvolvedores. A interface de serviço da Web simples do Amazon EC2 permite que você obtenha e configure capacidade com o mínimo de esforço. Ela oferece um controle completo de seus recursos de computação e permite a execução no ambiente de computação comprovado da Amazon. O Amazon EC2 reduz o tempo necessário para obter e inicializar novas instâncias do servidor em minutos, permitindo que o rápido escalonamento da capacidade para mais ou para menos, de acordo com a evolução dos requisitos de computação. O Amazon EC2 altera a economia da computação, permitindo que você pague somente pela capacidade que realmente utiliza.

O Amazon EC2 permite que você aumente ou diminua a capacidade em minutos, não horas ou dias. É possível contratar simultaneamente uma, centenas ou até milhares de instâncias de servidor. Naturalmente, como tudo é controlado com as APIs de serviços da Web, o aplicativo pode se dimensionar verticalmente de maneira automática, dependendo das suas necessidades.

Você tem controle total sobre suas instâncias. Você tem acesso à raiz de cada uma e pode interagir com elas como faria com qualquer máquina. Você pode interromper sua instância, mantendo os dados em sua partição de inicialização, e posteriormente reiniciá-la usando as APIs de serviços da Web. As instâncias podem ser reiniciadas remotamente usando as APIs de serviços da Web. Você também tem acesso ao console de saída de suas instâncias.

Você pode escolher vários tipos de instâncias, sistemas operacionais e pacotes de software. O Amazon EC2 permite que você selecione uma configuração de memória, CPU, armazenamento em instâncias e tamanho da partição de inicialização que seja ideal para a sua opção de sistema operacional e aplicativo. Por exemplo, sua escolha de sistemas operacionais inclui várias distribuições de Linux e Microsoft Windows Server.

Para obter mais informações sobre o Amazon EC2, consulte: https://aws.amazon.com/ec2/

DynamoDB

O DynamoDB é um serviço de banco de dados NoSQL rápido e totalmente gerenciado que permite armazenar e recuperar qualquer quantidade de dados e atender a qualquer nível de tráfego de solicitações com facilidade e economia. A sua taxa de transferência garantida e latência inferior a 10 milissegundos o tornam uma ótima opção para jogos, tecnologia de anúncios, mobilidade e diversas outros aplicativos.

O DynamoDB oferece scaling transparente de taxa de transferência e armazenamento e um console de gerenciamento fácil de usar, permitindo o dimensionamento vertical facilmente, de acordo com a necessidade. A maioria de nossos clientes criaram implementações de DynamoDB com um clique de botão e em apenas alguns minutos para atender a trilhões de solicitações de bancos de dados por ano.

As tabelas do DynamoDB não têm esquemas fixos e cada item pode ter um número diferente de atributos. Os diversos tipos de dados aumentam os recursos do modelo de dados. Índices secundários adicionam flexibilidade às consultas executadas sem afetar o desempenho.

Desempenho, confiabilidade e segurança são integrado, com armazenamento em SSDs e replicação em três vias. O Amazon DynamoDB usa métodos de criptografia comprovados para autenticar usuários com segurança e evitar o acesso não autorizado aos dados.

Para obter mais informações sobre o Amazon DynamoDB, consulte: https://aws.amazon.com/dynamodb/

Amazon S3

O Amazon S3 é o armazenamento para a Internet. Ele foi projetado para facilitar a computação na escala da 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 a todos os desenvolvedores acesso à mesma infraestrutura altamente escalonável, confiável, segura, rápida e econômica que a Amazon utiliza para executar sua própria rede global de sites. O serviço visa a maximizar os benefícios do dimensionamento e repassar esses benefícios para os desenvolvedores.

O Amazon S3 baseia-se na ideia de que armazenamento de qualidade baseado em Internet deve ser fácil. Ele ajuda a libertar os desenvolvedores da preocupação de como armazenar os dados, se eles estão seguros ou se têm espaço de armazenamento suficiente disponível. Os liberta também dos custos iniciais da criação de sua própria solução de armazenamento, bem como dos custos contínuos de manutenção e scaling de seus servidores correspondentes. A funcionalidade do Amazon S3 é simples e robusta: armazene qualquer volume de dados de modo econômico e seguro, garantindo que eles estarão disponíveis sempre que você precisar deles. O Amazon S3 permite que os desenvolvedores se concentrem na inovação de dados, em vez de se preocupar em como armazená-los.

Para obter mais informações sobre o Amazon S3, consulte: http://aws.amazon.com/s3/

Reviews

Start your review of Building a Media Sharing Website - Part 1: Media Upload (Portuguese)

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.