Como desplegar una aplicacion completa en aws



 

 

en este post  Deplegaremos en AWS una aplicacion con frontend y backend enfocados desde un punto de vista devops. la aplicacion esta hecha en react (frontend) y golang (backend) todo es serverless no usaremos servidores para servir el frontend ni el backend, en su lugar usaremos servicios de Amazon por ejemplo para el frontend usaremos S3 y para el backend usaremos AWS Lambdas funtions explicare como vincular el frontend con el backend y como vincular el backend con la base de datos. te mostrare como levantar un AWS RDS para la bd y como configurar tu backend para hacer consutlas de sql a el RDS tambien te enseñare como el frontend debe ser configurado para que se comunique con el backend y poder hacer peticiones GET HTTP 

 

primero inicio mostrandote la infraestructura


 en esta infra tendremos servicios de AWS  por ejemplo AWS s3 AWS lambda y AWS RDS 

es una aplicacion simple asi que cada componente tendra un pedacito de la aplicacion, vamos por partes


Como se debe deplegar

Cada componente necesita "data" de los demas componente para poder interactura con ellos, por esto existe una forma de desplegar que es unica para este proyecto

debes iniciar el desplegue desde la base de datos debido a que el backend necesita las credenciales de la base de datos y tambien porque el frontend necesita la ruta del backend, entonces esto es algo en cadena y el inicio es la bd


idependiente el lenguaje un devops debe saber que preguntar de que estar pendiente para levantar una aplicacion, cada aplicacion tiene configuraciones especiales, ejemplo rutas de otros servicios, credenciales de bd y muchas cosas mas. tu responsabilidad es que la data este bien configurada para que al levantar el servicio lo haga correctamente

en este caso particular tenemos un script de mysql con la data prepara asi que es solo montar el RDS y cargar la data

Montando el RDS

para crear un RDS solo tienes que seguir el formulario de creacion de RDS dentro de AWS console, y luego de configurar las credenciales y obtener el url de coneccion, conectarte y ejecutar el script de la base de datos donde estan todo los esquemas 


Desplegando el backend

el backend ya puede ser desplegado debido a que ya tenemos las credenciales de conexion a la bd asi que solo es de ir al archivo correcto y colocarlo.

el backend tiene una particularidad es serverless es decir esta en lambdas y lo importante aqui es que debes saber como configurar archivo de template.yml que son una especie de archivo de cloudformation para servicios serverless, y si como devops debes saberlo

lo bueno es que configurado una vez lo puedes lanzar e millones de ambientes diferente, y con solo dos comandos el sam build y el sam deploy

este al final te dara una url "la url del backend" con esta url ya puedes conectar el backend con el frontend

Desplegando el Frontend

el frontend necesita la ruta del backend asi que lo que debemos hacer aqui es copiar esa ruta en los archivo de los hooks y luego proceder a subirlo a un aws S3

asi que primero debemos crear el aws S3 con la configuracion de servidor web estaticos que solo un boton y luego ejecutar comandos de subida de archivo en el AWS cli.

todo lo que vez escrito aqui y mucho mas lo podras ver en el video de este ejercicio

Despliegue de aplicacion serverless (react y golang)












 

 

Comentarios

Entradas populares de este blog

AWS SAM y AWS Lambda docker Container Image tutorial con PYTHON USANDO A...

Solucion: Docker Error: No such container:

Los unicas 4 herramientas que necesitas para volverte un master en Devops