Hospedagem AWS do SPA Web App

Sep 17 2020

Recentemente, comecei a considerar o uso da AWS para meus SPA Web Apps. E eu li muito sobre os diferentes tipos de como os aplicativos da web podem ser hospedados na AWS. Eu pesquisei sobre Lambda, hospedagem S3 Static. EC2. Mas não consigo descobrir como explorar a AWS e os serviços de TI da melhor maneira possível.

Meu aplicativo da Web consiste em um front-end escrito em Vue js. Que usa uma API Backend escrita em Laravel. O front-end e o back-end são isolados, portanto, não precisam ser colocados na mesma máquina. Acho que isso pode trazer boas oportunidades para usar os diferentes produtos da AWS? O banco de dados está conectado apenas à API de back-end, portanto, o front-end é estático. Também tenho a mente aberta para mudar para outro tipo de banco de dados, se isso se encaixar melhor no ambiente da AWS. Mas não sei se devo separar o Frontend e a API em serviços diferentes.

Desde já, obrigado!

Respostas

1 DannySchoemann Sep 22 2020 at 21:10

A resposta da AWS seria usar os serviços apropriados para cada componente.

Por exemplo, coloque o banco de dados em um RDS - eles têm várias opções. Implante o front-end usando Fargate e Lambda.

Existem 2 questões a considerar:

1. A curva de aprendizado.

Obter velocidade com a tecnologia AWS - e acompanhá-los enquanto eles fazem pequenos ajustes que interrompem as implementações lentas - pode ficar muito caro, em termos de tempo.

OTOH, uma vez que você é um especialista nessas tecnologias, você pode aproveitá-las com resultados surpreendentes.

2. Os custos:

Durante o desenvolvimento, você usará principalmente o nível gratuito e os custos serão mínimos.

Depois de passar para a produção, você precisa começar a usar máquinas "reais" e, mesmo que não o faça, a maioria dos serviços tem uma validade para seu nível gratuito: 12 meses e / ou uma certa quantidade de uso.

Nesse ponto, os custos começam a aumentar. de pequenas alterações para números de 3 ou até 4 dígitos para uma pequena instalação.


A outra abordagem é fazer da maneira que você faria sem AWS.

Você não me deu muitos detalhes, mas se estiver implantando algo simples, você pode querer ativar uma instância EC2, instalar um servidor LAMP e usá-lo para front e back end.

Você pode então usar o Lifecycle Manager para fazer backup de toda a máquina diariamente.

No entanto, se você tiver que escalar muito isso, terá que começar do zero.


Então, o que você escolhe?

A resposta depende de seus recursos: tempo, dinheiro e mão de obra, bem como como você vê isso crescendo de um projeto único para uma instalação muito usada de longo prazo que precisa de redundância, balanceamento de carga e a capacidade de escalar dinamicamente.

Você também pode olhar para algo como o AWS Beanstalk, que é mais fácil de implementar e reimplantar, mas não tão dinâmico quanto sua abordagem sem servidor.