Schulungsübersicht
Einführung
- System- und Servicearchitektur, PaaS und cloud-natives Design
Übersicht über die monolithische Systemarchitektur
- Ausführung der gesamten Funktionalität einer monolithischen Anwendung in einem einzigen Prozess
- Skalierbarkeit durch Replikation über mehrere Server
- In monolithischen Systemen verwendete Protokolle: EAI, CORBA usw.
Übersicht über Webdienste
- Serviceorientierte Architektur (SOA) und Microservice-Architektur
Serviceorientierte Architektur (SOA)
- Vorteile und Kosten von SOA
- Erfolge und Misserfolge bei der Umsetzung von SOA
- Messaging und ESB
- Infrastruktur und Tools, die SOA unterstützen
Wie Microservices Webdienst-Konzepte umsetzen
- Eine Sache tun und sie gut machen
- DevOps
- Continuous Deployment und Delivery (Continuous Integration, Continuous Build Process usw.)
- Leichtgewichtige Protokolle
Microservice-Protokolle und -Standards
- HTTP, JMS, AMQP, Websockets, JSON usw.
Entwicklungsframeworks für den Aufbau von Microservices
- Java-basierte Frameworks (Spring Cloud)
- JavaScript-basierte Frameworks (Seneca)
Zerlegung einer monolithischen Anwendung
- Entwicklung unabhängig bereitstellbarer Anwendungen
- Organisation von Microservice-Anwendungen um Geschäftsfähigkeiten herum
- Fallstudie: Migration einer monolithischen Anwendung auf drei Kern-Microservices
Einrichtung einer Spring Cloud-Entwicklungsumgebung
- Einrichtung von Docker und Docker Compose
- Einrichtung von Umgebungsvariablen
Übersicht über Spring Cloud und Spring Boot
- Spring Cloud-Unterprojekte: Config Server & Bus, Eureka, Ribbon, Feign und Hystrix
- Spring Boot
Erstellung einer Spring Boot-Anwendung
Zentralisiertes, versionskontrolliertes Konfigurationsmanagement mit Spring Cloud Config
Dynamische Konfigurationsaktualisierungen mit Spring Cloud Bus
Service Discovery mit Eureka
Load Balancing mit Ribbon
Anwendung von Schaltungsbrechern mit Hystrix
Deklarative REST-Clients mit Feign
Arbeit mit API Gateway
Sicherheit einer Microservice-Anwendung
Verfolgung von Microservices zur Aufdeckung von Latenzen
Bereitstellung von Microservices
- Container (Docker, K8N, LXC usw.)
- Konfigurationsmanagement (Ansible usw.)
- Service Discovery
- Überwachung und Verwaltung von Microservices
- Infrastruktur für Microservices
Cloud und automatische Skalierbarkeit von Microservices
- Redundanz und Fail-over von Microservices
- Leistungsskalierbarkeit für Microservices
- Automatische Skalierbarkeit
- Implementierung von Microservices auf OpenStack, AWS und anderen Cloud-Plattformen
Fehlerbehebung bei häufigen Problemen verteilter Anwendungen
- Komplexität des Ökosystems
- Netzwerkleistung
- Sicherheit
- Bereitstellung
- Testen
- Nano-Services
Schlussbetrachtungen für den Aufbau produktionsreifer Systeme
- Das System für Einsteiger leicht zugänglich machen
- Das System vollständig gestalten, damit es als Grundlage für Unternehmensanwendungen dienen kann
Zusammenfassung und Fazit
Voraussetzungen
- Verständnis von Software- und Systemengineering
- Erfahrung in der Java-Entwicklung
- Erfahrung mit dem Spring Framework
Zielgruppe
- Java-Entwickler, die schnell Microservices erstellen und bereitstellen möchten
- Systemarchitekten, die eine Microservice-Architektur implementieren möchten
Erfahrungsberichte (3)
Bereitgestelltes Projekt, an dem wir von Anfang an arbeiten konnten, ohne Zeit für die Einrichtung von Dateien zu verlieren, die in den Übungen nicht benötigt wurden. Bereitschaft, alle Fragen der Teilnehmer zu beantworten.
Robert Walczak - Hitachi Energy
Kurs - Systems Modeling with SysML and Enterprise Architect (EA)
Maschinelle Übersetzung
Übungsaufgaben in EA durchführen.
Pawel - Krajowa Szkola Skarbowosci
Kurs - UML in Enterprise Architect (workshops)
Maschinelle Übersetzung
Die Praktiken
Ivan - si
Kurs - Spring Cloud for Microservices
Maschinelle Übersetzung