Professional Cloud Developer

Guía para el examen de certificación

Un Professional Cloud Developer compila aplicaciones escalables y con alta disponibilidad mediante las prácticas recomendadas y herramientas de Google, que aprovechan los servicios completamente administrados. Se trata de una persona con experiencia en el uso de aplicaciones nativas de la nube, entornos de ejecución, herramientas para desarrolladores y bases de datos de última generación. También domina al menos un lenguaje de programación de uso general y tiene habilidades para producir métricas y registros significativos a fin de depurar código y realizar seguimientos de este.

* Nota: El examen no evalúa directamente tu habilidad para codificar. Se enfoca en tu habilidad para aprovechar los servicios de GCP y las recomendaciones 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.

Caso de éxito de muestra

Algunas de las preguntas del examen de certificación de Professional Cloud Developer podrían referirse a casos de éxito en los que se describen un negocio ficticio y un concepto de solución. El propósito de este caso de éxito es ofrecer contexto adicional para ayudarte a elegir tus respuestas. Recomendamos que revises el caso de éxito de muestra que puede aparecer en el examen.

HipLocal

Sección 1: Diseño de aplicaciones nativas de la nube con alta escalabilidad, disponibilidad y confiabilidad

    1.1 Diseña aplicaciones y API de alto rendimiento. Se incluyen las siguientes consideraciones:

    • Microservicios
    • Características de la velocidad de escalamiento y diferencias entre IaaS (infraestructura como servicio), CaaS (contenedor como servicio) y PaaS (plataforma como servicio)
    • Evaluación de distintos servicios y tecnologías
    • Distribución geográfica de los servicios de Google Cloud (p. ej., latencia, servicios regionales y zonales)
    • Definición de una estructura clave para aplicaciones con una tasa alta de operaciones de escritura mediante Cloud Storage, Cloud Bigtable, Cloud Spanner o Cloud SQL
    • Administración de las sesiones de usuario
    • Soluciones de almacenamiento en caché
    • Implementación y seguridad de servicios de API
    • Aplicaciones de estructura flexible con eventos asíncronos de Cloud Pub/Sub
    • Cierre ordenado de rescisión en la plataforma
    • Prácticas recomendadas y documentación sugerida de Google

    1.2 Diseña aplicaciones seguras. Se incluyen las siguientes consideraciones:

    • Implementación de requisitos pertinentes para las regulaciones aplicables (p. ej., limpieza de datos)
    • Mecanismos de seguridad que protegen servicios y recursos
    • Mecanismos de seguridad que aseguran o escanean manifiestos y objetos binarios de la aplicación
    • Almacenamiento y rotación de secretos de aplicación con Cloud KMS
    • Autenticación en servicios de Google (p. ej., credenciales predeterminadas de la aplicación, JWT, OAuth 2.0)
    • Funciones de IAM para cuentas de usuarios, grupos y servicios
    • Seguridad de comunicaciones servicio a servicio (p. ej., malla de servicios, políticas de red de Kubernetes y espacios de nombres de Kubernetes)
    • Configurar una computadora o Workload Identity en acceso con menos privilegios
    • Autenticación basada en certificados (p- ej., SSL, mTLS)
    • Prácticas recomendadas y documentación sugerida de Google

    1.3 Administra datos de aplicaciones. Se incluyen las siguientes tareas:

    • Definición de esquemas de base de datos para bases de datos administradas por Google (p. ej., Cloud Firestore, Cloud Spanner, Cloud Bigtable y Cloud SQL)
    • Elegir opciones de almacenamiento de datos en función de las consideraciones de casos de uso, como las siguientes:
      • URL firmadas por Cloud Storage para el contenido subido por usuarios
      • Datos estructurados frente a datos no estructurados
      • Diferencia entre coherencia sólida y eventual
      • Volumen de los datos
      • Frecuencia de acceso a los datos en Cloud Storage
    • Cumplir con las prácticas recomendadas y el uso de la documentación sugerida de Google

    1.4 Refactoriza aplicaciones para migrarlas a Google Cloud. Se incluyen las siguientes tareas:

    • Uso de servicios administrados
    • Migración de una aplicación monolítica a microservicios
    • Prácticas recomendadas y documentación sugerida de Google

Sección 2: Compilación y prueba de aplicaciones

    2.1 Configura tu entorno de desarrollo local. Se incluyen las siguientes consideraciones:

    • Emulación de los servicios de Google Cloud para el desarrollo local de aplicaciones
    • Creación de proyectos de Google Cloud

    2.2 Escribe código. Se incluyen las siguientes consideraciones:

    • Diseño de algoritmos
    • Patrones de aplicación modernos
    • Eficiencia
    • Desarrollo eficaz de software
    • Prueba de unidades

    2.3 Prueba. Se incluyen las siguientes consideraciones:

    • Pruebas de rendimiento
    • Pruebas de integración
    • Pruebas de carga

    2.4 Compila. Se incluyen las siguientes consideraciones:

    • Creación de un Cloud Source Repository y confirmación de código en él
    • Creación de imágenes de contenedor a partir de código
    • Desarrollo de una canalización de integración continua mediante servicios (p. ej., Cloud Build y Container Registry) que construyen artefactos de implementación
    • Revisión y mejora de la eficacia de una canalización de integración continua

Sección 3: Implementación de aplicaciones

    3.1 Recomienda estrategias de implementación adecuadas para el entorno de procesamiento objetivo (Compute Engine, Google Kubernetes Engine). Se incluyen las siguientes estrategias:

    • Implementaciones azul-verde
    • Implementaciones de división del tráfico
    • Implementaciones progresivas
    • Implementaciones Canary

    3.2 Implementa aplicaciones y servicios en Compute Engine. Se incluyen las siguientes tareas:

    • Instalar una aplicación en una VM
    • Modificar la cuenta de servicio de la VM
    • Actualizar manualmente las dependencias de la VM
    • Exportar las métricas y los registros de aplicación
    • Administrar las imágenes y los objetos binarios de VM de Compute Engine

    3.3 Implementa aplicaciones y servicios en Google Kubernetes Engine (GKE). Se incluyen las siguientes tareas:

    • Implementar una aplicación en contenedores en GKE
    • Administrar la relación entre Kubernetes RBAC y Google Cloud IAM
    • Configurar el control de acceso y los 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
    • Definir implementaciones, servicios y configuraciones del pod

    3.4 Implementa una función de Cloud Functions. Se incluyen los siguientes tipos:

    • Funciones de Cloud Functions que se activan mediante eventos (p. ej., eventos de Cloud Pub/Sub o eventos de notificación de cambio de objeto de Cloud Storage)
    • Funciones de Cloud Functions que se invocan mediante HTTP
    • Protege Cloud Functions

    3.5 Utiliza cuentas de servicio Se incluyen las siguientes tareas:

    • Crear una cuenta de servicio según el principio de menor privilegio
    • Descargar y usar un archivo de claves privadas de una cuenta de servicio

Sección 4: Integrar los servicios de Google Cloud Platform

    4.1 Integra una aplicación en servicios de datos y almacenamiento. Se incluyen las siguientes tareas:

    • Leer y escribir datos de y desde varias bases de datos (p. ej., SQL, JDBC)
    • Conectarse a un almacén de datos (p. ej., Cloud SQL, Cloud Spanner, Cloud Firestore, Cloud Bigtable)
    • Escribir una aplicación que publique o consuma datos de forma asíncrona (p. ej., de Cloud Pub/Sub)
    • Almacenar objetos en Cloud Storage y recuperarlos
    • Usar la interfaz de línea de comandos (CLI), usar Google Cloud Console y las herramientas de Cloud Shell

    4.2 Integra una aplicación en los servicios de procesamiento. Se incluyen las siguientes tareas:

    • Implementar descubrimiento de servicios en Google Kubernetes Engine y Compute Engine
    • Leer los metadatos de las instancias para obtener la configuración de las aplicaciones
    • Autenticar usuarios mediante Identity-Aware Proxy y el flujo web de OAuth 2.0
    • Usar la interfaz de línea de comandos (CLI), usar Google Cloud Console y las herramientas de Cloud Shell

    4.3 Integra las API de Google Cloud en las aplicaciones. Se incluyen las siguientes tareas:

    • Habilitar una API de Google Cloud
    • Realizar llamadas a la API con una biblioteca cliente de Cloud, la API de REST o el Explorador de API, con las siguientes consideraciones:
      • Agrupar las solicitudes en lotes
      • Restringir los datos que se muestran
      • Ordenar los resultados en páginas
      • Almacenar los resultados en caché
      • Error de control (p. ej., retirada exponencial)
    • Usar cuentas de servicio para realizar llamadas a las API de Google

Sección 5: Administrar la supervisión del rendimiento de las aplicaciones

    5.1 Administra VM de Compute Engine. Se incluyen las siguientes tareas:

    • Depurar una imagen de VM personalizada mediante el puerto en serie
    • Analizar una falla de inicio de una VM de Compute Engine
    • Analizar registros
    • Enviar registros de una VM a Cloud Monitoring
    • Inspeccionar la utilización de recursos a lo largo del tiempo
    • Ver registros de sistema de una VM

    5.2 Administra cargas de trabajo de Google Kubernetes Engine. Se incluyen las siguientes tareas:

    • Configurar los registros y la supervisión
    • Analizar los eventos de ciclo de vida del contenedor (p. ej., CrashLoopBackOff, ImagePullErr)
    • Analizar registros
    • Usar métricas externas y alertas correspondientes
    • Configurar el ajuste de escala automático de las cargas de trabajo

    5.3 Soluciona problemas de rendimiento de las aplicaciones. Se incluyen las siguientes tareas:

    • Crear un panel de supervisión
    • Escribir métricas personalizadas y crearlas a partir de registros
    • Graficar métricas
    • Usar el Depurador de Cloud
    • Revisar seguimientos de pila para analizar errores
    • Exportar registros de Google Cloud
    • Ver registros en Google Cloud Console
    • Generar perfiles de rendimiento de solicitud y respuesta
    • Generar perfiles de servicios
    • Revisar el rendimiento de una aplicación (p. ej., Cloud Trace, Prometheus y OpenCensus)
    • Supervisar y generar perfiles de una aplicación en ejecución
    • Usar la documentación, los foros y la Atención al cliente de Google