Professional Cloud Developer

Tätigkeitsbeschreibung

Ein Professional Cloud Developer erstellt skalierbare und hochverfügbare Anwendungen unter Einsatz von Praktiken und Tools, die von Google empfohlen werden. Er hat Praxiserfahrung mit cloudnativen Anwendungen, Entwicklertools, verwalteten Diensten und Datenbanken der nächsten Generation. Ein Professional Cloud Developer ist mit mindestens einer Allzweck-Programmiersprache vertraut und kann aussagekräftige Messwerte und Logs generieren, um damit den Code zu verfolgen und Fehler zu beheben.

Beispielfallstudie

Einige Fragen der Zertifizierungsprüfung zum Professional Cloud Developer beziehen sich möglicherweise auf eine Fallstudie, in der ein fiktives Unternehmen und Lösungskonzept beschrieben werden. Mithilfe dieser Fallstudien soll Ihnen zusätzlicher Kontext als Hilfestellung für Ihre Antworten zur Verfügung gestellt werden. Wir empfehlen Ihnen, sich die folgende Beispielfallstudie anzusehen, da sie für die Prüfung relevant sein könnte.

HipLocal

* Hinweis: Bei dieser Prüfung werden keine Programmierkenntnisse an sich abgefragt. Vielmehr wird geprüft, wie Sie die GCP und die empfohlenen Praktiken einsetzen, um skalierbare und hochverfügbare Anwendungen zu entwickeln, zu testen und zu verwalten. Sofern Sie mindestens eine Allzweck-Programmiersprache beherrschen, müssten Sie in der Lage sein, alle Fragen mit Code-Snippets zu verstehen.

Prüfungsleitfaden

Abschnitt 1: Hoch skalierbare, verfügbare und zuverlässige cloudnative Anwendungen entwerfen

    1.1 Hochleistungsfähige Anwendungen und APIs erstellen Folgende Punkte gehören dazu:

    • Mikrodienste
    • Merkmale/Unterschiede der Skalierungsgeschwindigkeit zwischen IaaS (Infrastructure as a Service), CaaS (Container as a Service) und PaaS (Platform as a Service)
    • Geografische Verteilung der Google Cloud-Dienste (z. B. Latenz, regionale/zonale Dienste)
    • Schlüsselstruktur für Anwendungen mit hohen Schreibraten mithilfe von Cloud Storage, Cloud Bigtable, Cloud Spanner oder Cloud SQL definieren
    • Sitzungsverwaltung für Nutzer
    • Caching-Lösungen
    • API-Dienste bereitstellen und schützen
    • Lose miteinander verknüpfte asynchrone Anwendungen (z. B. Apache Kafka, Pub/Sub)
    • Ordnungsgemäßes Herunterfahren beim Beenden der Plattform
    • Von Google empfohlene Praktiken und Dokumentation

    1.2 Sichere Anwendungen entwerfen Folgende Punkte gehören dazu:

    • Anforderungen umsetzen, die für geltende Bestimmungen relevant sind (z. B. Datenlöschung)
    • Sicherheitsmechanismen, die Dienste und Ressourcen schützen
    • Sicherheitsmechanismen, die Binärdateien von Anwendungen ebenso wie Manifeste schützen/prüfen
    • Anwendungs-Secrets und -schlüssel speichern und rotieren (z. B. Cloud KMS, HashiCorp Vault)
    • Authentifizierung bei Google-Diensten (z. B. Standardanmeldedaten für Anwendungen, JSON Web Token (JWT), OAuth 2.0)
    • IAM-Rollen für Nutzer, Gruppen und Dienstkonten
    • Kommunikation zwischen Diensten schützen (z. B. Service Mesh, Kubernetes-Netzwerkrichtlinien und -Namespaces)
    • Dienste nur mit den geringsten Zugriffsrechten ausführen (z. B. Workload Identity)
    • Auf Zertifikaten basierende Authentifizierung (z. B. SSL, mTLS)
    • Von Google empfohlene Praktiken und Dokumentation

    1.3 Anwendungsdaten verwalten Folgende Punkte gehören dazu:

    • Datenbankschemas für von Google verwaltete Datenbanken definieren (z. B. Cloud Firestore, Cloud Spanner, Cloud Bigtable, Cloud SQL)
    • Datenspeicheroptionen basierend auf Überlegungen zum Anwendungsfall auswählen, wie beispielsweise:
      • Zeitlich begrenzter Zugriff auf Objekte
      • Anforderungen an die Datenspeicherung
      • Strukturierte Daten im Vergleich zu unstrukturierten Daten
      • Strong Consistency im Vergleich zu Eventual Consistency
      • Datenvolumen
      • Häufigkeit des Datenzugriffs in Cloud Storage
    • Von Google empfohlene Praktiken und Dokumentation

    1.4 Anwendungsmodernisierung Folgende Punkte gehören dazu:

    • Verwaltete Dienste verwenden
    • Monolithische Anwendung in Mikrodienste refaktorieren
    • Zustandslose, horizontal skalierbare Dienste entwickeln
    • Von Google empfohlene Praktiken und Dokumentation

Abschnitt 2: Anwendungen erstellen und testen

    2.1 Lokale Entwicklungsumgebung einrichten Folgende Punkte gehören dazu:

    • Google Cloud-Dienste für die lokale Anwendungsentwicklung emulieren
    • Google Cloud-Projekte erstellen
    • Befehlszeile, Google Cloud Console und Cloud Shell-Tools verwenden
    • Entwicklertools verwenden (z. B. Cloud Code, Skaffold)

    2.2 Effizienten Code schreiben Folgende Punkte gehören dazu:

    • Design des Algorithmus
    • Moderne Anwendungsmuster
    • Methoden zur Softwareentwicklung
    • Code debuggen und Profile für Code erstellen

    2.3 Tests Folgende Punkte gehören dazu:

    • Einheitentest
    • Integrationstests
    • Leistungstests
    • Lasttests

    2.4 Erstellen Folgende Punkte gehören dazu:

    • Versionsverwaltung
    • Sichere Container-Images aus Code erstellen
    • Continuous-Integration-Pipeline mit Diensten entwickeln (z. B. Cloud Build, Container Registry), die Bereitstellungsartefakte erstellen
    • Effizienz der Continuous-Integration-Pipeline prüfen und verbessern

Abschnitt 3: Anwendungen bereitstellen

    3.1 Geeignete Bereitstellungsstrategien mit den geeigneten Tools (z. B. Cloud Build, Spinnaker, Tekton, Anthos Configuration Manager) für die jeweilige Computing-Umgebung (z. B. Compute Engine, Google Kubernetes Engine) empfehlen Folgende Punkte gehören dazu:

    • Blau/Grün-Bereitstellungen
    • Bereitstellungen zur Traffic-Aufteilung
    • Rollierende Bereitstellungen
    • Canary-Deployments

    3.2 Anwendungen und Dienste auf Compute Engine bereitstellen Folgende Punkte gehören dazu:

    • Anwendungen auf einer VM installieren
    • Dienstkonten für VMs verwalten
    • Anwendungen booten
    • Anwendungslogs und -messwerte exportieren
    • Compute Engine-VM-Images und -Binärprogramme verwalten

    3.3 Anwendungen und Dienste auf Google Kubernetes Engine (GKE) bereitstellen Folgende Punkte gehören dazu:

    • Containeranwendung auf GKE bereitstellen
    • Kubernetes RBAC- und Google Cloud IAM-Beziehungen verwalten
    • Kubernetes-Namespaces konfigurieren
    • Arbeitslastspezifikationen definieren (z. B. Ressourcenbedarf)
    • Mit Cloud Build ein Container-Image erstellen
    • Zugriff von Nutzern und anderen Diensten auf eine Anwendung konfigurieren
    • Containerlebenszyklus verwalten
    • Kubernetes Ressourcen und Konfigurationen festlegen

    3.4 Cloud Functions-Funktion bereitstellen Folgende Punkte gehören dazu:

    • Cloud Functions-Funktionen, die durch ein Ereignis von Google Cloud-Diensten ausgelöst werden (z. B. Pub/Sub, Cloud Storage-Objekte)
    • Cloud Functions-Funktionen, die über HTTP aufgerufen werden
    • Cloud Functions-Funktionen schützen

    3.5 Dienstkonten verwenden Folgende Punkte gehören dazu:

    • Dienstkonto nach dem Grundsatz der geringsten Berechtigung erstellen
    • Privaten Schlüssel für ein Dienstkonto herunterladen und verwenden

Abschnitt 4: Google Cloud-Dienste einbinden

    4.1 Anwendung in Daten- und Speicherdienste einbinden Folgende Punkte gehören dazu:

    • Daten aus verschiedenen Datenbanken lesen bzw. in sie schreiben (z. B. SQL)
    • Verbindung zu einem Datenspeicher herstellen (z. B. Cloud SQL, Cloud Spanner, Firestore, Cloud Bigtable)
    • Anwendung schreiben, die Daten asynchron veröffentlicht/liest (z. B. aus Cloud Pub/Sub)
    • Objekte in Cloud Storage speichern und von dort abrufen

    4.2 Anwendung in Computing-Dienste einbinden Folgende Punkte gehören dazu:

    • Service Discovery in GKE und Compute Engine implementieren
    • Instanzmetadaten lesen, um Anwendungskonfigurationen abzurufen
    • Nutzer mit OAuth 2.0 Web Flow und Identity-Aware Proxy authentifizieren
    • Mit Workload Identity bei APIs authentifizieren

    4.3 Google Cloud APIs in Anwendungen einbinden Folgende Punkte gehören dazu:

    • Eine Cloud API aktivieren
    • API-Aufrufe mit den unterstützten Objekten (z. B. Cloud Client Library, REST API oder gRPC, APIs Explorer) ausführen. Hierbei sollte Folgendes beachtet werden:
      • Batchanfragen
      • Einschränkung der Rückgabedaten
      • Paginierungsergebnisse
      • Caching-Ergebnisse
      • Fehlerbehebung (z. B. exponentieller Backoff)
    • Dienstkonten verwenden, um Cloud API-Aufrufe auszuführen,

Abschnitt 5: Leistungsüberwachung von Anwendungen verwalten

    5.1 Compute Engine-VMs verwalten Folgende Punkte gehören dazu:

    • Fehler in einem benutzerdefinierten VM-Image mit seriellem Port beheben
    • Fehlstart einer Compute Engine-VM diagnostizieren
    • Logs von einer VM an Cloud Logging senden
    • Logs aufrufen und analysieren
    • Ressourcennutzung im Zeitverlauf ermitteln

    5.2 Google Kubernetes Engine-Arbeitslasten verwalten Folgende Punkte gehören dazu:

    • Logging und Monitoring konfigurieren
    • Ereignisse im Containerlebenszyklus analysieren (z. B. CrashLoopBackOff, ImagePullErr)
    • Logs aufrufen und analysieren
    • Benutzerdefinierte Messwerte schreiben und exportieren
    • Externe Messwerte und zugehörige Benachrichtigungen verwenden
    • Autoscaling von Arbeitslasten konfigurieren

    5.3 Leistungsprobleme in der Anwendung beheben Folgende Punkte gehören dazu:

    • Monitoring-Dashboard erstellen
    • Benutzerdefinierte Messwerte schreiben und Messwerte aus Logs erstellen
    • Cloud Debugger verwenden
    • Stacktraces zur Fehleranalyse prüfen
    • Logs aus Google Cloud exportieren
    • Logs in der Google Cloud Console ansehen
    • Anwendungsleistung prüfen (z. B. Cloud Trace, Prometheus, OpenTelemetry)
    • Laufende Anwendung überwachen und Profil erstellen
    • Dokumentation, Foren und den Google Cloud-Support nutzen