Profesional Cloud Developer
El nuevo examen en fase beta de Professional Cloud Developer estará disponible pronto. Los candidatos de los exámenes en fase beta deben revisar la guía correspondiente.
Novedades:
El próximo examen en fase beta de Professional Cloud Developer se enfoca en las responsabilidades de los desarrolladores que usan Google Cloud y se enfoca más en el uso de GKE y los entornos de computación sin servidores, Apigee, Cloud Run, herramientas de organización de Google, estaciones de trabajo y consideraciones de costos y recursos durante el diseño de apps que en el examen anterior. Este examen pone menos énfasis en las tareas relacionadas con la infraestructura y las bases de datos, como la definición de esquemas de bases de datos, estructuras de clave de almacenamiento de datos, administración de VM de Compute Engine y tareas típicas de DevOps/SRE (p. ej., administración del ciclo de vida de los contenedores, supervisión y solución de problemas de apps implementadas, y estrategias de implementación).
Guía actual del examen de DG
Un Professional Cloud Developer compila aplicaciones escalables y con alta disponibilidad mediante las herramientas y prácticas recomendadas de Google. Se trata de una persona con experiencia en el uso de aplicaciones nativas de la nube, herramientas para desarrolladores, servicios administrados y bases de datos de última generación. También domina al menos un lenguaje de programación de uso general y, además, instrumenta su código para producir métricas, registros y seguimientos.
* Nota: El examen no evalúa directamente tu habilidad para codificar. Se enfoca en tu habilidad para aprovechar los servicios de GCP y las prácticas recomendadas con el propósito de compilar, probar, implementar y administrar aplicaciones escalables y con alta disponibilidad. Si dominas al menos un lenguaje de programación de uso general, deberías ser capaz de interpretar cualquier pregunta que contenga fragmentos de código.
Sección 1: Diseño de aplicaciones nativas de la nube con alta escalabilidad, disponibilidad y confiabilidad
1.1 Diseña aplicaciones y APIs de alto rendimiento. Se incluyen las siguientes consideraciones:
● Arquitectura de microservicios
● Elegir la plataforma adecuada según el caso de uso y los requisitos (p. ej., IaaS [infraestructura como servicio], CaaS [contenedor como servicio], PaaS [plataforma como servicio], FaaS [función como servicio])
● Modernización de aplicaciones (p. ej., creación de contenedores)
● Comprender cómo se distribuyen geográficamente los servicios de Google Cloud (p. ej., latencia, servicios regionales y zonales)
● Administración de las sesiones de usuario
● Soluciones de almacenamiento en caché
● REST de HTTP en comparación con gRPC (llamada de procedimiento remoto de Google)
● Incorporar las capacidades de Control de servicios que ofrecen los servicios de API (p. ej., Apigee)
● Aplicaciones asíncronas con acoplamiento bajo (p. ej., Apache Kafka, Eventarc y Pub/Sub)
● Instrumentar código para producir métricas, registros y seguimientos
● Optimización de costos y optimización de recursos
● Manejo correcto de errores, desastres y eventos de escalamiento
1.2 Diseña aplicaciones seguras. Se incluyen las siguientes consideraciones:
● Implementación del ciclo de vida y la residencia de los datos para los requisitos regulatorios aplicables
● Mecanismos de seguridad que identifican vulnerabilidades y protegen servicios y recursos (p. ej., Identity-Aware Proxy [IAP] y Web Security Scanner)
● Mecanismos de seguridad que protegen o analizan manifiestos, dependencias y objetos binarios de las aplicaciones (p. ej., Container Analysis)
● Almacenamiento, acceso y rotación de secretos y claves de encriptación de aplicaciones (p. ej., Secret Manager o Cloud Key Management Service)
● Autenticación en servicios de Google (p. ej., credenciales predeterminadas de la aplicación, JSON Web Token [JWT] y OAuth 2.0)
● Administración y autenticación de cuentas de usuario final con Identity Platform
● Roles de Identity and Access Management (IAM) para usuarios, grupos y cuentas de servicio
● Seguridad de comunicaciones servicio a servicio (p. ej., malla de servicios, políticas de red de Kubernetes y espacios de nombres de Kubernetes)
● Ejecutar servicios con acceso sin claves y con menos privilegios (p. ej., Workload Identity y la federación de identidades para cargas de trabajo)
● Autenticación basada en certificados (p. ej., SSL, mTLS)
● Niveles de cadena de suministro para artefactos de software (SLSA)
1.3 Elige opciones de almacenamiento para los datos de aplicaciones. Se incluyen las siguientes consideraciones:
● Acceso a objetos por tiempo limitado
● Requisitos de retención de datos
● Comparación entre datos estructurados y no estructurados (p. ej., SQL frente a NoSQL)
● Coherencia sólida frente a coherencia eventual
● Volumen de los datos
● Patrones de acceso a los datos:
● Procesamiento de transacciones en línea (OLTP) en comparación con el almacenamiento de datos
Sección 2: Compila y prueba aplicaciones
2.1 Configura tu entorno de desarrollo local. Se incluyen las siguientes consideraciones:
● Emular los servicios de Google Cloud para el desarrollo local de aplicaciones
● Usar la consola de Google Cloud, el SDK de Google Cloud, Cloud Shell y Cloud Workstations
● Usar herramientas para desarrolladores (p. ej., IDE comunes, Cloud Code o Skaffold)
● Autenticación en servicios de Google Cloud (p. ej., proxy de Auth de Cloud SQL, proxy de Auth de AlloyDB)
2.2 Creando. Se incluyen las siguientes consideraciones:
● Administrar el control de código fuente
● Crear imágenes de contenedor seguras a partir de código
● Desarrollar una canalización de integración continua usando servicios (p. ej., Cloud Build y Artifact Registry) que construyen artefactos de implementación
● Optimización de código y compilación de pruebas
2.3 Prueba. Se incluyen las siguientes consideraciones:
● Prueba de unidades
● Pruebas de integración, incluido el uso de emuladores
● Pruebas de rendimiento
● Pruebas de carga
● Pruebas de falla o ingeniería del caos
Sección 3: Implementa aplicaciones
3.1 Adopta estrategias apropiadas de lanzamiento de funciones. Se incluyen las siguientes consideraciones:
● Pruebas A/B
● Marcas de función
● Retrocompatibilidad.
● APIs de control de versiones (p. ej., Apigee)
3.2 Implementa aplicaciones en un entorno de computación sin servidores. Se incluyen las siguientes consideraciones:
● Implementar aplicaciones desde el código fuente
● Usar activadores para invocar funciones
● Configuración de receptores de eventos (p. ej., Eventarc y Pub/Sub)
● Exponer y proteger las APIs de aplicación (p. ej., Apigee)
3.3 Implementa aplicaciones y servicios en Google Kubernetes Engine (GKE). Se incluyen las siguientes consideraciones:
● Implementar una aplicación alojada en contenedores en GKE
● Integrar el control de acceso basado en roles (RBAC) de Kubernetes con la IAM
● Definir las especificaciones de una carga de trabajo (p. ej., requisitos del recurso)
● Compilar una imagen de contenedor con Cloud Build
Sección 4: Integra una aplicación en los servicios de Google Cloud
4.1 Integra una aplicación en servicios de datos y almacenamiento. Se incluyen las siguientes consideraciones:
● Administrar conexiones a almacenes de datos (p. ej., Cloud SQL, Firestore, Bigtable y Cloud Storage)
● Lectura o escritura de datos en varios almacenes de datos o desde ellos
● Escribir una aplicación que publique o consuma datos de forma asíncrona (p. ej., desde fuentes de datos de transmisión o Pub/Sub)
● Organizar servicios de aplicaciones con Workflows, Eventarc, Cloud Tasks y Cloud Scheduler
4.2 Integrar una aplicación en las APIs de Google Cloud. Se incluyen las siguientes consideraciones:
● Habilitar los servicios de Google Cloud
● Realizar llamadas a la API usando opciones admitidas (p. ej., una biblioteca cliente de Cloud, la API de REST o gRPC y el Explorador de APIs) con las siguientes consideraciones:
○ Agrupar las solicitudes en lotes
○ Restringir los datos que se devuelven
○ Ordenar los resultados en páginas
○ Almacenar los resultados en caché
○ Manejo de errores (p. ej., retirada exponencial)
● Usar cuentas de servicio para realizar llamadas a la API de Cloud
● Integración en Google Cloud's operations suite
Sección 1: Diseña aplicaciones nativas de la nube con alta escalabilidad, disponibilidad y confiabilidad (aprox. el 27% del examen)
1.1 Diseña aplicaciones y APIs de alto rendimiento. Se incluyen las siguientes consideraciones:
● Microservicios
● Características/desventajas de velocidad de escalamiento de IaaS (infraestructura como servicio), CaaS (contenedor como servicio), PaaS (plataforma como servicio) y FaaS (función como servicio)
● Comprender cómo se distribuyen geográficamente los servicios de Google Cloud (p. ej., latencia, servicios regionales y zonales)
● Administración de las sesiones de usuario
● Soluciones de almacenamiento en caché
● REST de HTTP en comparación con gRPC (llamada de procedimiento remoto de Google)
● Diseñar servicios de API con API Gateway y Cloud Endpoints
● Aplicaciones asíncronas con acoplamiento bajo (p. ej., Apache Kafka, Eventarc y Pub/Sub)
● Instrumentar código para producir métricas, registros y seguimientos
● Cierre ordenado de las aplicaciones cuando se cierra la plataforma
● Escribir código tolerante a errores
1.2 Diseña aplicaciones seguras. Se incluyen las siguientes consideraciones:
● Implementar el ciclo de vida de los datos y los requisitos de residencia relevantes para las reglamentaciones aplicables
● Mecanismos de seguridad que protegen servicios y recursos
● Mecanismos de seguridad que aseguran o escanean manifiestos y objetos binarios de la aplicación
● Almacenamiento, acceso y rotación de secretos y claves de aplicación (p. ej., Secret Manager o Cloud Key Management Service)
● Autenticación en servicios de Google (p. ej., credenciales predeterminadas de la aplicación, JSON Web Token [JWT] y OAuth 2.0)
● Administración y autenticación de cuentas de usuario final con Identity Platform
● Roles de IAM para cuentas de servicio, usuarios y grupos
Seguridad de comunicaciones servicio a servicio (p. ej., malla de servicios, políticas de red de Kubernetes y espacios de nombres de Kubernetes)
● Ejecutar servicios con acceso con privilegio mínimo (p. ej., Workload Identity)
● Autenticación basada en certificados (p. ej., SSL, mTLS)
1.3 Administra datos de aplicaciones. Se incluyen las siguientes consideraciones:
● Definir esquemas para bases de datos administradas por Google (p. ej., Firestore, Cloud Spanner, Bigtable y Cloud SQL)
● Definir de una estructura de clave de almacenamiento de datos para aplicaciones con una tasa alta de operaciones de escritura
● Elegir opciones de almacenamiento de datos en función de las consideraciones de casos de uso, como las siguientes:
○ Acceso a objetos por tiempo limitado
○ Requisitos de retención de datos
○ Datos estructurados o no estructurados
○ Coherencia sólida frente a coherencia eventual
○ Volumen de los datos
○ Patrones de acceso a los datos
○ Procesamiento de transacciones en línea (OLTP) en comparación con el almacenamiento de datos
Sección 2: Compila y prueba de aplicaciones (aprox. el 20% del examen)
2.1 Configura tu entorno de desarrollo local. Se incluyen las siguientes consideraciones:
● Emular los servicios de Google Cloud para el desarrollo local de aplicaciones
● Usar las herramientas de la consola de Google Cloud, el SDK de Google Cloud y Cloud Shell
● Usar herramientas para desarrolladores (p. ej., Cloud Code y Skaffold)
2.2 Creando. Se incluyen las siguientes consideraciones:
● Administrar el control de código fuente
● Crear imágenes de contenedor seguras a partir de código
● Desarrollar una canalización de integración continua usando servicios (p. ej., Cloud Build y Artifact Registry) que construyen artefactos de implementación
● Optimización de código y compilación de pruebas
2.3 Prueba. Se incluyen las siguientes consideraciones:
● Pruebas de unidades (p. ej., emuladores)
● Pruebas de integración
● Pruebas de rendimiento
● Pruebas de carga
● Pruebas de falla o ingeniería del caos
Sección 3: Implementa aplicaciones (aprox. el 18% del examen)
3.1 Adopta estrategias apropiadas de lanzamiento de funciones. Se incluyen las siguientes consideraciones:
● Pruebas A/B
● Marcas de función
● Retrocompatibilidad.
3.2 Implementa aplicaciones en un entorno de computación sin servidores. Se incluyen las siguientes consideraciones:
● Dimensionamiento y escalamiento de entornos sin servidores
● Implementación a partir del código fuente
● Invocación mediante activadores
● Configuración de los receptores de eventos
● Exponer y proteger las APIs de aplicación (p. ej., API Gateway y Cloud Endpoints)
3.3 Implementa aplicaciones y servicios en Google Kubernetes Engine (GKE). Se incluyen las siguientes consideraciones:
● Implementar una aplicación alojada en contenedores en GKE
● Integrar el RBAC de Kubernetes en Identity and Access Management (IAM)
● Configurar espacios de nombres de Kubernetes
● Definir las especificaciones de una carga de trabajo (p. ej., requisitos del recurso)
● Compilar una imagen de contenedor con Cloud Build
● Configurar la accesibilidad de la aplicación según el tráfico de los usuarios y otros servicios
● Administrar el ciclo de vida de un contenedor
Sección 4: Integración de los servicios de Google Cloud (aprox. el 20% del examen)
4.1 Integra una aplicación en servicios de datos y almacenamiento. Se incluyen las siguientes consideraciones:
● Administrar conexiones a almacenes de datos (p. ej., Cloud SQL, Cloud Spanner, Firestore, Bigtable y Cloud Storage)
● Lectura o escritura de datos en varios almacenes de datos
● Escribir una aplicación que publique o consuma datos de forma asíncrona (p. ej., de Pub/Sub)
4.2 Integra una aplicación en los servicios de procesamiento. Se incluyen las siguientes consideraciones:
● Usar el descubrimiento de servicios (p. ej., Directorio de servicios
● Leer los metadatos de las instancias para obtener la configuración de las aplicaciones
● Iniciar y cerrar ordenadamente las aplicaciones
4.3 Integra las API de Cloud en las aplicaciones. Se incluyen las siguientes consideraciones:
● Habilitar una API de Cloud
● Realizar llamadas a la API usando opciones admitidas (p. ej., una biblioteca cliente de Cloud, la API de REST o gRPC y el Explorador de APIs) con las siguientes consideraciones:
○ Agrupar las solicitudes en lotes
○ Restringir los datos que se devuelven
○ Ordenar los resultados en páginas
○ Almacenar los resultados en caché
○ Manejo de errores (p. ej., retirada exponencial)
● Usar cuentas de servicio para realizar llamadas a la API de Cloud
Sección 5: Administra aplicaciones implementadas (aprox. el 15% del examen)
5.1 Administración de servicios de computación en la nube (p. ej., Google Kubernetes Engine, sin servidores). Se incluyen las siguientes consideraciones:
● Análisis de los eventos del ciclo de vida
● Usar métricas externas y alertas correspondientes
● Configurar el ajuste de escala automático de las cargas de trabajo
5.2 Solución de problemas de aplicaciones. Se incluyen las siguientes consideraciones:
● Usar Debugger
● Usar Cloud Logging.
● Usar Cloud Monitoring
● Usar Cloud Profiler
● Usar Cloud Trace
● Usar Error Reporting
● Usar la documentación, los foros y el servicio de asistencia de Google Cloud