Renan messa todescan
OPANehtech
Published in
3 min readMay 30, 2023

--

Como subir sua aplicação na nuvem!

Hoje iremos falar sobre como fazer a sua aplicação, aquela sua aplicação que está guardada há muito tempo, só aguardando o projeto dos sonhos para rodar na nuvem da AWS, e vocês irão ver no decorrer deste post que não é nada complicado, as nuvens publicas estão cada vez mais simplificando a vida do desenvolvedor subindo serviços que fazem integrações entre serviços que são mais simplificadas e mais efetivas.

Primeiramente, vamos desmitificar um ponto que eu acho superimportante. Para rodar a sua aplicação não é necessário ter uma super infraestrutura por traz, hoje em dia, com a crescente escalada das nuvens, as máquinas virtuais ficaram bem mais acessíveis, tendo várias classes, tipos e propósitos diferentes, se adequando ao seu workload. Abaixo um exemplo de alguns tipos de máquinas e seus propósitos na nuvem AWS.

Outro ponto é definir o(s) tipo(s) de banco de dados que a sua aplicação irá utilizar. Há diversos tipos de bancos, sendo os principais relacional e não relacional, então qual deles escolher? Tudo isso irá depender do tipo de dados que sua aplicação irá armazenar. Se sua aplicação irá guardar dados estruturais, ou seja, dado de clientes, como CPF, endereço, nome, entre outros, é importante utilizar um banco relacional como MySQL, SQL server, PostgreSQL e Oracle. Já se os seus dados armazenados forem não relacionais, como por exemplo, header, JSON, dados gráficos, é necessário utilizar um banco não relacional, como o Cassandra, DynamoDB e, o mais famoso e queridinho das organizações, o MongoDB. Abaixo alguns links que podem ajudar nesta escolha:

https://aws.amazon.com/pt/products/databases/

https://aws.amazon.com/pt/nosql/

Após escolher o tipo de máquina virtual e o tipo de banco de dados que será utilizado na sua aplicação, indico definir o método de rede que você irá utilizar na aplicação.

Primeiro é preciso definir os limites da sua aplicação, o que irá ou não ficar na internet privada e na internet pública. Por exemplo, você não irá querer que o seu banco de dados fique disponível para consultas ou que algum outro ponto do backend seja visível por todos.

Fiz um desenho de uma arquitetura “padrão” que cabe para uma aplicação simples:

Onde temos, o usuário externo acessa a aplicação via um CDN (CloudFront) com um firewall na frente (WAF e Shield) os servidores de aplicação estão balanceados por load balancers inclusive o banco de dados também está balanceado, para que os dados armazenados sejam enviados para o banco correto.

Os pontos mencionados acima são os que identifico como os principais para que uma aplicação simples ou mais complexa possa operar na nuvem AWS de forma segura, resiliente e escalável.

Espero que esse post possa ter ajuda a todos vocês a desmistificar a nuvem e tornar a ida para ela mais simples e prática.

--

--