diff --git a/docs/00b-basics/02-curriculum-structure-and-chronological-breakdown.adoc b/docs/00b-basics/02-curriculum-structure-and-chronological-breakdown.adoc index de16659..f266879 100644 --- a/docs/00b-basics/02-curriculum-structure-and-chronological-breakdown.adoc +++ b/docs/00b-basics/02-curriculum-structure-and-chronological-breakdown.adoc @@ -7,41 +7,41 @@ | Empfohlene Mindestdauer (min) | Übungszeit (Minuten) -| 1. Motivation -| 30 -| +| 1. Warum flexible Systeme einsetzen +| {duration-chapter1-content} +| {duration-chapter1-practice} -| 2. Modularisierung -| 180 -| 75 +| 2. Modularisierung von Systemen in Teilsysteme +| {duration-chapter2-content} +| {duration-chapter2-practice} -| 3. Integration -| 210 -| 90 +| 3. Softwaremodule und der Bezug zu Organisationsstrukturen +| {duration-chapter3-content} +| {duration-chapter3-practice} -| 4. Installation und Roll Out -| 120 -| 30 +| 4. Integrationsmethoden & Protokolle +| {duration-chapter4-content} +| {duration-chapter4-practice} -| 5. Betrieb, Überwachung und Fehleranalyse -| 150 -| 45 +| 5. Installation und Laufzeitumgebungen/ Plattformen +| {duration-chapter5-content} +| {duration-chapter5-practice} -| 6. Ausblick -| 90 -| +| 6. Betriebsmodelle +| {duration-chapter6-content} +| {duration-chapter6-practice} | | | | Summe -| 780 (13 Std) -| 240 (4 Std) +| {duration-total-content} +| {duration-total-practice} |=== -In diesem Kontext stellt „Dauer" die Unterrichtszeit ohne Übungszeit dar. -Die Zeitaufteilung zwischen Theorie und Übungen ist lediglich eine Empfehlung. +In diesem Kontext stellt Mindestdauer" die Unterrichtszeit ohne Übungszeit dar, die ohne die als OPTIONAL markierten Inhalte auf die jeweilige Lernziele verwendet werden sollte. +Die Zeitaufteilung zwischen Theorie und Übungen ist lediglich eine Empfehlung. Die Ausgestaltung der Beispiele und Übungen sind in diesem Lehrplan nicht vorgegeben. // end::DE[] @@ -55,37 +55,37 @@ Die Ausgestaltung der Beispiele und Übungen sind in diesem Lehrplan nicht vorge | Recommended duration (minutes) | Exercise time (minutes) -| 1. Motivation -| 30 -| +| 1. Why approach Flexible Systems +| {duration-chapter1-content} +| {duration-chapter1-practice} -| 2. Modularisation -| 180 -| 75 +| 2. Modularization of Systems of Systems +| {duration-chapter2-content} +| {duration-chapter2-practice} -| 3. Integration -| 210 -| 90 +| 3. Software Modules and the Organisation +| {duration-chapter3-content} +| {duration-chapter3-practice} -| 4. Installation and Roll Out -| 120 -| 30 +| 4. Integration Methods & Protocols +| {duration-chapter4-content} +| {duration-chapter4-practice} -| 5. Operations, Monitoring, and Failure Analysis -| 150 -| 45 +| 5. Deployment & Runtime/ Platform Methods +| {duration-chapter5-content} +| {duration-chapter5-practice} -| 6. Outlook -| 90 -| +| 6. Service Operation Models +| {duration-chapter6-content} +| {duration-chapter6-practice} | | | | Total -| 780 (13h) -| 240 (4h) +| {duration-total-content} +| {duration-total-practice} |=== diff --git a/docs/01-motivation/00-structure.adoc b/docs/01-motivation/00-structure.adoc index c20c5f3..8cbe598 100644 --- a/docs/01-motivation/00-structure.adoc +++ b/docs/01-motivation/00-structure.adoc @@ -4,11 +4,11 @@ // tag::DE[] -== Motivation +== Warum flexible Systeme einsetzen // end::DE[] // tag::EN[] -== Motivation +== Why approach Flexible Systems // end::EN[] diff --git a/docs/01-motivation/01-duration-terms.adoc b/docs/01-motivation/01-duration-terms.adoc index 1d4abf5..29f75f6 100644 --- a/docs/01-motivation/01-duration-terms.adoc +++ b/docs/01-motivation/01-duration-terms.adoc @@ -1,6 +1,6 @@ // tag::DE[] |=== -| Dauer: 120 Min. | Übungszeit: 0 Min. +| Dauer: {duration-chapter1-content} Min. | Übungszeit: {duration-chapter1-practice} Min. |=== === Begriffe und Konzepte @@ -9,7 +9,7 @@ Verfügbarkeit, Zuverlässigkeit, Time-to-Market, Flexibilität, Vorhersagbarkei // tag::EN[] |=== -| Duration: 120 min | Practice time: 0 min +| Duration: {duration-chapter1-content} min | Practice time: {duration-chapter1-practice} min |=== === Terms and Principles diff --git a/docs/02-modularization/00-structure.adoc b/docs/02-modularization/00-structure.adoc index ebedea5..e0f45d7 100644 --- a/docs/02-modularization/00-structure.adoc +++ b/docs/02-modularization/00-structure.adoc @@ -3,11 +3,11 @@ // ==================================================== // tag::DE[] -== Modularisierung +== Modularisierung von Systemen in Teilsysteme // end::DE[] // tag::EN[] -== Modularization +== Modularization of Systems of Systems // end::EN[] include::01-duration-terms.adoc[{include_configuration}] diff --git a/docs/02-modularization/01-duration-terms.adoc b/docs/02-modularization/01-duration-terms.adoc index 0553e6d..0f410df 100644 --- a/docs/02-modularization/01-duration-terms.adoc +++ b/docs/02-modularization/01-duration-terms.adoc @@ -1,9 +1,10 @@ // tag::DE[] |=== -| Dauer: 120 Min. | Übungszeit: 30 Min. +| Dauer: {duration-chapter2-content} Min. | Übungszeit: {duration-chapter2-practice} Min. |=== === Begriffe und Konzepte + - Motivation für die Dekomposition in kleinere Systeme - Unterschiedliche Arten von Modularisierung, Kopplung - Systemgrenzen als Mittel für Isolation @@ -15,7 +16,7 @@ // tag::EN[] |=== -| Duration: 120 min | Practice time: 30 min +| Duration: {duration-chapter2-content} min | Practice time: {duration-chapter2-practice} min |=== === Terms and Principles diff --git a/docs/03-modules-organization/01-duration-terms.adoc b/docs/03-modules-organization/01-duration-terms.adoc index 035bffc..95ebff0 100644 --- a/docs/03-modules-organization/01-duration-terms.adoc +++ b/docs/03-modules-organization/01-duration-terms.adoc @@ -1,6 +1,6 @@ // tag::DE[] |=== -| Dauer: 60 Min. | Übungszeit: 30 Min. +| Dauer: {duration-chapter3-content} Min. | Übungszeit: {duration-chapter3-practice} Min. |=== === Begriffe und Konzepte @@ -9,7 +9,7 @@ // tag::EN[] |=== -| Duration: 60 min | Practice time: 30 min +| Duration: {duration-chapter3-content} min | Practice time: {duration-chapter3-practice} min |=== === Terms and Principles diff --git a/docs/04-integration/01-duration-terms.adoc b/docs/04-integration/01-duration-terms.adoc index 035bffc..aab94d9 100644 --- a/docs/04-integration/01-duration-terms.adoc +++ b/docs/04-integration/01-duration-terms.adoc @@ -1,6 +1,6 @@ // tag::DE[] |=== -| Dauer: 60 Min. | Übungszeit: 30 Min. +| Dauer: {duration-chapter4-content} Min. | Übungszeit: {duration-chapter4-practice} Min. |=== === Begriffe und Konzepte @@ -9,7 +9,7 @@ // tag::EN[] |=== -| Duration: 60 min | Practice time: 30 min +| Duration: {duration-chapter4-content} min | Practice time: {duration-chapter4-practice} min |=== === Terms and Principles diff --git a/docs/05-rollout/01-duration-terms.adoc b/docs/05-rollout/01-duration-terms.adoc index 15b6f17..8a69e73 100644 --- a/docs/05-rollout/01-duration-terms.adoc +++ b/docs/05-rollout/01-duration-terms.adoc @@ -1,6 +1,6 @@ // tag::DE[] |=== -| Dauer: 90 Min. | Übungszeit: 30 Min. +| Dauer: {duration-chapter5-content} Min. | Übungszeit: {duration-chapter5-practice} Min. |=== === Begriffe und Konzepte @@ -11,7 +11,7 @@ Moderner Betrieb, DevOps, Infrastructure as Code, Configuration Management. // tag::EN[] |=== -| Duration: 90 min | Practice time: 30 min +| Duration: {duration-chapter5-content} min | Practice time: {duration-chapter5-practice} min |=== === Terms and Principles diff --git a/docs/06-operations/01-duration-terms.adoc b/docs/06-operations/01-duration-terms.adoc index a5f29d2..7b110d2 100644 --- a/docs/06-operations/01-duration-terms.adoc +++ b/docs/06-operations/01-duration-terms.adoc @@ -1,6 +1,6 @@ // tag::DE[] |=== -| Dauer: 90 Min. | Übungszeit: 30 Min. +| Dauer: {duration-chapter6-content} Min. | Übungszeit: {duration-chapter6-practice} Min. |=== === Begriffe und Konzepte @@ -10,7 +10,7 @@ Monitoring, Operations, Logging, Tracing, Metrics, Alerting. // tag::EN[] |=== -| Duration: 90 min | Practice time: 30 min +| Duration: {duration-chapter6-content} min | Practice time: {duration-chapter6-practice} min |=== === Terms and Principles diff --git a/docs/07-outlook/00-structure.adoc b/docs/07-outlook/00-structure.adoc deleted file mode 100644 index 2cc06f4..0000000 --- a/docs/07-outlook/00-structure.adoc +++ /dev/null @@ -1,18 +0,0 @@ -// header file for curriculum section 7: Lerneinheit 7 -// (c) iSAQB e.V. (https://isaqb.org) -// ==================================================== - -// tag::DE[] -== Ausblick -// end::DE[] - -// tag::EN[] -== Outlook -// end::EN[] - -include::01-duration-terms.adoc[{include_configuration}] - -include::02-learning-goals.adoc[{include_configuration}] - -// references (if any!) -include::references.adoc[{include_configuration}] diff --git a/docs/07-outlook/01-duration-terms.adoc b/docs/07-outlook/01-duration-terms.adoc deleted file mode 100644 index f1fbad2..0000000 --- a/docs/07-outlook/01-duration-terms.adoc +++ /dev/null @@ -1,31 +0,0 @@ -// tag::DE[] -|=== -| Dauer: 120 Min. | Übungszeit: 0 Min. -|=== - -Der Ausblick stellt fortgeschrittene Themen dar, in die sich Teilnehmer vertiefen können. So erreichen sie ein tieferes Verständnis für die Herausforderungen bei der Umsetzung flexibler Systeme. Außerdem lernen sie weitere Einflussfaktoren auf die Auswahl von Technologien kennen. - -=== Begriffe und Konzepte - -- Konsistenzmodelle: ACID, BASE, Partitionierung, CAP -- Resilience: Resilient Software Design, Stabilität, Verfügbarkeit, Graceful Degradation, Circuit Breaker, Bulkhead - -// end::DE[] - -// tag::EN[] -|=== -| Duration: 120 min | Practice time: 0 min -|=== - -The lookout presents advanced topics that participants may dive -into. So, they gain a deeper understanding of the challenges of -implementing flexible systems. In addition, they learn other factors -influencing the choice of technologies. - - -=== Terms and Principles - -- Consistency models: ACID, BASE, Partitioning, CAP -- Resilience: Resilient Software Design, Stability, Availability, Graceful Degradation, Circuit Breaker, Bulkhead - -// end::EN[] diff --git a/docs/07-outlook/02-learning-goals.adoc b/docs/07-outlook/02-learning-goals.adoc deleted file mode 100644 index d511f02..0000000 --- a/docs/07-outlook/02-learning-goals.adoc +++ /dev/null @@ -1,88 +0,0 @@ -=== {learning-goals} - -// tag::DE[] -[[LZ-7-1]] -==== LZ 7-1: Konsistenzmodelle - -- Was sollen die Teilnehmer können? - * Die Teilnehmer sollen verschiedene Konsistenzmodelle kennen. Die Tradeoffs der verschiedenen Konsistenzmodelle sollten sie grundlegend kennen. - * Abhängig von den Anforderungen und Rahmenbedingungen sollen sie entscheiden können, ob traditionelle Stabilitätsansätze hinreichend sind oder ob Resilient Software Design erforderlich ist. - -- Was sollen die Teilnehmer verstehen? - * Die Notwendigkeit für ACID Transaktionen ist wesentlich geringer, als häufig angenommen wird. - * Unterschiedliche Skalierungs-, Verteilungs- und Verfügbarkeitsanforderungen erfordern unterschiedliche Konsistenzmodelle. - * Das CAP-Theorem beschreibt ein Spektrum, in dem man abhängig von den gegebenen Anforderungen sehr feingranular ein geeignetes Konsistenzmodell wählen kann. - * BASE-Transaktionen garantieren Konsistenz, sie sind nur nicht unbedingt atomar und isoliert wie ACID-Transaktionen, weshalb vorübergehend Inkonsistenzen sichtbar werden können. - -- Was sollen die Teilnehmer kennen? - * Eigenschaften von und Unterschiede zwischen ACID- und BASE-Transaktionen - * Einige Produktbeispiele aus unterschiedlichen Kategorien (z. B. NoSQL, Konfigurationswerkzeuge, Service Discovery) - * CAP zur Beschreibung und Erklärung von Konsistenzmodellen - -[[LZ-7-2]] -==== LZ 7-2: Resilience Patterns - -- Was sollen die Teilnehmer können? - * Abhängig von den Anforderungen und Rahmenbedingungen sollen sie entscheiden können, ob traditionelle Stabilitätsansätze hinreichend sind oder ob Resilient Software Design erforderlich ist. -- Was sollen die Teilnehmer verstehen? - * Traditionelle Stabilitätsansätze (Fehlervermeidungsstrategien) auf Infrastrukturebene sind für heutige verteilte, hochvernetzte Systemlandschaften in der Regel nicht mehr hinreichend. - * Es gibt keine Silver Bullet für Resilient Software Design, d. h. die relevanten Maßnahmen und eingesetzten Muster und Prinzipien hängen von den Anforderungen, den Rahmenbedingungen und den beteiligten Personen ab. -- Was sollen die Teilnehmer kennen? - * Die Formel für Verfügbarkeit und die unterschiedlichen Ansätze, die Verfügbarkeit zu maximieren (Maximierung von MTBF, Minimierung von MTTR) - * Isolation und Latenzüberwachung als sinnvolle Einstiegsprinzipien von Resilient Soft- ware Design - * Grundlegende Resilience-Muster wie Bulkhead, Circuit Breaker, Redundanz, Failover - -// end::DE[] - -// tag::EN[] -[[LG-7-1]] -==== LG 7-1: Consistency Models -.What shall participants be capable of? -* The participants should know various consistency models. They should - basically know the trade-offs of the different consistency models. -* Depending on the requirements and general conditions, they should be - able to decide whether traditional stability approaches are adequate - or resilient software design is required. - -.What should participants understand? -* The need for ACID transactions is much lower than is often assumed. -* Different scaling, distribution, and availability requirements require different - consistency models. -* The CAP theorem describes a spectrum in which, depending on the given - requirements, a suitable consistency model can be selected very fine-grained. -* BASE transactions guarantee consistency, however, they may not be - atomic and isolated as ACID transactions, which may lead to - temporary inconsistencies becoming visible. - -.What should participants know? -* Characteristics of and differences between ACID and BASE transactions -* Some product examples from different categories (e. g., NoSQL, - configuration tools, service discovery) -* CAP for describing and explaining consistency models - -[[LG-7-2]] -==== LG 7-2: Resilience Patterns -.What shall participants be capable of? -* They should be able to decide, depending on requirements and - constraints, if traditional resilience approaches are sufficient or - if resilient software design is required. - -.What shall participants understand? -* Traditional stability approaches (error avoidance strategies) on - infrastructure levels are generally no longer sufficient for today's - distributed, highly networked system landscapes. -* There is no Silver Bullet for Resilient Software Design, i. e., the - relevant measures and applied patterns and principles depend on the - requirements, the general conditions and the persons involved. - -.What shall participants know? -* The formula for availability and the different approaches to - maximise availability (maximising MTTF, minimising MTTR) -* Isolation and latency monitoring as useful starting principles of - Resilient Software Design -* Basic Resilience patterns such as bulkhead, circuit breaker, - redundancy, failover - -// end::EN[] - - diff --git a/docs/07-outlook/references.adoc b/docs/07-outlook/references.adoc deleted file mode 100644 index ab6b08f..0000000 --- a/docs/07-outlook/references.adoc +++ /dev/null @@ -1,5 +0,0 @@ -=== {references} - -<>, <>, <>, <>, <>, <>, <> - - diff --git a/docs/config/setup.adoc b/docs/config/setup.adoc index 2fe6d11..cc60d60 100644 --- a/docs/config/setup.adoc +++ b/docs/config/setup.adoc @@ -13,6 +13,20 @@ :include_configuration: tags=**;{language};!* :curriculum-short: FLEX +:duration-chapter1-content: 60 +:duration-chapter1-practice: 30 +:duration-chapter2-content: 120 +:duration-chapter2-practice: 60 +:duration-chapter3-content: 90 +:duration-chapter3-practice: 60 +:duration-chapter4-content: 150 +:duration-chapter4-practice: 60 +:duration-chapter5-content: 90 +:duration-chapter5-practice: 90 +:duration-chapter6-content: 90 +:duration-chapter6-practice: 60 +:duration-total-content: 600 (10h) +:duration-total-practice: 360 (6h) ifeval::["{language}" == "DE"] :curriculum-name: Flexible Architekturmodelle - Microservices und Self-Contained Systems diff --git a/docs/curriculum-flex.adoc b/docs/curriculum-flex.adoc index 015003c..975922c 100644 --- a/docs/curriculum-flex.adoc +++ b/docs/curriculum-flex.adoc @@ -46,5 +46,4 @@ include::04-integration/00-structure.adoc[{include_configuration}] include::05-rollout/00-structure.adoc[{include_configuration}] include::06-operations/00-structure.adoc[{include_configuration}] - include::99-references/00-references.adoc[{include_configuration}]