tiagobarreto

A Revolução da Computação em Nuvem

Introdução

tiagobarreto

Analista de Sistemas residente em Fortaleza com mais de 10 anos de experiência profissional na área de Tecnologia da Informação atuando em pesquisa & desenvolvimento, inovação e consultoria.




RECENTES

Descobrindo as features do Elixir e Phoenix 04th February, 2016

Vamos criar uma simples aplicação em Angular JS 11th May, 2014

Internet

A Revolução da Computação em Nuvem

26 de agosto de 2013.

Em 2013, o conceito de computação em nuvem já não era novidade, mas ainda estava se consolidando como uma ferramenta essencial para desenvolvedores e empresas. Uma das líderes nessa revolução tecnológica é a Amazon Web Services (AWS), que oferece uma ampla gama de serviços para simplificar a criação, a hospedagem e o gerenciamento de aplicações.

Neste artigo, exploraremos como a AWS pode ajudar desenvolvedores a economizar tempo, reduzir custos e escalar aplicações de maneira eficiente. Além disso, vamos demonstrar um exemplo prático de como criar e configurar uma aplicação simples utilizando o Amazon EC2 e o Amazon S3.

O que é computação em nuvem?

Computação em nuvem é o modelo que permite o acesso sob demanda a recursos de TI, como servidores, armazenamento e bancos de dados, por meio da internet. Em vez de investir em infraestrutura local, as empresas podem alugar esses serviços com base em suas necessidades, pagando apenas pelo que utilizam.

Por que a AWS?

A AWS oferece uma variedade de serviços confiáveis e escaláveis. Entre os mais populares estão:

  • Amazon EC2 (Elastic Compute Cloud): Para executar máquinas virtuais na nuvem.
  • Amazon S3 (Simple Storage Service): Para armazenamento de objetos, como imagens, vídeos e documentos.
  • Amazon RDS: Para gerenciamento de bancos de dados relacionais como MySQL e PostgreSQL.
  • Amazon Lambda: Para execução de código sem precisar gerenciar servidores (serverless).

Criando uma aplicação simples com Amazon EC2 e Amazon S3

Neste exemplo, criaremos uma aplicação básica que faz upload de arquivos para o S3 usando uma instância EC2.

Passo 1: Criar uma instância no Amazon EC2

  1. Acesse o console da AWS em https://aws.amazon.com/console/.
  2. Vá para EC2 e clique em “Launch Instance”.
  3. Escolha uma imagem de máquina (AMI), como “Amazon Linux 2”.
  4. Selecione o tipo de instância. Para este exemplo, recomendamos o tipo gratuito t2.micro.
  5. Configure o armazenamento e as permissões (garanta que a porta 22 para SSH esteja aberta).
  6. Lançe a instância e baixe a chave PEM para conexão.

Conecte-se à instância com o comando:

ssh -i "sua-chave.pem" ec2-user@<ENDEREÇO_IP_DA_INSTÂNCIA>

Passo 2: Configurar a aplicação no EC2

Instale o Node.js e o AWS CLI na instância EC2:

sudo yum update -y
sudo yum install -y nodejs npm
sudo yum install -y aws-cli

Faça login na AWS com o CLI:

aws configure
# Insira sua chave de acesso, chave secreta, região e saída padrão (ex: json)

Crie um diretório para o projeto:

mkdir app && cd app
npm init -y
npm install express aws-sdk multer

Crie o arquivo index.js com o seguinte conteúdo:

const express = require('express');
const AWS = require('aws-sdk');
const multer = require('multer');
const upload = multer({ dest: 'uploads/' });

const app = express();
const s3 = new AWS.S3();

app.post('/upload', upload.single('file'), (req, res) => {
  const fileContent = require('fs').readFileSync(req.file.path);
  const params = {
    Bucket: 'seu-bucket-s3',
    Key: req.file.originalname,
    Body: fileContent
  };

  s3.upload(params, (err, data) => {
    if (err) {
      return res.status(500).send(err);
    }
    res.status(200).send(`File uploaded successfully. ${data.Location}`);
  });
});

app.listen(3000, () => console.log('App running on port 3000'));

Inicie o servidor com:

node index.js

Passo 3: Configurar o Amazon S3

  1. Acesse o console da AWS e vá para o serviço S3.
  2. Crie um bucket com um nome exclusivo.
  3. Configure permissões para permitir upload público (apenas para teste; em produção, use políticas de segurança).

Teste o upload com uma ferramenta como o Postman ou CURL:

curl -X POST -F "file=@caminho/do/arquivo" http://<ENDEREÇO_IP>:3000/upload

Conclusão

A AWS simplifica o desenvolvimento de aplicações ao oferecer ferramentas poderosas e flexíveis para desenvolvedores. Neste exemplo, usamos o Amazon EC2 para hospedar uma aplicação Node.js e o Amazon S3 para armazenar arquivos de maneira escalável. Essa combinação já era um padrão de mercado em 2013 e continua sendo uma das soluções mais populares.

Se você quer escalar seu projeto sem se preocupar com infraestrutura, a AWS é a solução ideal. Comece hoje mesmo explorando os serviços gratuitos disponíveis no console da AWS!

Gostou deste artigo? Deixe sua opinião nos comentários e compartilhe com outros desenvolvedores! Vamos continuar explorando o futuro da tecnologia juntos!

comments powered by Disqus