Construcción del sistema: DevOps y despliegue continuo — Cuerpo de Gestión de Sistemas e Informática de la Administración del Estado
Test de 32 preguntas con explicaciones justificadas.
Pregunta 1: Según el modelo CALMS, ¿cuál de los siguientes es uno de los cinco pilares fundamentales de DevOps?
- A) Automatización
- B) Documentación exhaustiva
- C) Jerarquía rígida
- D) Presupuesto detallado
El modelo CALMS define cinco pilares: Cultura, Automatización, Lean, Mediciones (Metrics) y Compartición (Sharing). La Automatización es uno de ellos, según la literatura estándar de DevOps.
Pregunta 2: ¿Qué establece el Esquema Nacional de Seguridad (ENS) respecto a la integración de la seguridad en los procesos de desarrollo y despliegue?
- A) Es opcional para las administraciones públicas.
- B) Debe aplicarse desde el diseño y durante todo el ciclo de vida.
- C) Solo se requiere para sistemas clasificados como de nivel alto.
- D) Se delega completamente al proveedor externo.
Según el Real Decreto 311/2022, por el que se regula el ENS, la seguridad debe integrarse desde el diseño y a lo largo de todo el ciclo de vida del sistema (principio de seguridad por diseño y por defecto).
Pregunta 3: En el contexto de DevOps, ¿qué se entiende por 'Infraestructura como Código' (IaC)?
- A) Documentar manualmente la configuración de los servidores.
- B) Gestionar la infraestructura mediante scripts y archivos de configuración versionados.
- C) Contratar infraestructura bajo demanda con un proveedor cloud.
- D) Diseñar diagramas de red en herramientas de modelado.
Según el estándar NIST SP 800-145, IaC es la gestión y aprovisionamiento de infraestructura a través de código y técnicas de desarrollo de software, permitiendo automatización, versionado y consistencia.
Pregunta 4: Según la Ley 40/2015, de Régimen Jurídico del Sector Público, ¿qué principio debe garantizarse en los sistemas de información para facilitar la interoperabilidad?
- A) Principio de neutralidad tecnológica.
- B) Principio de presunción de veracidad.
- C) Principio de irreversibilidad de los actos administrativos.
- D) Principio de desconexión programada.
El artículo 4 de la Ley 40/2015 establece el principio de neutralidad tecnológica y de adaptabilidad al progreso de las técnicas y sistemas de información, como base para la interoperabilidad.
Pregunta 5: ¿Cuál es el objetivo principal de la práctica de 'Integración Continua' (CI) en DevOps?
- A) Desplegar automáticamente en producción tras cada cambio.
- B) Fusionar los cambios de código de los desarrolladores en un repositorio compartido de forma frecuente y verificar con builds automatizados.
- C) Realizar pruebas de rendimiento solo al final del proyecto.
- D) Sustituir por completo la fase de pruebas manuales.
Según la definición de Martin Fowler y la práctica común en ingeniería de software, la Integración Continua consiste en integrar el trabajo de desarrollo de forma frecuente (varias veces al día) y verificar cada integración mediante construcción y pruebas automatizadas.
Pregunta 6: En un pipeline de entrega continua, ¿qué técnica de despliegue permite reducir el riesgo mediante la exposición progresiva de una nueva versión a un subconjunto de usuarios?
- A) Despliegue en big-bang.
- B) Despliegue canario (canary release).
- C) Rollback manual.
- D) Despliegue en caliente (hotfix).
Las canary releases son una técnica de despliegue continuo donde una nueva versión se libera gradualmente a un pequeño porcentaje de usuarios para monitorizar su comportamiento antes de un despliegue completo, según el libro 'Continuous Delivery' de Jez Humble y David Farley.
Pregunta 7: Según el modelo de responsabilidad compartida en cloud computing del NIST, ¿qué elemento suele ser responsabilidad del proveedor cloud en un modelo IaaS?
- A) Aplicaciones y datos.
- B) Seguridad física del datacenter.
- C) Configuración del sistema operativo.
- D) Gestión de parches del sistema operativo invitado.
Según la publicación NIST SP 800-145, en el modelo IaaS, el proveedor es responsable de la infraestructura física (incluida la seguridad física del datacenter), mientras que el cliente gestiona el sistema operativo, aplicaciones y datos.
Pregunta 8: ¿Qué herramienta se utiliza comúnmente para definir y gestionar pipelines de CI/CD como código, permitiendo su versionado y reutilización?
- A) Apache Maven.
- B) Jenkinsfile (utilizado por Jenkins).
- C) Microsoft Word.
- D) Oracle Database.
Jenkinsfile es un archivo de texto que define un pipeline de Jenkins utilizando la sintaxis de Groovy, permitiendo implementar 'Pipeline as Code', según la documentación oficial de Jenkins.
Pregunta 9: En el contexto de la observabilidad de sistemas, ¿cuál de los siguientes es considerado uno de los 'tres pilares' principales?
- A) Costes.
- B) Métricas (Metrics).
- C) Satisfacción del usuario.
- D) Cumplimiento legal.
Según la literatura de SRE (Site Reliability Engineering) de Google, los tres pilares de la observabilidad son Métricas (Metrics), Trazas (Traces) y Logs.
Pregunta 10: ¿Qué establece el Reglamento (UE) 2016/679 (GDPR) respecto al tratamiento de datos en los procesos de despliegue continuo?
- A) No aplica a entornos de desarrollo o testing.
- B) El tratamiento debe ser lícito, leal y transparente, aplicándose también a datos de prueba.
- C) Permite el uso de datos reales en testing sin anonimizar si el sistema es interno.
- D) Obliga a almacenar todos los logs indefinidamente para auditoría.
El artículo 5 del GDPR establece los principios relativos al tratamiento de datos personales, incluidos la licitud, lealtad y transparencia. El uso de datos personales en entornos de prueba debe cumplir estos principios, recomendándose la anonimización o pseudonimización (según guías de la AEPD).
Pregunta 11: Según ITIL 4, ¿cómo se alinea la práctica de 'Desarrollo y gestión de software' con los principios de DevOps?
- A) Fomentando la colaboración entre equipos de desarrollo y operaciones.
- B) Eliminando todas las fases de cambio y liberación.
- C) Priorizando la documentación sobre la automatización.
- D) Restringiendo el acceso de los desarrolladores a entornos de producción.
ITIL 4, en su guía 'Create, Deliver and Support', enfatiza la integración de prácticas de DevOps para mejorar la colaboración entre equipos, la automatización y el flujo de valor, alineándose con la cultura DevOps.
Pregunta 12: En Kubernetes, ¿qué recurso define un conjunto de pods y un método para acceder a ellos, generalmente a través de un balanceador de carga?
- A) ConfigMap.
- B) PersistentVolume.
- C) Deployment.
- D) Service.
Según la documentación oficial de Kubernetes, un 'Service' es un recurso que define un conjunto lógico de Pods y una política para acceder a ellos, a menudo actuando como un balanceador de carga básico.
Pregunta 13: ¿Cuál es el principal beneficio del uso de contenedores (ej. Docker) en los pipelines de CI/CD?
- A) Eliminan la necesidad de un sistema operativo.
- B) Garantizan la portabilidad y consistencia de los entornos entre desarrollo, testing y producción.
- C) Reducen automáticamente los costes de licencia de software.
- D) Permiten ejecutar aplicaciones sin necesidad de red.
Los contenedores empaquetan una aplicación y sus dependencias, proporcionando un entorno de ejecución aislado y consistente en cualquier sistema que tenga el motor de contenedores, según la documentación de Docker.
Pregunta 14: Según la Ley 39/2015, del Procedimiento Administrativo Común, ¿qué principio debe respetar el uso de sistemas de firma electrónica en despliegues de aplicaciones?
- A) Principio de accesibilidad universal.
- B) Principio de reciprocidad.
- C) Principio de interoperabilidad y neutralidad tecnológica.
- D) Principio de causalidad.
El artículo 7 de la Ley 39/2015 establece que los sistemas de firma electrónica utilizados por las administraciones públicas deberán basarse en estándares abiertos y garantizar la interoperabilidad y neutralidad tecnológica.
Pregunta 15: En el modelo de despliegue 'blue-green', ¿cuál es la principal ventaja?
- A) Reduce el consumo de recursos a la mitad.
- B) Permite una reversión rápida y sin tiempo de inactividad en caso de problemas.
- C) Elimina la necesidad de balanceadores de carga.
- D) No requiere duplicación de infraestructura.
El despliegue blue-green mantiene dos entornos idénticos (blue y green). Mientras uno atiende el tráfico en producción, el otro se despliega con la nueva versión. Tras las verificaciones, el tráfico se conmuta, permitiendo rollback inmediato, según patrones de 'Continuous Delivery'.
Pregunta 16: ¿Qué normativa española exige la realización de análisis de riesgos de seguridad para los sistemas de información de las administraciones públicas?
- A) Ley 11/2007, de acceso electrónico de los ciudadanos a los servicios públicos.
- B) Real Decreto 311/2022, del Esquema Nacional de Seguridad.
- C) Ley 9/2017, de Contratos del Sector Público.
- D) Real Decreto Legislativo 1/2013, por el que se aprueba el Texto Refundido de la Ley General de derechos de las personas con discapacidad.
El Real Decreto 311/2022, que desarrolla el Esquema Nacional de Seguridad, establece en su Anexo II la obligación de realizar análisis de riesgos de seguridad de la información como parte de las medidas de seguridad.
Pregunta 17: En el contexto de DevOps, ¿qué herramienta de automatización de gestión de configuraciones utiliza un lenguaje declarativo (YAML) para describir el estado deseado de la infraestructura?
- A) Ansible.
- B) Puppet.
- C) Chef.
- D) Terraform.
Ansible utiliza playbooks escritos en YAML para describir el estado deseado de los sistemas de forma declarativa, según la documentación oficial de Red Hat Ansible.
Pregunta 18: ¿Qué principio de la metodología 'Lean' se aplica en DevOps para optimizar el flujo de trabajo y eliminar desperdicios?
- A) Principio de la optimización local.
- B) Principio de la reducción de stock.
- C) Principio de la mejora continua (Kaizen).
- D) Principio de la jerarquización estricta.
Kaizen, o mejora continua, es un principio clave de Lean manufacturing que se adopta en DevOps para optimizar constantemente los procesos de desarrollo y operaciones, eliminando desperdicios y mejorando el flujo.
Pregunta 19: Según el estándar ISO/IEC 27001:2013, ¿qué cláusula exige establecer objetivos de seguridad de la información y planificar para lograrlos?
- A) Cláusula 4: Contexto de la organización.
- B) Cláusula 6: Planificación.
- C) Cláusula 8: Operación.
- D) Cláusula 9: Evaluación del desempeño.
La cláusula 6 (Planificación) de la norma ISO/IEC 27001:2013 especifica los requisitos para establecer objetivos de seguridad de la información y planificar las acciones para alcanzarlos, considerando riesgos y oportunidades.
Pregunta 20: En un pipeline de CI/CD, ¿qué tipo de pruebas se suelen ejecutar primero para obtener un feedback rápido sobre la corrección del código?
- A) Pruebas de rendimiento (performance).
- B) Pruebas de integración de extremo a extremo (e2e).
- C) Pruebas unitarias (unit tests).
- D) Pruebas de aceptación del usuario (UAT).
Las pruebas unitarias son las más granulares y rápidas, diseñadas para verificar unidades individuales de código. Se ejecutan temprano en el pipeline para dar feedback rápido a los desarrolladores, según las prácticas de CI.
Pregunta 21: ¿Qué función principal desempeña un 'registry' de contenedores como Docker Hub en un flujo de trabajo DevOps?
- A) Compilar el código fuente de la aplicación.
- B) Almacenar y distribuir imágenes de contenedores.
- C) Gestionar la infraestructura física.
- D) Realizar análisis estático de seguridad del código.
Un registry de contenedores (ej. Docker Hub, GitLab Container Registry) es un repositorio centralizado para almacenar, versionar y distribuir imágenes de contenedores, facilitando su consumo en distintos entornos.
Pregunta 22: Según la guía 'Site Reliability Engineering' de Google, ¿qué práctica promueve la cultura de 'blameless postmortem' tras un incidente?
- A) Buscar y sancionar al responsable individual.
- B) Analizar los fallos del sistema sin buscar culpables, centrándose en procesos y causas raíz.
- C) Documentar únicamente las acciones correctivas técnicas.
- D) Ocultar los detalles del incidente para proteger la imagen corporativa.
La cultura de 'blameless postmortem', según Google SRE, se centra en entender las causas raíz de los incidentes y mejorar los sistemas y procesos, sin culpar a individuos, para fomentar la transparencia y el aprendizaje.
Pregunta 23: En el contexto de la gestión de secretos (contraseñas, claves API) en DevOps, ¿cuál es la práctica recomendada?
- A) Almacenarlos en código fuente comentado.
- B) Gestionarlos mediante herramientas específicas (como HashiCorp Vault) e inyectarlos en tiempo de ejecución.
- C) Enviarlos por correo electrónico cifrado a los operadores.
- D) Guardarlos en variables de entorno en los scripts de despliegue sin cifrar.
Las mejores prácticas (ej. según OWASP) recomiendan usar herramientas dedicadas de gestión de secretos (HashiCorp Vault, AWS Secrets Manager) para almacenar, rotar y auditar el acceso a credenciales, inyectándolos de forma segura en los entornos de ejecución.
Pregunta 24: ¿Qué componente de Kubernetes se encarga de gestionar el estado deseado de las aplicaciones, asegurando que el número de pods en ejecución coincida con la especificación?
- A) Kubelet.
- B) Controlador (Controller).
- C) Etcd.
- D) CoreDNS.
Los controladores (Controllers) en Kubernetes, como el Deployment Controller, son bucles de control que observan el estado del clúster y realizan cambios para llevar el estado actual al estado deseado especificado en los recursos (ej. número de réplicas).
Pregunta 25: Según el Marco Común de Referencia de Interoperabilidad (MCRI) de España, ¿qué especificación técnica es clave para el intercambio de información entre administraciones?
- A) Norma UNE 71362.
- B) Esquema Nacional de Interoperabilidad (ENI).
- C) ISO 9001.
- D) Protocolo SNMP.
El Esquema Nacional de Interoperabilidad (ENI), regulado por el Real Decreto 4/2010, establece las condiciones técnicas para garantizar la interoperabilidad de los sistemas de información en el ámbito de la Administración Electrónica española.
Pregunta 26: ¿Qué métrica DevOps, popularizada por el libro 'Accelerate', mide la frecuencia con la que un equipo despliega cambios en producción?
- A) Tasa de cambio (Change Rate).
- B) Frecuencia de despliegue (Deployment Frequency).
- C) Tiempo de actividad (Uptime).
- D) Satisfacción del cliente (CSAT).
En el libro 'Accelerate: The Science of Lean Software and DevOps', la 'Frecuencia de despliegue' es una de las cuatro métricas clave (junto con Lead Time, MTTR y Tasa de fallos) para medir el desempeño DevOps.
Pregunta 27: En la filosofía 'GitOps', ¿cuál es la fuente de verdad declarativa para el estado de la infraestructura y las aplicaciones?
- A) La consola web del proveedor cloud.
- B) El repositorio Git que contiene los manifiestos de configuración.
- C) La base de datos de configuración en tiempo real.
- D) Los logs del sistema de orquestación.
GitOps, según Weaveworks (sus creadores), es un modelo operativo que utiliza repositorios Git como única fuente de verdad declarativa para la infraestructura y las aplicaciones, automatizando los despliegues basados en cambios en Git.
Pregunta 28: ¿Qué tipo de pruebas de seguridad se integran típicamente en un pipeline de CI/CD para detectar vulnerabilidades en las dependencias de una aplicación?
- A) Pruebas de estrés.
- B) Análisis de composición de software (SCA).
- C) Pruebas de penetración manual.
- D) Auditorías de código estático (SAST) solo para código propio.
El Análisis de Composición de Software (Software Composition Analysis - SCA) es una técnica de seguridad que identifica componentes de código abierto y sus vulnerabilidades conocidas en las dependencias de una aplicación, y se integra comúnmente en pipelines CI/CD.
Pregunta 29: Según la Ley 40/2015, ¿qué principio debe regir la reutilización y el compartir recursos tecnológicos entre administraciones públicas?
- A) Principio de soberanía tecnológica.
- B) Principio de cooperación.
- C) Principio de mínima inversión.
- D) Principio de desconexión programada.
El artículo 3 de la Ley 40/2015 establece el principio de cooperación, que incluye la reutilización y el compartir los recursos, sistemas y servicios tecnológicos entre las Administraciones Públicas para una mayor eficiencia.
Pregunta 30: ¿Qué herramienta de monitorización y alerta de código abierto se utiliza comúnmente en entornos cloud nativos y almacena sus datos como series temporales?
- A) Nagios.
- B) Splunk.
- C) Prometheus.
- D) Elasticsearch.
Prometheus es un sistema de monitorización y alerta de código abierto diseñado para entornos cloud nativos y microservicios, que recopila y almacena métricas como series temporales, según la documentación oficial de la Cloud Native Computing Foundation (CNCF).
Pregunta 31: En el modelo de madurez de capacidades de DevOps (CMMI-DEV), ¿qué área de proceso está más relacionada con la automatización de la construcción, integración y despliegue?
- A) Gestión de proyectos.
- B) Gestión de procesos organizativos.
- C) Ingeniería de productos.
- D) Soporte de procesos.
En los modelos de referencia como CMMI-DEV, las prácticas de automatización de construcción, integración y despliegue se engloban típicamente dentro de las áreas de proceso de 'Ingeniería de productos' (Product Engineering), que cubren desarrollo, integración y verificación.
Pregunta 32: ¿Qué patrón de diseño de microservicios implica que un servicio tenga su propia base de datos, evitando compartir esquemas de datos directamente?
- A) API Gateway.
- B) Base de datos compartida (Shared Database).
- C) Base de datos por servicio (Database per Service).
- D) Cola de mensajes (Message Queue).
El patrón 'Database per Service', descrito en la literatura de microservicios (ej. por Chris Richardson), establece que cada microservicio debe gestionar su propia base de datos, encapsulando sus datos y promoviendo el desacoplamiento.