Professional Cloud Developer

Descripción del puesto

Un Professional Cloud Developer compila aplicaciones escalables y con alta disponibilidad mediante las prácticas recomendadas y herramientas 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 tiene habilidades para producir métricas y registros significativos a fin de depurar y realizar seguimientos del 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

* 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.

Guía para el examen de certificación

Sección 1: Diseña 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, ventajas y desventajas de IaaS (infraestructura como servicio), CaaS (contenedor como servicio) y PaaS (plataforma como servicio) en cuanto a la velocidad de escalamiento
    • 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 asíncronas de estructuras flexibles (p. ej., Apache Kafka y Pub/Sub)
    • Cierre ordenado en caso de interrupciones del funcionamiento de 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 protegen o analizan manifiestos y objetos binarios de las aplicaciones
    • Almacenamiento y rotación de secretos y claves de aplicación (p ej., Cloud KMS y Vault de HashiCorp)
    • Autenticación en servicios de Google (p. ej., credenciales predeterminadas de la aplicación, JSON Web Token [JWT] y OAuth 2.0)
    • Funciones de IAM para cuentas de usuarios, grupos y servicios
    • Protección de comunicaciones entre servicios (p. ej., malla de servicios, políticas de red de Kubernetes y espacios de nombres de Kubernetes)
    • Ejecución de servicios con acceso con menos privilegios (p. ej., Workload Identity)
    • Autenticación basada en certificados (p. ej., SSL y mTLS)
    • Prácticas recomendadas y documentación sugerida de Google

    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, Cloud Bigtable y Cloud SQL)
    • 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 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
    • Prácticas recomendadas y documentación sugerida de Google

    1.4 Modernización de aplicaciones. Se incluyen las siguientes consideraciones:

    • Uso de servicios administrados
    • Refactorización de aplicaciones monolíticas a microservicios
    • Diseño de servicios sin estado y con escalamiento horizontal
    • Prácticas recomendadas y documentación sugerida de Google

Sección 2: Compila y prueba 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
    • Crear proyectos de Google Cloud
    • Usar la interfaz de línea de comandos (CLI), usar Google Cloud Console y las herramientas de Cloud Shell
    • Usar herramientas para desarrolladores (p. ej., Cloud Code y Skaffold)

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

    • Diseño de algoritmos
    • Patrones de aplicación modernos
    • Metodologías de desarrollo de software
    • Depurar código y generar perfiles de él

    2.3 Realiza pruebas. Se incluyen las siguientes consideraciones:

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

    2.4 Compila. 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 mediante servicios (p. ej., Cloud Build y Container Registry) que construyen artefactos de implementación
    • Revisar y mejorar la eficiencia de una canalización de integración continua

Sección 3: Implementa aplicaciones

    3.1 Recomienda estrategias de implementación adecuadas con las herramientas apropiadas (p. ej., Cloud Build, Spinnaker, Tekton y el Administrador de configuración de Anthos) para el entorno de procesamiento objetivo (p. ej., Compute Engine y Google Kubernetes Engine). Se incluyen las siguientes consideraciones:

    • Implementaciones azul-verde
    • Implementaciones de división del tráfico
    • Implementaciones progresivas
    • Implementación de versiones canary

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

    • Instalar una aplicación en una máquina virtual (VM)
    • Administrar cuentas de servicio para VM
    • Iniciar aplicaciones
    • Exportar métricas y registros de aplicaciones
    • 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 consideraciones:

    • Implementar una aplicación en contenedores en GKE
    • Administrar la relación entre Kubernetes RBAC y Google Cloud IAM
    • Configurar espacios de nombres de Kubernetes
    • Definir las especificaciones de una carga de trabajo (p. ej., requisitos de recursos)
    • 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 recursos y configuración de Kubernetes

    3.4 Implementa una Cloud Function. Se incluyen las siguientes consideraciones:

    • Cloud Functions que se activan mediante un evento de los servicios de Google Cloud (p. ej., Pub/Sub y objetos de Cloud Storage)
    • Cloud Functions que se invocan mediante HTTP
    • Protege Cloud Functions

    3.5 Utiliza cuentas de servicio. Se incluyen las siguientes consideraciones:

    • 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: Integra los servicios de Google Cloud

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

    • Leer y escribir datos en diversas bases de datos (p. ej., SQL)
    • Conectarse a un almacén de datos (p. ej., Cloud SQL, Cloud Spanner, Firestore y Cloud Bigtable)
    • Escribir una aplicación que publique o consuma datos de forma asíncrona (p. ej., de Pub/Sub)
    • Almacenar objetos en Cloud Storage y recuperarlos

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

    • Implementar descubrimiento de servicios en GKE 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
    • Autenticarse en las API de Cloud con Workload Identity

    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 mediante opciones admitidas (p. ej., una biblioteca cliente de Cloud, las API de REST o gRPC y 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é
      • Control de errores (p. ej., retirada exponencial)
    • Usar cuentas de servicio para realizar llamadas a las API de Cloud

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

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

    • Depurar una imagen de VM personalizada mediante el puerto en serie
    • Diagnosticar fallas de inicio de una VM de Compute Engine
    • Enviar registros de una VM a Cloud Logging
    • Visualizar y analizar registros
    • Inspeccionar la utilización de recursos a lo largo del tiempo

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

    • Configurar los registros y la supervisión
    • Analizar los eventos de ciclo de vida de los contenedores (p. ej., ImagePullErr y CrashLoopBackOff)
    • Visualizar y analizar registros
    • Escribir y explorar métricas personalizadas
    • 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 consideraciones:

    • Crear un panel de supervisión
    • Escribir métricas personalizadas y crear métricas basadas en registros
    • Usar el Depurador de Cloud
    • Revisar seguimientos de pila para analizar errores
    • Exportar registros de Google Cloud
    • Visualizar registros en Google Cloud Console
    • Revisar el rendimiento de una aplicación (p. ej., Cloud Trace, Prometheus y OpenTelemetry)
    • Supervisar y generar perfiles de una aplicación en ejecución
    • Usar la documentación, los foros y el servicio de asistencia de Google Cloud