Software-Entwicklung
- Moderne Software-Entwicklung
- Verstehen und Entwerfen von dienstbasierten Anwendungen
- Verstehen gängiger API-Konzepte und -Standards
- Verstehen von Aspekten der Datenspeicherung, des Dienststatus und der Sitzungsverwaltung
- Entwurf von Software, die in Containern ausgeführt werden kann
- Entwurf von Software, die in Cloud-Diensten eingesetzt werden kann
- Bewusstsein für die Risiken bei der Migration und Integration von monolithischer Legacy-Software
- Verständnis allgemeiner Anwendungssicherheitsrisiken und Möglichkeiten, diese zu mindern
- Verstehen des Konzepts der agilen Softwareentwicklung
- Verständnis des Konzepts von DevOps und seiner Auswirkungen auf Softwareentwickler und -betreiber
- Standardkomponenten und -plattformen für Software
- Merkmale und Konzepte von Objektspeichern
- Merkmale und Konzepte von relationalen und NoSQL-Datenbanken
- Merkmale und Konzepte von Message-Brokern und Message-Queues
- Merkmale und Konzepte von Big-Data-Diensten
- Merkmale und Konzepte von Anwendungs-Laufzeiten / PaaS
- Merkmale und Konzepte von Content Delivery Networks
- Quellcode-Verwaltung
- Verstehen der Git-Konzepte und der Repository-Struktur
- Verwalten von Dateien innerhalb eines Git-Repositorys
- Verwalten von Branches und Tags
- Arbeiten mit entfernten Repositories und Zweigen sowie Submodulen
- Zusammenführen von Dateien und Branches
- Kenntnis von SVN und CVS, einschließlich Konzepten für zentralisierte und verteilte SCM-Lösungen
- Kontinuierliche Integration und kontinuierliche Bereitstellung
- Verstehen der Konzepte von Continuous Integration und Continuous Delivery
- Verstehen der Komponenten einer CI/CD-Pipeline, einschließlich Builds, Unit-, Integrations- und Akzeptanztests, Artefaktmanagement, Auslieferung und Bereitstellung
- Verstehen von Best Practices für die Bereitstellung
- Die Architektur und die Funktionen von Jenkins verstehen, einschließlich Jenkins Plugins, Jenkins API, Benachrichtigungen und verteilte Builds
- Definieren und Ausführen von Jobs in Jenkins, einschließlich der Handhabung von Parametern
- Fingerprinting, Artefakte und Artefakt-Repositories
- Verstehen, wie Jenkins Continuous-Delivery-Pipelines modelliert und Implementierung einer deklarativen Continuous-Delivery-Pipeline in Jenkins
- Kenntnis der möglichen Authentifizierungs- und Autorisierungsmodelle
- Verständnis für das Pipeline Plugin
- Verstehen der Funktionen wichtiger Jenkins-Module wie Copy Artifact Plugin, Fingerprint Plugin, Docker Pipeline, Docker Build and Publish Plugin, Git Plugin, Credentials Plugin
- Kenntnis von Artifactory und Nexus
Container-Verwaltung
- Container-Nutzung
- Verstehen der Docker-Architektur
- Vorhandene Docker-Images aus einer Docker-Registry verwenden
- Dockerdateien erstellen und Images aus Dockerdateien erzeugen
- Hochladen von Images in eine Docker-Registry
- Betrieb von und Zugriff auf Docker-Container
- Verbinden von Containern mit Docker-Netzwerken
- Verwendung von Docker-Volumes für die gemeinsame und dauerhafte Speicherung von Containern
- Container-Bereitstellung und Orchestrierung
- Verstehen des Anwendungsmodells von Docker Compose
- Erstellen und Ausführen von Docker Compose-Dateien (Version 3 oder höher)
- Die Architektur und Funktionalität des Docker Swarm-Modus verstehen
- Ausführen von Containern in einem Docker Swarm, einschließlich der Definition von Services, Stacks und der Verwendung von Secrets
- Die Architektur und das Anwendungsmodell Kubernetes verstehen
- Definieren und Verwalten einer Container-basierten Anwendung für Kubernetes, einschließlich der Definition von Deployments, Services, ReplicaSets und Pods
- Container-Infrastruktur
- Docker Machine verwenden, um einen Docker-Host einzurichten
- Verstehen von Docker-Netzwerkkonzepten, einschließlich Overlay-Netzwerken
- Erstellen und Verwalten von Docker-Netzwerken
- Verstehen von Docker-Speicherkonzepten
- Erstellen und Verwalten von Docker-Volumes
- Kenntnis von Flocker und Flannel
- Verstehen der Konzepte von Service Discovery
- Grundlegende Kenntnisse der Funktionen von CoreOS Container Linux, rkt und etcd
- Verstehen der Sicherheitsrisiken von Container-Virtualisierung und Container-Images und wie man sie entschärfen kann
Bereitstellung von Maschinen
- Einsatz von virtuellen Maschinen
- Verstehen der Vagrant-Architektur und -Konzepte, einschließlich Speicherung und Vernetzung
- Abrufen und Verwenden von Boxen aus Atlas
- Erstellen und Ausführen von Vagrantdateien
- Zugriff auf virtuelle Vagrant-Maschinen
- Freigabe und Synchronisierung von Ordnern zwischen einer virtuellen Vagrant-Maschine und dem Host-System
- Verstehen der Vagrant-Bereitstellung, einschließlich File, Shell, Ansible und Docker
- Verstehen von Multi-Maschinen-Setups
- Cloud-Bereitstellung
- Verstehen der Funktionen und Konzepte von cloud-init, einschließlich Benutzerdaten und Initialisierung und Konfiguration von cloud-init
- Verwendung von cloud-init zum Erstellen, Ändern der Größe und Einhängen von Dateisystemen, Konfigurieren von Benutzerkonten, einschließlich Anmeldedaten wie SSH-Schlüssel und Installieren von Softwarepaketen aus dem Repository der Distribution
- Die Funktionen und Auswirkungen von IaaS-Clouds und Virtualisierung auf eine Recheninstanz verstehen, z. B. Snapshotting, Pausieren, Klonen und Ressourcenbegrenzung.
- Erstellung von System-Buildern
- Die Funktionen und Eigenschaften von Packer verstehen
- Erstellen und Verwalten von Vorlagedateien
- Images aus Vorlagedateien mit verschiedenen Buildern erstellen
Software-Entwicklung
- Moderne Software-Entwicklung
- Verstehen und Entwerfen von dienstbasierten Anwendungen
- Verstehen gängiger API-Konzepte und -Standards
- Verstehen von Aspekten der Datenspeicheru ...
Mehr Informationen >>