Einführung in Continuous Delivery

Classroom training | German | Claim

Duration of training: 2 days Performance guaranteed

Objectives

Das Seminar legt den Grundstein, um den Prozess der Softwareauslieferung zu automatisieren und somit reproduzierbar und effizient zu gestalten. Hierzu wird auf das Konzept der Delivery Pipeline eingegangen, die sich schrittweise einer Produktionsumgebung annähert.
Seminar Teilnehmer lernen relevante Technologien, Frameworks und Techniken kennen, die zum Aufbau solch einer Pipeline nötig sind. Ein Praxisbeisipel (Java + Python) verdeutlicht die Prinzipien für die Einrichtung einer solchen Pipeline. Dazu wird dieses Beispiel via Gitlab verwaltet und integriert und in die Cloud-Plattform Amazon Web Services (Amazon Elastic Kubernetes Service und AWS Lambda) deployed. Die vorgestellten Prozesse und Konzepte der Continuous Delivery sind auf andere Implementierungsplatformen ebenso anwendbar.

Zusammenfassung der wichtigsten Kurs Lerninhalte:
  1. Überblick über und Motivation für Continuous Delivery
  2. Einbettung in das DevOps-Paradigma und verwandte Konzepte (Continuous Integration, Continuous Deployment, Continuous Delivery)
  3. Automatische Bereitstellung von Infrastruktur mit Docker und Terraform
  4. Test-Pyramide (Unit, Integration, GUI Tests mit Selenium)
  5. Deployment der Software in die vorgesehene Umgebung (Staging, Production)
  6. Versionierung, Rollout und Rollback
  7. Produktionsbetrieb und Monitoring der Anwendung

Target audience

  • Software-Entwickler
  • Software-Architekten

Requirements

Kenntnisse in Programmierung mit Java und Python wünschenswert.

Agenda

Tag 1

Einführung

  • Continuous Delivery Motivation
  • DevOps Paradigma und Einbettung von Continuous Delivery
  • Continuous Integration, Continuous Delivery, Continuous Deployment
  • Geeignete Software Architektur für Automatisierung (12-Factor-Apps)

Grundlagen - Technologien und Frameworks

  • Docker
  • (Kubernetes)
  • CI Anbieter (Gitlab, Circle, Drone, Travis, etc.)
  • Einfache (Yaml) Konfiguration
  • Stages, Jobs
  • Runner

Hands-On (Praxisbeispiel)

  • Deployment Pipeline
  • Build
  • Test (Unit, Integration)
  • Packaging der Applikation in ein Docker image und hochladen in die Amazon Elastic Container Registry (ECR)


Tag 2

Infrastructure

  • Infrastructure as Code (IaC)


Hands-On (Praxisbeispiel)

  • Vorbereiten der Infrastruktur (Buckets, SQL DB, Kubernetes Cluster, etc.)
  • Staging Deployment
  • Tests mit Selenium in der Pipeline
  • Deploy Production
  • Monitoring von Cloud-Anwendungen
  • Update, Rollout, Rollback von Anwendungen


Hands-On (Praxisbeispiel)

  • Rollout/Rollback/Teardown
  • Monitoring

Abgrenzung zu anderen Themengebieten

Automatisiertes Testen von Applikationen ist ein Enabler für Continuous Delivery, der in dieser Schulung nicht fehlen darf. Es werden verschieden Arten von Tests (Unit, Integration, Acceptance, etc) automatisiert innerhalb der Deployment Pipeline durchlaufen. Der Fokus liegt klar auf der Automatisierung der Tests. Allgemeine Methoden des Testens und der Testautomatisierung werden als bekannt vorausgesetzt.

Objectives

Das Seminar legt den Grundstein, um den Prozess der Softwareauslieferung zu automatisieren und somit reproduzierbar und effizient zu gestalten. Hierzu wird auf das Konzept der Delivery Pipeline eingegangen, die sich schrittweise einer Produktionsumgebung annähert.
Seminar Teilnehmer lernen relevante Technologien, Frameworks und Techniken kennen, die zum Aufbau solch einer Pipeline nötig sind. Ein Praxisbeisipel (Java + Python) verdeutlicht die Prinzipien für die Einrichtung einer solchen Pipeline. Dazu wird dieses Beispiel via Gitlab verwaltet und integriert und in die Cloud-Plattform Amazon Web Services (Amazon Elastic Kubernetes Service und AWS Lambda) deployed. Die vorgestellten Prozesse und Konzepte der Continuous Delivery sind auf andere Implementierungsplatformen ebenso anwendbar.

Zusammenfassung der wichtigsten Kurs Lerninhalte:
  1. Überblick über und Motivation für Continuous Delivery
  2. Einbettung in das DevOps-Paradigma und verwandte Konzepte (Continuous Integration, Continuous Deployment, Continuous Delivery)
  3. Automatische Bereitstellung von Infrastruktur mit Docker und Terraform
  4. Test-Pyramide (Unit, Integration, GUI Tests mit Selenium)
  5. Deployment der Software in die vorgesehene Umgebung (Staging, Production)
  6. Versionierung, Rollout und Rollback
  7. Produktionsbetrieb und Monitoring der Anwendung

Target audience

  • Software-Entwickler
  • Software-Architekten

Requirements

Kenntnisse in Programmierung mit Java und Python wünschenswert.

Agenda

Tag 1

Einführung

  • Continuous Delivery Motivation
  • DevOps Paradigma und Einbettung von Continuous Delivery
  • Continuous Integration, Continuous Delivery, Continuous Deployment
  • Geeignete Software Architektur für Automatisierung (12-Factor-Apps)

Grundlagen - Technologien und Frameworks

  • Docker
  • (Kubernetes)
  • CI Anbieter (Gitlab, Circle, Drone, Travis, etc.)
  • Einfache (Yaml) Konfiguration
  • Stages, Jobs
  • Runner

Hands-On (Praxisbeispiel)

  • Deployment Pipeline
  • Build
  • Test (Unit, Integration)
  • Packaging der Applikation in ein Docker image und hochladen in die Amazon Elastic Container Registry (ECR)


Tag 2

Infrastructure

  • Infrastructure as Code (IaC)


Hands-On (Praxisbeispiel)

  • Vorbereiten der Infrastruktur (Buckets, SQL DB, Kubernetes Cluster, etc.)
  • Staging Deployment
  • Tests mit Selenium in der Pipeline
  • Deploy Production
  • Monitoring von Cloud-Anwendungen
  • Update, Rollout, Rollback von Anwendungen


Hands-On (Praxisbeispiel)

  • Rollout/Rollback/Teardown
  • Monitoring

Abgrenzung zu anderen Themengebieten

Automatisiertes Testen von Applikationen ist ein Enabler für Continuous Delivery, der in dieser Schulung nicht fehlen darf. Es werden verschieden Arten von Tests (Unit, Integration, Acceptance, etc) automatisiert innerhalb der Deployment Pipeline durchlaufen. Der Fokus liegt klar auf der Automatisierung der Tests. Allgemeine Methoden des Testens und der Testautomatisierung werden als bekannt vorausgesetzt.

Tags

Recommend this site