Continuación de #3079
24 horas antes de la entrevista técnica me mandaron un documento en pdf para prepararla: El objetivo es hacer un plan para gestionar la infraestructura y deployments de un frontend en Angular y un backend en Java, con BBDD Postgres.
Objetivos: simplicidad de uso, 99% SLA y high availability.
Debía dedicarle 1-2 horas al plan y la idea era debatirlo en la oficina con el que sería mi jefe y compañero de equipo.
Llegué a la ofi, todos majetes y jóvenes, nos sentamos y empezamos:
Primero repasé los requisitos para no dejarnos nada, luego les hice preguntas generales sobre el proyecto, el backend, el frontend, perspectivas de crecimiento en el futuro, etc.
Empecé con buen pie porque mi primera pregunta era que dónde íbamos a guardar las sesiones, porque el documento mencionaba una BBDD pero nada de redis o algo dedicado a session storage. Ahí se miraron y sonrieron y dijeron que bien visto (luego me confesó uno de ellos que es una parte que acaban de quitar del enunciado, para ver si los entrevistados se pispan).
A partir de ahí, se me pasaron las dos horas volando, les conté cómo lo gestionaría con terraform y terragrunt, la estructura de la red que plantearía, medidas de seguridad, la forma de deployearlo, cómo hacer el CI/CD con github actions y codedeploy...
mi plan A era desplegarlo directamente sobre un EC2 porque el backend era un solo servicio, pero durante el discovery me dijeron que igual en el próximo año habría 10 servicios más independientes, así que como alternativa estuve hablando sobre ECS y desplegarlo todo en contenedores.
Durante toda la conversación me iban haciendo preguntas, algunas de las que recuerdo:
- Qué ventajas tiene dividir los entornos en distintas cuentas de AWS
- Cómo se comunica GitHub con AWS para iniciar el deployment?
- Mejor triggerear deployment al acabar la build automáticamente o hacerlo manual?
- Qué ventajas tendría el frontend si fuese server-side rendered en vez de una SPA que llama a una API en cliente
- Qué diferencia hay entre un Application Load Balancer y un Network Load Balancer
- En el contexto de ECS, cómo se comunican los contenedores? Qué modelo de networking plantearías?
Luego si me acuerdo pongo más, pero en resumen los tíos parecían bastante contentos con mis respuestas, al salir yo estaba contento también, pero no me dijeron nada específico, solo que la recruiter ya me diría algo. A la hora me llamó y me dijo que solo necesitan dos referencias de trabajos anteriores y me hacen oferta.
No quiero vender la piel del oso antes de cazarlo pero la verdad es que estoy muy contento ya casi lo tengo!!