Seminarbeschreibung
Die Verlagerung einer IIS-Anwendung nach Linux erfordert eine genaue Prüfung von Laufzeit und Abhängigkeiten. Moderne ASP.NET-Core-Anwendungen lassen sich häufig mit überschaubaren Anpassungen auf Linux betreiben. Klassische ASP.NET-Anwendungen, Windows-spezifische Bibliotheken und lokale Integrationen können dagegen eine Modernisierung oder einen anderen Betriebsansatz verlangen. Das Seminar macht diese Unterschiede anhand von Quellcode und konkreten Bereitstellungswegen greifbar.
Eine vorbereitete kleine Webanwendung begleitet den Weg von der Analyse über die Anpassung bis zum nativen Linux-Dienst und Containerbetrieb. Kestrel, Nginx, systemd und Podman bilden die Beispielumgebung. Der Schwerpunkt liegt auf einer funktionsfähigen Anwendung mit geprüfter Anmeldung, Konfiguration und Datenpersistenz. Ein Container wird dabei nicht als Mittel verstanden, um Windows-Abhängigkeiten automatisch zu beseitigen.
Lernziele
- Laufzeit-, API- und Betriebssystemabhängigkeiten einer Anwendung belastbar bewerten.
- Eine begrenzte Beispielanwendung anpassen und als Linux-Dienst sowie Container bereitstellen.
- Authentifizierung, Dateizugriffe, Persistenz und Wiederanlauf anhand automatisierter und manueller Tests überprüfen.
Zielgruppe
Entwickler, DevOps-Teams und anwendungsnahe Administratoren, die bestehende IIS- und .NET-Dienste auf Linux bereitstellen oder modernisieren.
Voraussetzungen
Praktische C#- und .NET-Kenntnisse, Grundlagen von HTTP, TLS und Webanwendungen sowie grundlegende Linux- und Git-Kenntnisse. Quellcodeanalyse und eigenständige Anpassungen gehören zu den Übungen.
Seminarinhalte
Inhaltsübersicht: Anwendung und Zielpfad analysieren; Beispielanwendung modernisieren; Anmeldung und Zugriffsmodell gestalten; Nativen Linux-Betrieb einrichten; Containerimage und Laufzeit aufbauen; Daten, Hintergrunddienste und Protokolle; Funktion, Last und Sicherheit prüfen; Bereitstellung und Rückfall erproben.
1. Anwendung und Zielpfad analysieren
- IIS-Konfiguration, Anwendungspools, Frameworkversionen, Bibliotheken und externe Dienste inventarisieren.
- ASP.NET Core von klassischem ASP.NET und .NET Framework unterscheiden.
- Web Forms, COM, Registry, Windows-Dienste, native DLLs und Office-Automatisierung als mögliche Portierungshindernisse erkennen.
2. Beispielanwendung modernisieren
- Eine kleine ausgewählte Anwendungskomponente auf eine geeignete unterstützte .NET-Zielplattform übertragen.
- Projektdateien, Abhängigkeiten und Konfigurationszugriffe kontrolliert anpassen.
- Pfadbehandlung, Groß- und Kleinschreibung, Lokalisierung und temporäre Dateien unter Linux prüfen.
3. Anmeldung und Zugriffsmodell gestalten
- Windows-Authentifizierung, Kerberos und föderierte Anmeldung nach Anwendungsanforderung vergleichen.
- Ein vorbereitetes OpenID-Connect-Szenario mit Testidentitäten anbinden und Rollen prüfen.
- Unterschiede bei Delegation und Impersonation berücksichtigen; Benutzeridentität und technisches Dienstkonto sauber trennen.
4. Nativen Linux-Betrieb einrichten
- Kestrel hinter Nginx mit abgestimmtem TLS- und Proxy-Verhalten betreiben.
- Weitergeleitete Header, zulässige Hosts, Größenlimits und Zeitüberschreitungen konfigurieren.
- Die Anwendung als eingeschränkten systemd-Dienst mit definiertem Start- und Neustartverhalten ausführen.
5. Containerimage und Laufzeit aufbauen
- Ein nachvollziehbares mehrstufiges Containerimage mit geeigneten Laufzeitabbildern erstellen.
- Container möglichst ohne Root-Rechte betreiben und Rechte auf persistenten Verzeichnissen prüfen.
- Images, Konfiguration, Zugangsdaten und Anwendungsdaten getrennt behandeln.
6. Daten, Hintergrunddienste und Protokolle
- Datenbankzugriffe, Connection Strings und Secret-Zugriffe an die Zielumgebung anpassen.
- Hintergrundaufgaben und lokale Dateispeicherung auf Neustartfestigkeit untersuchen.
- Strukturierte Protokolle, technische Zustandsprüfungen und Fehlerausgaben nutzbar machen.
7. Funktion, Last und Sicherheit prüfen
- Automatisierte Integrationstests um Linux-spezifische Randfälle ergänzen.
- Authentifizierung, Dateirechte, Uploads, Fehlermeldungen und Proxy-Konfiguration mit einer Testmatrix prüfen.
- Eine begrenzte Lastprüfung ausführen und Unterschiede zur Ausgangsanwendung bewerten.
8. Bereitstellung und Rückfall erproben
- Versionierte Images und Konfigurationen kontrolliert bereitstellen.
- Anwendungsversion und Datenbankschema auf rückwärtskompatible Änderungen prüfen.
- Einen fehlgeschlagenen Rollout behandeln und den Wiederanlauf einschließlich persistentem Zustand dokumentieren.
Praxisübungen
- IIS-Einstellungen und Quellcode der Beispielanwendung untersuchen und portable sowie Windows-gebundene Bestandteile markieren.
- Eine begrenzte Komponente anpassen und unter Linux mit automatisierten Tests ausführen.
- Ein vorbereitetes OpenID-Connect-Testsystem anbinden und berechtigten sowie unberechtigten Zugriff prüfen.
- Die Anwendung hinter Nginx als systemd-Dienst bereitstellen und Start, TLS und Protokollierung validieren.
- Ein Podman-Containerimage bauen, ohne Root-Rechte starten und persistente Daten nach einem Neustart kontrollieren.
- Einen fehlerhaften Rollout simulieren und anhand einer kompatiblen Datenbasis auf die geprüfte Anwendungsversion zurückkehren.
Schulungsumgebung
Der Kunde stellt Entwicklungsarbeitsplätze mit .NET-SDK und Git, einen Windows-IIS-Testserver, Linux-VMs sowie eine kleine vorbereitete C#-Webanwendung mit Tests. Ein vorkonfigurierter OIDC-Testanbieter, Testdatenbank, Containerwerkzeuge und benötigte Images stehen lokal oder über freigegebene Zugänge bereit.
Fachlicher Umfang
Bearbeitet wird eine überschaubare Beispielanwendung. Eine vollständige Neuentwicklung großer .NET-Framework-Systeme, WPF- oder Windows-Forms-Portierungen und ein produktiver Kubernetes-Cluster sind nicht in vier Tagen abgedeckt. Quellcodezugang und technische Änderbarkeit sind Voraussetzung für den Modernisierungsteil.
Weitere Seminare
Fachbereichsleiter / Leiter der Trainer / Ihre Ansprechpartner
-

Lucas Beich
Telefon: + 49 (221) 74740055
E-Mail: lucas.beich@seminar-experts.de -

Paul Goldschmidt
Telefon: + 49 (221) 74740055
E-Mail: paul.goldschmidt@seminar-experts.de
| Dauer: | 4 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage 09:00 Uhr |
|---|---|
| Preis: |
Öffentlich oder Live Stream: € 2.396 zzgl. MwSt. Inhaus: € 6.800 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | Entwickler, DevOps-Teams und anwendungsnahe Administratoren, die bestehende IIS- und .NET-Dienste auf Linux bereitstellen oder modernisieren. |
| Voraussetzungen: | Praktische C#- und .NET-Kenntnisse, Grundlagen von HTTP, TLS und Webanwendungen sowie grundlegende Linux- und Git-Kenntnisse. Quellcodeanalyse und eigenständige Anpassungen gehören zu den Übungen. |
| Standorte: | Stream Live, Inhaus/Firmenseminar, Berlin, Bremen, Darmstadt, Dresden, Erfurt, Essen, Flensburg, Frankfurt, Freiburg, Friedrichshafen, Hamburg, Hamm, Hannover, Jena, Kassel, Köln, Konstanz, Leipzig, Luxemburg, Magdeburg, Mainz, München, Münster, Nürnberg, Paderborn, Potsdam, Regensburg, Rostock, Stuttgart, Trier, Ulm, Wuppertal, Würzburg |
| Methoden: | Vortrag, Demonstrationen, praktische Übungen am System |
| Seminararten: | Öffentlich, Webinar, Inhaus, Workshop - Alle Seminare mit Trainer vor Ort, Webinar nur wenn ausdrücklich gewünscht |
| Durchführungsgarantie: | ja, ab 2 Teilnehmern |
| Sprache: | Deutsch - bei Firmenseminaren ist auch Englisch möglich |
| Seminarunterlage: | Dokumentation auf Datenträger oder als Download |
| Teilnahmezertifikat: | ja, selbstverständlich |
| Verpflegung: | Kalt- / Warmgetränke, Mittagessen (wahlweise vegetarisch) |
| Support: | 3 Anrufe im Seminarpreis enthalten |
| Barrierefreier Zugang: | an den meisten Standorten verfügbar |
| Weitere Informationen unter + 49 (221) 74740055 |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
