Proyectos de Infraestructura: Perspectivas Clave sobre Mejores Acciones, Gamificación y Más
Explora los proyectos de infraestructura crítica discutidos, incluyendo Mejores Acciones y Gamificación, sus demandas de tráfico, estrategias de implementación y consideraciones de costo en GCP.
Video Summary
En una discusión reciente, el enfoque estuvo en varios proyectos clave que son críticos para la infraestructura, particularmente 'Mejores Acciones' y 'Gamificación'. Estos proyectos son esenciales debido a su alto tráfico y demandas de infraestructura. Por ejemplo, 'Mejores Acciones' está experimentando un tráfico significativo, con ciertos componentes gestionando entre 7 y 8 solicitudes por segundo. Este nivel de demanda requiere estrategias de implementación cuidadosas, como implementaciones Canary, para garantizar la estabilidad y el rendimiento.
En contraste, otros proyectos como 'Check' y 'Drupal' tienen un tráfico mínimo, alcanzando solo de 2 a 3 solicitudes por segundo. Mientras tanto, 'Gamificación' tiene un tráfico ligeramente más bajo, pero aún requiere una gestión cuidadosa de las conexiones a la base de datos. Esto es similar al proyecto 'Causas y Donaciones', que, a pesar de sus niveles de tráfico más bajos, también exige una supervisión meticulosa. El orador enfatizó que estos tres proyectos son consideraciones vitales para las estrategias de implementación.
La infraestructura para estos proyectos se basa principalmente en una plantilla de Google Cloud Platform (GCP), que cubre aproximadamente el 90% de la configuración necesaria. Esto incluye servicios esenciales como Cloud Run y Cloud Armor para entornos de producción. El 10% restante implica configuraciones específicas adaptadas para bases de datos SQL o Postgres, destacando la necesidad de personalización en ciertas áreas.
Otro aspecto crítico discutido fue la importancia de registrar cambios en GCP. El equipo utiliza un módulo que registra datos en BigQuery, ya que los registros predeterminados se conservan solo durante 30 días. Se destacaron dos módulos clave: el módulo de Firewall de Aplicaciones Web (WAF), que es crucial para la seguridad, y el módulo Audilux, que es esencial para el registro en entornos de producción. El módulo WAF incluye reglas específicas para gestionar solicitudes, y pueden ser necesarios ajustes basados en los resultados de las pruebas.
La conversación también profundizó en la configuración de la infraestructura para Cloud Run y su conexión a bases de datos, centrándose particularmente en el uso de la Nube Privada Virtual (VPC) y los costos asociados. Se observó que el 99% de los proyectos de Cloud Run no utilizan VPC, con la excepción del proyecto Marketplace, que requiere una dirección IP específica para la lista blanca de un proveedor. Otros proyectos, como Gamificación y Causas, también utilizan VPC debido a sus conexiones a bases de datos, lo que indica una tendencia hacia entornos más seguros y aislados.
El equipo discutió el uso de conectores para gestionar conexiones a bases de datos en Cloud Run, planteando la pregunta de si GCP ofrece un proxy para agrupamiento de conexiones, similar al RDS Proxy de AWS. Se concluyó que GCP actualmente no proporciona tal característica, lo que llevó al equipo a considerar una investigación adicional sobre soluciones alternativas.
Las consideraciones de costos también fueron una parte significativa de la discusión. Se señaló que la base de datos Alloy DB tenía una configuración básica que costaba alrededor de $50 al mes, mientras que una instancia de producción había incurrido en un costo de $400 el mes anterior. El equipo expresó preocupaciones sobre la escalabilidad de la base de datos y la necesidad de instancias separadas para manejar consultas de lectura y escritura de manera efectiva. También discutieron las implicaciones de reinicios forzados durante las actualizaciones, lo que podría llevar a un posible tiempo de inactividad, haciendo comparaciones con las capacidades de conmutación por error de AWS.
En general, la discusión subrayó la importancia de comprender las capacidades y costos de la infraestructura mientras se planifica para la escalabilidad futura. La conversación también tocó varios proyectos críticos de infraestructura, incluido un proyecto de fachada que actúa como un proxy entre GCP y AWS. Este proyecto se considera esencial para las comunicaciones en la nube, aunque su futuro sigue siendo incierto. El proyecto de plataforma, que integra todos los dominios, también se destacó como crítico, enfatizando la necesidad de aclarar las rutas de comunicación y mantener conexiones con AWS.
Además, se mencionó el uso de Terraform para la gestión de infraestructura, aunque las actualizaciones de esta herramienta aún están pendientes. Otro proyecto importante discutido fue el sistema de autenticación, que gestiona inicios de sesión y cuenta con una interfaz de usuario para el registro. El equipo revisó métricas de tráfico y la separación de solicitudes públicas e internas en los balanceadores de carga. Finalmente, se sugirió que se programara otra reunión para revisar aspectos del código antes de concluir la conversación.
Click on any timestamp in the keypoints section to jump directly to that moment in the video. Enhance your viewing experience with seamless navigation. Enjoy!
Keypoints
00:00:00
Descripción del proyecto
El orador discute los proyectos clave en los que ha estado involucrado, enfatizando la importancia de Insight y la necesidad de una transición fluida. Destacan la importancia de Better Actions y Gamification como los proyectos principales que requieren atención debido a sus extensas demandas de infraestructura y niveles de estrés.
Keypoint ads
00:00:40
Mejores Acciones de Tráfico
Better Actions está experimentando actualmente un alto tráfico, con algunos componentes manejando hasta 8 solicitudes por segundo. Esto requiere una cuidadosa consideración de las estrategias de implementación, como las implementaciones Canary, para gestionar la naturaleza crítica de los cambios en este proyecto.
Keypoint ads
00:02:30
Gamificación y Causas
La gamificación, aunque tiene un tráfico ligeramente menor que Better Actions, aún requiere atención debido a sus conexiones de base de datos. De manera similar, el proyecto de Causas y Donaciones también implica interacciones con bases de datos, lo que hace esencial gestionar estas conexiones de manera efectiva a pesar de los niveles de tráfico más bajos.
Keypoint ads
00:03:20
Gestión de Infraestructura
El orador señala que los proyectos discutidos representan aproximadamente el 90% de la infraestructura delineada en la plantilla GCP proporcionada. Enfatizan la importancia de comprender la configuración de la infraestructura, incluyendo el bucket de estado, el dominio para certificados y los pasos de implementación, que son cruciales para replicar la infraestructura en los proyectos.
Keypoint ads
00:04:40
Utilización de Plantillas GCP
El orador menciona que la plantilla de GCP actualizada es fundamental para todos los proyectos, con un enfoque en la simplicidad y claridad en el despliegue. Destacan la presencia de un balanceador de carga, Cloud Armor para producción y Cloud Run como componentes integrales de la infraestructura, asegurando que todo el tráfico de internet se gestione adecuadamente.
Keypoint ads
00:05:02
Conectividad del Proyecto
Cada proyecto tiene su propia conexión a internet, independiente del proyecto de la Plataforma, que sirve meramente como un punto de encuentro para estos proyectos. Alrededor del 10% de los proyectos no dependen completamente de esta infraestructura, utilizando bases de datos alternativas como ATO, SQL o Postgres, siendo WAPSAR la única excepción.
Keypoint ads
00:05:50
Módulo de Cloud Armor
El módulo de Cloud Armor, recientemente añadido, fue desarrollado para mejorar la seguridad. Ha sido probado con los equipos de Playhouse y Autenticación, sin mostrar más problemas. Las preocupaciones anteriores incluían inyecciones SQL y problemas con el contenido del cuerpo, que se resolvieron con modificaciones menores. Este módulo WAF está destinado para uso en producción, y su efectividad será evaluada en otros entornos.
Keypoint ads
00:07:09
Módulo Audilux
El módulo Audilux, también disponible en GitHub, crea un conjunto de datos en BigQuery llamado Audilux. Permite la sección Audilux de GCP, modifica la Configuración Predeterminada y añade capacidades de Escritura de Datos. Esto asegura que los cambios en GCP se registren en Stackdriver, preservando los datos más allá del período de retención predeterminado de 30 días. El módulo es crucial para entornos de producción para rastrear cambios en GCP.
Keypoint ads
00:08:30
Configuración de Plantilla
Todos los proyectos basados en la misma plantilla utilizan la misma configuración, incluido el módulo WAF. El WAF es fácil de usar, requiriendo solo el nombre del WAF existente y ajustes en los servicios de backend. La configuración incluye cuatro reglas: una para permitir solicitudes y tres específicas para Cloud Armor, que deben ser probadas y ajustadas según la sensibilidad para garantizar un funcionamiento adecuado.
Keypoint ads
00:11:09
Cloud Run y BPC
En cuanto a Cloud Run, se aclaró que el 99% de los proyectos no están en BPC, con la excepción del proyecto Marketplace, que se estableció en BPC debido a que un proveedor requería una dirección IP saliente específica para la lista blanca. Se configuró un bastión para facilitar esta conexión.
Keypoint ads
00:12:12
Conexión de Cloud Run
La discusión comienza con la necesidad de conectar Cloud Run a una VPC (Nube Privada Virtual) para proyectos como Hackmetrics. Esta conexión requiere un recurso específico, un conector para los salones, que opera máquinas virtuales gestionadas por Google. El orador señala que este es el único proyecto que utiliza una VPC a nivel de Cloud Run, aunque luego se corrige para incluir proyectos con instancias de bases de datos, mencionando específicamente Gamificación y Causas, que también requieren una VPC debido a sus conexiones de base de datos.
Keypoint ads
00:13:19
Requisitos de Conexión a la Base de Datos
La conversación se centra en las bases de datos SQL utilizadas en la Gamificación, que también requieren una VPC para sus conexiones. El hablante explica que todos los proyectos con conexiones a bases de datos o requisitos específicos de VPC, como Marketplace, tienen un bastión que generalmente se mantiene apagado para ahorrar costos, programado para operar de 8 AM a 7 PM.
Keypoint ads
00:14:04
Infraestructura sin servidor
El orador menciona la infraestructura Serverless (SLS) para el Marketplace, destacando la necesidad de dos VPCs: una normal y una con un conector, para fines de prueba. Sin embargo, parece que la infraestructura ya no está en uso activo, ya que ha sido configurada pero no utilizada más.
Keypoint ads
00:14:35
Agrupamiento de Conexiones
Surge una pregunta sobre si los proyectos que se conectan a la base de datos utilizan algún proxy o agrupamiento de conexiones, específicamente en relación con Cloud Run. El hablante reconoce que se utiliza un conector a nivel de código para gestionar las conexiones, pero no está seguro de si Google proporciona un proxy para bases de datos SQL para manejar el agrupamiento de conexiones.
Keypoint ads
00:15:53
Proxy de Base de Datos de GCP
El hablante expresa incertidumbre sobre la existencia de un proxy de agrupamiento de conexiones para las bases de datos SQL de Google Cloud Platform, señalando que rara vez han utilizado bases de datos en sus proyectos. Mencionan que, por lo general, solo se utiliza el conector y la red asociada, sin ninguna funcionalidad adicional como la que se encuentra en el RDS Proxy de AWS.
Keypoint ads
00:17:00
Disponibilidad de Alloy DB
La discusión se centra en Alloy DB, que parece estar disponible para gestionar conexiones en un entorno sin servidor. El orador señala que es una adición reciente y actualmente está en Disponibilidad General (GA). Exploran la opción de crear un clúster en Alloy DB, lo que debería permitir la gestión de conexiones.
Keypoint ads
00:17:41
Costos de Base de Datos
La conversación incluye preguntas sobre los costos mensuales asociados con su base de datos actual. El hablante estima que el costo es de alrededor de $50 por mes para una configuración con 2 CPUs y 8 GB de memoria. También mencionan un mes anterior en el que los costos fueron significativamente más altos, alrededor de $400, para una instancia de producción, indicando que los gastos pueden variar mucho dependiendo del uso.
Keypoint ads
00:19:01
Uso de Instancias
El hablante reflexiona sobre el uso de dos instancias en su configuración, cuestionando la necesidad de la segunda instancia, que tiene menos tráfico pero aún genera consultas. Expresan interés en comprender las razones detrás de su uso, sugiriendo que se justifica una investigación más profunda sobre el rendimiento y la necesidad de la instancia.
Keypoint ads
00:19:08
Escalado de Base de Datos
La discusión comienza con preocupaciones sobre la escalabilidad de la base de datos, particularmente en lo que respecta a la separación de las consultas de lectura y escritura. Se señala que solo el proyecto de Gamificación tiene dos instancias, mientras que otros operan en una sola instancia, lo que genera preocupaciones sobre cómo esta configuración manejará una carga aumentada. El orador recuerda que durante las migraciones, el proceso fue manual, lo que indica la necesidad de priorizar la mejora de la gestión de la base de datos.
Keypoint ads
00:20:50
Gestión de Actualizaciones
La conversación se centra en la gestión de actualizaciones, destacando que se produjo un reinicio forzado durante una actualización significativa, en contraste con las actualizaciones menores que no causan tiempo de inactividad. El hablante compara esto con las prácticas de AWS, donde se implementa un cambio por fallo para evitar el tiempo de inactividad durante las actualizaciones, sugiriendo que este método debería ser documentado para pruebas futuras.
Keypoint ads
00:22:15
Priorización de Proyectos
El orador identifica proyectos críticos, enfatizando el proyecto global mencionado por Felipe, que se dirige a dominios más pequeños, y el proyecto de fachada que actúa como un intermediario entre GCP y Amazon. Hay incertidumbre sobre la longevidad del proyecto de fachada, con indicios de que podría ser descontinuado, lo que podría afectar las comunicaciones entre los servicios en la nube.
Keypoint ads
00:24:20
Comunicación Proxy
Al discutir el proyecto de la fachada, el orador busca claridad sobre las rutas que se envían como proxy. Se explica que la fachada opera a nivel del balanceador de carga, dirigiendo el tráfico a la aplicación. Se destaca la necesidad de monitorear los registros, especialmente ya que se espera que el sistema central sea desmantelado pronto, lo que requiere entender las solicitudes que se le están haciendo.
Keypoint ads
00:25:16
Solicitudes de API
La conversación profundiza en los detalles de las solicitudes de API, particularmente si las comunicaciones están dirigidas hacia Django u otras URL. El hablante confirma que se están realizando solicitudes a core.gobetterflight.com y api.gobetterflight.com, pero hay incertidumbre sobre la visibilidad de las solicitudes salientes desde la fachada, lo que indica la necesidad de una mayor investigación sobre el flujo de tráfico.
Keypoint ads
00:27:30
Verificación de Servicio
La discusión concluye con una verificación de los servicios en uso, confirmando que todas las interacciones son basadas en API. El hablante expresa satisfacción con la configuración actual, señalando que está bien informado sobre los servicios que se están utilizando, aunque se menciona un nuevo servicio web que le resulta desconocido, lo que indica desarrollos en curso en el panorama del proyecto.
Keypoint ads
00:28:11
Proyecto de Plataforma
El proyecto de la Plataforma sirve como un punto de encuentro crítico para todos los dominios. Hay preocupaciones sobre el uso de Terraform, que parece haber sido utilizado solo hasta principios de año. El orador ha intentado actualizar Terraform de forma independiente, con el objetivo de organizar la infraestructura, pero ha tenido dificultades para encontrar el tiempo para completar esta tarea. Enfatizan la necesidad de versionar las numerosas rutas asociadas con el proyecto, señalando que muchas rutas no están documentadas en el sistema actual.
Keypoint ads
00:30:01
Proyecto de Autenticación
El proyecto de Autenticación es crucial ya que gestiona los procesos de inicio de sesión, incluyendo un camino hacia la interfaz de inicio de sesión. Cuenta con una Aplicación Web Progresiva (PWA) o página web que permite el registro de usuarios, potencialmente vinculada a una Red de Entrega de Contenidos (CDN). El orador destaca la importancia de este proyecto debido a su manejo de registros de autenticación, incluyendo registros y accesos sin contraseña, y menciona la necesidad de métricas relacionadas con las sesiones de usuario.
Keypoint ads
00:34:15
Normas de CloudRamp
El orador discute las prácticas estándar para CloudRamp, que incluyen mantener una versión pública y una interna. La CloudRamp pública generalmente maneja todas las solicitudes GET, mientras que la versión interna gestiona las solicitudes POST, PUT, PATCH y DELETE. Esta separación tiene como objetivo optimizar la gestión del tráfico y mantener una estructura clara dentro del repositorio, que es un monorepo que contiene bibliotecas de dominio. El orador señala que este estándar se ha mantenido de manera consistente, asegurando claridad en el despliegue de la infraestructura.
Keypoint ads
00:36:17
Revisión de Código
A medida que la reunión se acerca a su fin, el orador expresa el deseo de discutir algunos aspectos de codificación, pero sugiere programar otra sesión para abordar estos temas en detalle. Indican que hay asuntos importantes relacionados con el código que deben tratarse, enfatizando la necesidad de una discusión adicional.
Keypoint ads