Download - Basisinfrastruktur aus Entwicklersicht
![Page 1: Basisinfrastruktur aus Entwicklersicht](https://reader036.vdokument.com/reader036/viewer/2022062708/558a2512d8b42a08248b4626/html5/thumbnails/1.jpg)
Wege aus dem FledermauslandBasisinfrastruktur aus Entwicklersicht
Christian Mahnke – [email protected]
![Page 2: Basisinfrastruktur aus Entwicklersicht](https://reader036.vdokument.com/reader036/viewer/2022062708/558a2512d8b42a08248b4626/html5/thumbnails/2.jpg)
Übersicht
• Was ist Basisinfrastruktur (Einführung)?– Beispiele– Vor und- Nachteile – Gesamtbild
• Basisinfrastruktur aus Entwicklersicht– Auswirkungen– Vor und- Nachteile
• Entwicklungsinfrastruktur– Alles zusammengenommen
• Offene Fragen und Diskussion
Februar 28, 2012SUB Entwicklertreffen
![Page 3: Basisinfrastruktur aus Entwicklersicht](https://reader036.vdokument.com/reader036/viewer/2022062708/558a2512d8b42a08248b4626/html5/thumbnails/3.jpg)
Basisinfrastruktur
• Einfache Beispiele (bestehende Dienste)– DNS– Mail– File Services / Storage– Webhosting– Authentifizierung
• Erweiterte Beispiele – MySQL– Typo3– VMs mit OS (werden in den Schaubildern ignoriert, da zu geringer
Abstraktionsgrad)– Servlet Hosting (Tomcat)– Backup– Solr
Februar 28, 2012SUB Entwicklertreffen
![Page 4: Basisinfrastruktur aus Entwicklersicht](https://reader036.vdokument.com/reader036/viewer/2022062708/558a2512d8b42a08248b4626/html5/thumbnails/4.jpg)
Beispiel I (TYPO3)
Webanwendung
TYPO3
Webserver (mit PHP)
Storage DNS
Datenbank Authentifizierung
Februar 28, 2012SUB Entwicklertreffen
![Page 5: Basisinfrastruktur aus Entwicklersicht](https://reader036.vdokument.com/reader036/viewer/2022062708/558a2512d8b42a08248b4626/html5/thumbnails/5.jpg)
Beispiel II (Tomcat)
J2EE Webanwendung
Tomcat
Storage Datenbank Authentifizierung
Februar 28, 2012SUB Entwicklertreffen
![Page 6: Basisinfrastruktur aus Entwicklersicht](https://reader036.vdokument.com/reader036/viewer/2022062708/558a2512d8b42a08248b4626/html5/thumbnails/6.jpg)
Vorteile standardisierter Infrastruktur
• Betrieb kann durch Spezialisten geleistet werden.• Klare Grenzen
– Technologisch– Organisatorisch
• Definierte Verantwortung für ein Service (im Idealfall).• Dienste können in einem Katalog zusammengefasst werden.• Synergien bei gleichartigen Diensten
– Spart Zeit für Wartung und Updates– Weniger Leerlauf (z.B. CPU)
Februar 28, 2012SUB Entwicklertreffen
![Page 7: Basisinfrastruktur aus Entwicklersicht](https://reader036.vdokument.com/reader036/viewer/2022062708/558a2512d8b42a08248b4626/html5/thumbnails/7.jpg)
Nachteile
• Abhängigkeiten– Technologisch – Organisatorisch
• Beschränkung auf Betriebstechnologien• Änderung der Komponenten aufwendiger• Gefahr eines „Single Point of Failure“
Februar 28, 2012SUB Entwicklertreffen
![Page 8: Basisinfrastruktur aus Entwicklersicht](https://reader036.vdokument.com/reader036/viewer/2022062708/558a2512d8b42a08248b4626/html5/thumbnails/8.jpg)
Beispiel I (TYPO3 - Betrieb)
Webanwendung 1
TYPO3 1
Webserver (mit PHP)
Storage DNS
Datenbank Authentifizierung
Backup Monitoring
Februar 28, 2012SUB Entwicklertreffen
TYPO3 2
Webanwendung 2
![Page 9: Basisinfrastruktur aus Entwicklersicht](https://reader036.vdokument.com/reader036/viewer/2022062708/558a2512d8b42a08248b4626/html5/thumbnails/9.jpg)
Beispiel II (Tomcat - Betrieb)
Servlet 1
Tomcat
Storage Datenbank Authentifizierung
Backup Monitoring
Februar 28, 2012SUB Entwicklertreffen
Servlet 2 Servlet 3
![Page 10: Basisinfrastruktur aus Entwicklersicht](https://reader036.vdokument.com/reader036/viewer/2022062708/558a2512d8b42a08248b4626/html5/thumbnails/10.jpg)
Zusammenfassung
• IT Infrastruktur ist in der Regel aus mehreren übereinanderliegenden Diensten zusammengesetzt– Dies erlaubt Spezialisierung (technisch und organisatorisch).– Dies führt aber auch zu Abhängigkeiten.– Und es erlaubt Austauschbarkeit.
• Dazu kommen „parallele“ Dienste, die andere Aspekte eines Systems adressieren– Sicherheit– Verfügbarkeit
• Gleichartige Dienste können zusammengefasst werden
Februar 28, 2012SUB Entwicklertreffen
![Page 11: Basisinfrastruktur aus Entwicklersicht](https://reader036.vdokument.com/reader036/viewer/2022062708/558a2512d8b42a08248b4626/html5/thumbnails/11.jpg)
Basisinfrastruktur aus Entwicklersicht
• Trennung zwischen Entwicklung und Betrieb• Zusätzliche Anforderungen durch Betrieb
– Z.B. Ressourcenbeschränkungen• Test unter Produktionsbedingungen
Befreiung von administrativer Arbeit – mehr Entwicklungszeit?!
Februar 28, 2012SUB Entwicklertreffen
![Page 12: Basisinfrastruktur aus Entwicklersicht](https://reader036.vdokument.com/reader036/viewer/2022062708/558a2512d8b42a08248b4626/html5/thumbnails/12.jpg)
Trennung zwischen Entwicklung und Betrieb
• Erfordert Versionierung (Releases)– Für Deployment– Um den Gegenstand identifizieren zu können
• Erfordert Dokumentation– Programmierer und Systemadmin sind zwei Personen
(Dokumentation des Produkts)– Admin steht ggf. zwischen Nutzer und Programmierer
(Dokumentation des Prozesses)
Februar 28, 2012SUB Entwicklertreffen
![Page 13: Basisinfrastruktur aus Entwicklersicht](https://reader036.vdokument.com/reader036/viewer/2022062708/558a2512d8b42a08248b4626/html5/thumbnails/13.jpg)
Zusätzliche Anforderungen durch Betrieb
• Ressourcen beschränkt– Keine root (Admin) Rechte– Begrenzter Arbeitsspeicher– Einschränkung externer Abhängigkeiten (Bibliotheken etc.)
• Versionen sind ggf. recht statisch– Abhängig von Wartungsintervallen des Betriebssystems
• Feedback zu Betriebsproblemen (Bugs)
Februar 28, 2012SUB Entwicklertreffen
![Page 14: Basisinfrastruktur aus Entwicklersicht](https://reader036.vdokument.com/reader036/viewer/2022062708/558a2512d8b42a08248b4626/html5/thumbnails/14.jpg)
Beispiel Ressourcenbeschränkung: Geplante Tomcat Farm
• System Account pro Tomcat Instanz– Homeverzeichnis und Shell Login, kein „root“ etc.– Kein Zugriff auf Tomcat „lib“ und „endorsed“ Verzeichnisse– Kein setzen von Umgebungsvariablen
• Quotas für lokalen Speicherplatz und CPU– Beinhaltet auch Logdateien etc.
• Java Security Manager– Kein JNI / JNA– Beschränkter Zugriff auf Dateisystem
Februar 28, 2012SUB Entwicklertreffen
![Page 15: Basisinfrastruktur aus Entwicklersicht](https://reader036.vdokument.com/reader036/viewer/2022062708/558a2512d8b42a08248b4626/html5/thumbnails/15.jpg)
Test unter Produktionsbedingungen
• Versionskonflikte können früh erkannt werden• Ressourcenbeschränkungen müssen berücksichtigt werden• Nachträgliche Integration in andere (Betriebs-) Infrastruktur
entfällt• Zusatzdienste verfügbar
– Backup– Monitoring– Systemupdates
Februar 28, 2012SUB Entwicklertreffen
![Page 16: Basisinfrastruktur aus Entwicklersicht](https://reader036.vdokument.com/reader036/viewer/2022062708/558a2512d8b42a08248b4626/html5/thumbnails/16.jpg)
Beispiel I (Typo3 - Entwicklung)
Webanwendung
Typo3
Webserver (mit PHP)
Storage DNS
Datenbank Authentifizierung
Februar 28, 2012SUB Entwicklertreffen
![Page 17: Basisinfrastruktur aus Entwicklersicht](https://reader036.vdokument.com/reader036/viewer/2022062708/558a2512d8b42a08248b4626/html5/thumbnails/17.jpg)
Beispiel II (Tomcat - Entwicklung)
J2EE Webanwendung
Tomcat
Storage Datenbank Authentifizierung
Februar 28, 2012SUB Entwicklertreffen
![Page 18: Basisinfrastruktur aus Entwicklersicht](https://reader036.vdokument.com/reader036/viewer/2022062708/558a2512d8b42a08248b4626/html5/thumbnails/18.jpg)
Entwicklungsinfrastruktur
• Entwicklungsinfrastruktur kann um Betriebsinfrastruktur ergänzt werden – oder anders herum
• Tests in Betriebsinfrastruktur können durchgeführt werden• „Billige“ Betatester
Februar 28, 2012SUB Entwicklertreffen
![Page 19: Basisinfrastruktur aus Entwicklersicht](https://reader036.vdokument.com/reader036/viewer/2022062708/558a2512d8b42a08248b4626/html5/thumbnails/19.jpg)
Integration CI
• Deployment auf Betriebsinfrastruktur nach SCM Commit1. Änderungen werden in SCM eingespielt
2. CI erkennt Änderung und kompiliert / testet
3. CI führt Qualitätsanalyse durch
4. CI installiert neue Artefakte auf Betriebsinfrastruktur oder• Bereitstellung von Dokumentation und einfachen Webseiten
– Z.B. via WebDAV• Bereitstellung von Software
– Archiva
Februar 28, 2012SUB Entwicklertreffen
![Page 20: Basisinfrastruktur aus Entwicklersicht](https://reader036.vdokument.com/reader036/viewer/2022062708/558a2512d8b42a08248b4626/html5/thumbnails/20.jpg)
Tests in Betriebsinfrastruktur I (CI basiert)
• Kann teilweise durch Monitoring abgedeckt werden– Idealerweise schon in Infrastruktur vorhanden– Kann durch Betrieb nachgenutzt werden
• Ansonsten klassische Unit Tests
Februar 28, 2012SUB Entwicklertreffen
![Page 21: Basisinfrastruktur aus Entwicklersicht](https://reader036.vdokument.com/reader036/viewer/2022062708/558a2512d8b42a08248b4626/html5/thumbnails/21.jpg)
Tests in Betriebsinfrastruktur II (IDE basiert)
• Remote Debugging– Erfordert Anpassungen am Tomcat– In Verbindung mit Deployment interessant, um Änderungen gleich
überprüfen zu können• Remote Deployment
– Kann direkt aus Eclipse genutzt werden
Februar 28, 2012SUB Entwicklertreffen
![Page 22: Basisinfrastruktur aus Entwicklersicht](https://reader036.vdokument.com/reader036/viewer/2022062708/558a2512d8b42a08248b4626/html5/thumbnails/22.jpg)
„Billige“ Betatester
• Anwendung sofort offen verfügbar• Betriebseinheit kann Fehler melden• Externe Projektpartner haben einen standardisierten Zugriff
ohne die Notwendigkeit eines dezidierten Testservers• Kommunikation kann über Jira abgewickelt werden
Februar 28, 2012SUB Entwicklertreffen
![Page 23: Basisinfrastruktur aus Entwicklersicht](https://reader036.vdokument.com/reader036/viewer/2022062708/558a2512d8b42a08248b4626/html5/thumbnails/23.jpg)
Mehr Entwicklungszeit?!
• Andere Aspekte der Entwicklung bekommen mehr Gewicht!– Dokumentation
• Kommunikation von Anforderungen• Formalisierung des Prozesses (Prozessdokumentation)
– Integration in nachhaltige Strukturen– Qualitätssicherung
Spezialisierung
• Indirekte Auswirkungen– Nachnutzbarkeit
Februar 28, 2012SUB Entwicklertreffen
![Page 24: Basisinfrastruktur aus Entwicklersicht](https://reader036.vdokument.com/reader036/viewer/2022062708/558a2512d8b42a08248b4626/html5/thumbnails/24.jpg)
Offene Fragen
• Ist das Modell nicht zu statisch?• Wo kommen Änderungen (oder Innovation im Allgemeinen)
her?– Wann werden neue Versionen bestehender Komponenten
integriert?– Wann werden Komponenten ausgetauscht oder zusätzliche
angeboten?• Was tun wenn man mit den (Ressourcen-) Restriktionen nicht
arbeiten kann (oder will)?
Februar 28, 2012SUB Entwicklertreffen
![Page 25: Basisinfrastruktur aus Entwicklersicht](https://reader036.vdokument.com/reader036/viewer/2022062708/558a2512d8b42a08248b4626/html5/thumbnails/25.jpg)
Vielen Dank!Fragen und Diskussion:
Bleibt die „Freiheit“ auf der Strecke?
Februar 28, 2012SUB Entwicklertreffen