Primeiras aulas do curso Amazon S3: Manipule e armazene objetos na nuvem

Amazon S3: Manipule e armazene objetos na nuvem

Conceitos Iniciais - Introdução

Seja bem-vindo ao curso de AWS S3: Manipule e armazene objetos na nuvem. O S3 é um web store muito versátil, famoso e bastante utilizado no mercado.

Como vantagens temos o fato dele ser escalável, ou seja, não precisamos nos preocupar com as questões de infraestrutura caso o uso ultrapasse os limites comuns. E por não termos que nos preocupar com esse tipo de problema, ele acaba sendo também econômico.

Ele também é acessível via API, disponibilizando vários SDKs para cada plataforma, inclusive via linha de comandos. É confiável, visto que há redundância do que é armazenado lá em vários servidores, e rápido, já que o tempo de latência é bem pequeno.

Esperamos que você aproveite bem este curso e consiga utilizar os serviços do S3 de forma útil em seus projetos.

Conceitos Iniciais - Apresentação do curso

Começaremos com alguns conceitos mais leves sobre essa ferramenta tão importante e solicitada em nossa plataforma de ensino.

Primeiramente, o Amazon S3 é um web store, um serviço de armazenamento na web. Isso significa que não armazenamos um arquivo em um hardware próprio, e assim não precisamos lidar tanto com gerenciamento e preocupação. É justamente por isso que tantas pessoas procuram por serviços web store que, de maneira geral, possuem alta escalabilidade.

O Amazon S3 roda na nuvem, portanto não precisamos nos preocupar com o tamanho dos dados que queremos guardar, sendo possível selecionarmos regiões e implementarmos diversas funcionalidades. Além disso, é muito mais econômico do que manter nossos dados conosco, pois ele fornece um serviço vantajoso financeiramente.

Ao longo do curso iremos analisar algumas classes de armazenamento da Amazon, em que há precificações diferentes, preços reduzidos caso não tenhamos acesso a um determinado tipo de dado que estamos querendo armazenar, e por aí vai.

Com o web store, no nosso caso o S3, temos como vantagem o acesso via API, isto é, podemos enviar dados (upload e download) via código - seja em Java, Ruby, Python. Existe um SDK que podemos baixar e rodar na nossa linguagem de preferência para fazer todo acesso programático aos dados que quisermos salvar. Isso é interessante, uma vez que o usaremos em ambientes web, plataformas móveis e afins.

Mais uma vantagem desse tipo de serviço é a rapidez, como as regras de região: dependendo da região do usuário, pode-se colocar um dado mais próximo a ele, já que a Amazon está espalhada pelo mundo inteiro. Temos também a questão de cache dos dados, o que torna o serviço ainda mais rápido.

Para trabalhar com o Amazon S3, acessamos o seu site oficial, que contém documentação, API, conceitos básicos, blog, melhorias, performance com S3, entre outros.

No site, na página do S3, percebemos que existem detalhes explicando o que é o serviço, até mesmo detalhes de preço por GB:

Analisaremos estas classes de precificação mais adiante e entenderemos o porquê de cada uma delas.

Tem também uma página de Conceitos Básicos, com uma ideia geral do serviço. Faremos um pouco do que essa página nos recomenda, e se quisermos buscar algo além do que foi visto no curso, encontraremos tudo o que precisarmos na página do Amazon S3.

Conceitos Iniciais - Primeiro upload

Agora que conhecemos um pouco do que é um serviço web store e temos uma introdução ao S3, vamos acessar este serviço pela própria página da AWS e, no menu superior à direita, em "My Account", existem algumas opções para configurar a nossa conta, como pagamentos, credenciais, entre outros. Vamos clicar no "AWS Management Console", o console de gerenciamento, que é a primeira opção.

Trata-se do mesmo passo tanto para quem tem quanto para quem não tem uma conta no AWS. Para novos usuários, basta escolher a opção "Criar uma nova conta da AWS" e realizar o cadastro.

Seremos encaminhados para o Dashboard do AWS. Lembrando que o AWS possui outros serviços além do S3, como o EC2 por exemplo, para montarmos a nossa infraestrutura, ferramentas de desenvolvimento, análise, mensageria e claro, a parte de Storage, que é o foco deste curso.

Storage possui quatro opções, das quais falaremos bastante do S3 e do Glacier. E falaremos um pouco também sobre o que é o EFS e Store Gateway.

serviços aws incluindo o s3

Conceito de bucket

Acessando a opção do S3, primeiramente é importante sabermos que ele é dividido em buckets ("baldes", em português), com toda a organização do S3, pois todos os nossos dados ficarão dentro de buckets, e através deles podemos fazer as categorizações que quisermos, por namespaces, projetos, enfim. Ou seja, a nossa ideia é separar os nossos dados em buckets, que nada mais é do que uma agregação.

Criando um bucket

Para criar um bucket, clicamos no botão "Create bucket", e começaremos criando o nome do nosso bucket. É importante ficarmos atentos a isso, pois o balde possui algumas regras, e a primeira delas é que ele tenha um nome único. Isto significa que não podemos nomear um bucket com um nome pré-existente, e isso vale para o mundo inteiro, não apenas para a nossa conta.

Além disso, existem outras regras, como o nome de um bucket não poder ter menos de 3 letras, nem ultrapassar 63 caracteres, ou usar letra maiúscula. Para separar as palavras, podemos usar ponto ou hífen. Todas as validações serão mostradas durante o seu cadastramento.

A segunda configuração que temos que fazer durante a criação de um bucket é informar a sua região, sua localização geográfica, optando sempre pela opção mais próxima a nós ou aos nossos usuários, para que não haja problemas de latência. Depois, há a opção de utilizarmos as configurações de um bucket pré-existente. No entanto, partiremos do princípio de que ainda não possuímos nenhum, então vamos deixar esse campo em branco.

formulário de cadastro do balde

Visto isso, podemos partir para próxima etapa, clicando em "Next". Nessa etapa, configuramos as propriedades do bucket, dentre as quais as em relação ao versionamento, isto é, quando fazemos um upload de um recurso para o bucket, ele irá guardar o histórico do que tínhamos anteriormente. Da mesma maneira existe um serviço para Logging que nos fornece um relatório da atividade do nosso bucket. E a terceira opção é a parte de Tags, que serve para categorizar objetos do nosso balde. Mas, por ora, deixaremos tudo inativo.

opções para versionamento, logging e tags

Clicando em "Next", entramos na parte de permissões, que veremos mais à frente. No momento, só o dono do bucket tem acesso a ele, mas nessa tela já poderíamos liberar acesso para algumas pessoas. Depois de criado, podemos alterar essas configurações a qualquer momento, sendo que a única coisa que não dá pra alterar em um bucket após sua criação é o nome.

configurações de permissão

E para finalizar, na quarta e última etapa, há um resumo do que preenchemos. Então, clicaremos "Create Bucket" para finalizar a criação.

revisão da criação do bucket

Em seguida aparecerá a listagem dos buckets, que são uma agregação de recursos, a maneira como guardamos dados no S3. Uma boa prática é organizar seus dados em baldes de acordo com os projetos a serem trabalhados. Vale ressaltar que ele não é uma pasta, e sim uma unidade de agregação.

Fazendo o upload de um arquivo

Ao abrirmos o bucket, imediatamente somos avisados de que ele está vazio e perguntados se queremos fazer o upload de algum objeto ou recurso que queiramos guardar. Primeiro, salvaremos um arquivo simples clicando em "Upload" e em seguida em "Add Files", para escolhermos o(s) arquivo(s) que desejamos salvar.

Ao selecionarmos o(s) arquivo(s) e clicarmos em "Next", mais uma vez aparecem configurações de permissões que indicam quem tem acesso de leitura e escrita ao objeto.

Por enquanto, quem pode ler é apenas o proprietário do arquivo, mas podemos alterar as permissões de grupo para, por exemplo, todos (o que tornaria o arquivo público) ou somente usuários autenticados no AWS. Mas como já falamos anteriormente, por enquanto não iremos mexer nisso e deixaremos as permissões como estão.

configurações de permissões do objeto

Novamente clicamos em "Next", e então aparecem algumas propriedades sobre esse objeto que estamos fazendo o upload. A primeira delas é sobre a classe de armazenamento que iremos utilizar, e é importante já sabermos que existem classes que servem para categorizar determinados recursos. Então, dependendo da classe utilizada, podemos ter um custo menor.

Mas se o custo é reduzido, estaremos perdendo algo, por exemplo, se usarmos arquivos pouco acessados, o ideal é que trabalhemos com a classe do tipo "Glacier", que veremos melhor mais adiante. As classes de armazenamento estão relacionadas à disponibilidade do objeto. Mas, novamente, deixaremos a propriedade padrão.

A outra configuração é sobre se queremos criptografar esse objeto ou não, e no nosso caso, não faremos nada. Por fim, existe uma configuração de Metadata, para colocarmos o tipo do arquivo e demais informações, que deixaremos em branco.

detalhes de criptografia, metadata e classes

Clicando mais uma vez em "Next", aparecerá um resumo das configurações do arquivo, tais como tamanho, propriedades e afins:

detalhes do objeto para upload

Feito isso clicaremos em "Upload", e pronto! Fizemos o upload do arquivo no bucket. Relembrando que o S3 não é como um Google Drive ou Dropbox, por exemplo. Falamos anteriormente que o S3 é muito mais do que isso, e permite acesso via API, com vários recursos interessantes utilizáveis a nível de projeto.

Então, digamos que queremos usar o arquivo .png que subimos para uma página nossa, ou seja, isso será um recurso de um HTML nosso. Vamos analisar isso daqui a pouco, mas clicando no arquivo temos uma noção do que ele representa; são mostradas algumas informações e também um link para acessarmos o arquivo.

Ao clicarmos no botão "Open", veremos o arquivo salvo em uma nova aba do navegador. Então, copiaremos essa URL que aparece na barra de endereços do navegador e a colocaremos na nossa página, certo? Bom, para testar, podemos abrir um editor de texto e criar o arquivo index.html, salvando-o no Desktop. Esse arquivo será uma página HTML bem simples:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Alura S3</title>
</head>
<body>

</body>
</html>

E no corpo da página colocamos um texto qualquer, mais a tag img com o link da imagem do S3:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Alura S3</title>
</head>
<body>
    Lorem ipsum dolor sit amet, consectetur adipisicing elit. Vel alias ex libero praesentium natus eaque incidunt eius voluptatibus, officia. Dolor est quos ex minus eos aut, nobis illo pariatur dolores eveniet vitae. Maiores consectetur laudantium cumque, ex quas, tenetur soluta similique voluptatum enim, unde architecto beatae reprehenderit ullam placeat! Laboriosam officia a perspiciatis aut, vitae repellendus vel officiis ipsum mollitia et nobis illo quae quos, pariatur omnis facilis accusamus minus veniam ipsa, iste assumenda quidem. Deserunt, rem, officia! Enim et eaque eos sed, hic, at temporibus quae tempore, quam minima delectus, quidem blanditiis magnam inventore consequatur fuga minus eligendi. Commodi.

    <img src="COLE O LINK AQUI" alt="Bucket with Objects">

</body></html>

Salvando a página e abrindo-a no navegador, a imagem aparecerá:

imagem aparece na página

Em 5 minutos acontecerá uma “mágica”...

Sobre o curso Amazon S3: Manipule e armazene objetos na nuvem

O curso Amazon S3: Manipule e armazene objetos na nuvem possui 158 minutos de vídeos, em um total de 51 atividades. Gostou? Conheça nossos outros cursos de Cloud em Infraestrutura, ou leia nossos artigos de Infraestrutura.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda Cloud acessando integralmente esse e outros cursos, comece hoje!

  • 1122 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

Premium

  • 1122 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$75
à vista R$900
Matricule-se

Premium Plus

  • 1122 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$100
à vista R$1.200
Matricule-se

Max

  • 1122 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$120
à vista R$1.440
Matricule-se
Procurando planos para empresas?
Acesso por 1 ano
Estude 24h/dia onde e quando quiser
Novos cursos toda semana