Chapter 1

División de responsabilidades

División de responsabilidades

Tip

El área de Infraestructura AMX es responsable del estado de salud y correcto funcionamiento de los servidores que se encuentran bajo su cargo, reservándose las tareas de administración sobre estos.

Es por ello que se cuenta con un acceso controlado de usuarios a los diferentes servicios albergados en las máquinas virtuales encomendadas al área. Dichos servicios se exponen a través de dominios protegidos con certificados, y son monitoreados a petición y bajo priorización del cliente.

Ambientes

Los ambientes son entornos controlados y configurados para distintas fases del ciclo de vida del desarrollo de software. Cada ambiente cumple una función específica, desde el desarrollo inicial hasta la producción final, asegurando la calidad y estabilidad del software a medida que avanza de cara al cliente.

Desarrollo (Dev)

Desarrollo Cambios continuos Sin Monitoreo

El ambiente de Desarrollo (Dev) es el espacio dedicado a que los desarrolladores puedan crear, implementar y probar nuevas funcionalidades de manera libre y sin restricciones significativas. Es un entorno en constante cambio.

Aunque no se monitorean de manera exhaustiva los artefactos que corren sobre este ambiente, se reconoce la importancia de su funcionamiento continuo. Una disrupción en el ambiente de desarrollo puede causar demoras significativas en el progreso de los proyectos.

Los permisos hacia el equipo de desarrollo son amplios y flexibles que les permiten implementar, modificar y depurar código. Pueden realizar cualquier cambio necesario para desarrollar y probar sus funcionalidades, siempre y cuando se adhieran a buenas prácticas, como evitar cambios manuales que no sean reproducibles. Esto asegura que los desarrollos puedan ser replicados y mantenidos en otros ambientes.

Calidad (QA)

QA Cambios controlados Sin Monitoreo

El ambiente de Calidad (QA) se utiliza para realizar pruebas exhaustivas de las funcionalidades desarrolladas. Aquí, los testers evalúan el desempeño, seguridad, y cumplimiento de requisitos de las aplicaciones antes de que pasen a producción. Este entorno replica las condiciones de producción lo más fielmente posible para asegurar que las pruebas sean representativas.

Las pruebas incluyen, pero no se limitan a:

  • Pruebas unitarias.
  • Pruebas de integración.
  • Pruebas de rendimiento.
  • Pruebas de seguridad.

Los cambios en este ambiente están restringidos al equipo de QA y a los desarrolladores, quienes deben seguir procedimientos estrictos para implementar nuevas versiones.

Pre-producción (Preprod/Release/UAT)

Pre-producción Cambios controlados Monitoreo APM

El ambiente de Pre-producción (Preprod/Release) sirve como un paso intermedio entre QA y Producción. Aquí se realizan pruebas finales y verificaciones antes de que cualquier cambio sea llevado a producción. Este entorno es prácticamente idéntico al de producción y se utiliza para realizar pruebas de aceptación de usuario (UAT).

Preproducción está conectado exactamente a los mismos servicios y las mismas fuentes de datos que el ambiente de Producción. La única diferencia son los cambios en servicios que no están de cara al cliente final. En este ambiente se validan:

  • La integración final de todos los componentes.
  • La estabilidad del sistema bajo condiciones de producción.
  • La preparación para el lanzamiento.

Sandbox

Sandbox Cambios por RfC Sin monitoreo

El ambiente Sandbox es una réplica del ambiente de producción utilizado para evaluación de equipos terceros. Los clientes pueden probar el uso e integración sin afectar datos de producción. Se busca resguardar la consistencia de funcionalidades con relación a producción.

Este ambiente es ideal para:

  • Probar nuevas versiones de software.
  • Evaluar nuevas herramientas o tecnologías.
  • Experimentar con configuraciones avanzadas.

Producción (Prod)

Producción Cambios por RfC Monitoreo APM/Sintético

El ambiente de Producción (Prod) es donde las aplicaciones y servicios están disponibles para los usuarios finales. Este entorno requiere la mayor estabilidad, seguridad y rendimiento. Todas las funcionalidades deben estar completamente validadas y probadas antes de ser desplegadas aquí.

En este ambiente se deben seguir procedimientos estrictos de:

  • Gestión de cambios.
  • Monitoreo y alertas.
  • Seguridad y cumplimiento normativo.

El acceso a este ambiente está altamente restringido y controlado para minimizar riesgos y asegurar la continuidad del servicio.

Matriz de responsabilidades

Actividades Generales Dev QA Preproducción/Release Producción/Sandbox
Comandos linux Lectura logs y curl Lectura logs y curl n/a n/a
Apagados y reinicios de servicios Ticket Ticket Ticket Ticket
Operaciones bash Ticket Ticket Ticket Ticket
Programación/ejecución de crones Ticket/CI Ticket/CI Ticket Ticket
Gestión de usuarios sobre S.O. Ticket Ticket Ticket Ticket
Operaciones sobre BD Usuario admin Usuario admin Usuario r/o sobre datos no sensibles Usuario r/o sobre datos no sensibles
Gitlab Permisos Maintainer n/a n/a n/a
Despliegues/bajas de aplicativos CI CI con botón de autorizar Solicitud vía CI Ticket
Edición de archivos de configuración Ticket Ticket Ticket Ticket
Edición de archivos war/php Usuario con permisos rw Usuario con permisos ro Ticket Ticket
1.0.0