0
Wege aus dem FledermauslandBasisinfrastruktur aus EntwicklersichtChristian Mahnke – mahnke@sub.uni-goettingen.de
Übersicht• Was ist Basisinfrastruktur (Einführung)?    – Beispiele    – Vor und- Nachteile    – Gesamtbild• Basisinfrastru...
Basisinfrastruktur•   Einfache Beispiele (bestehende Dienste)     –   DNS     –   Mail     –   File Services / Storage    ...
Beispiel I (TYPO3)              Webanwendung                           TYPO3     Webserver (mit PHP)                      ...
Beispiel II (Tomcat)        J2EE Webanwendung                       Tomcat     Storage           Datenbank                ...
Vorteile standardisierter Infrastruktur• Betrieb kann durch Spezialisten geleistet werden.• Klare Grenzen   – Technologisc...
Nachteile• Abhängigkeiten   – Technologisch   – Organisatorisch• Beschränkung auf Betriebstechnologien• Änderung der Kompo...
Beispiel I (TYPO3 - Betrieb) Webanwendung 1            Webanwendung 2       TYPO3 1                  TYPO3 2              ...
Beispiel II (Tomcat - Betrieb)Servlet 1   Servlet 2    Servlet 3            Tomcat                                        ...
Zusammenfassung• IT Infrastruktur ist in der Regel aus mehreren  übereinanderliegenden Diensten zusammengesetzt   – Dies e...
Basisinfrastruktur aus Entwicklersicht• Trennung zwischen Entwicklung und Betrieb• Zusätzliche Anforderungen durch Betrieb...
Trennung zwischen Entwicklung und Betrieb• Erfordert Versionierung (Releases)   – Für Deployment   – Um den Gegenstand ide...
Zusätzliche Anforderungen durch Betrieb• Ressourcen beschränkt    – Keine root (Admin) Rechte    – Begrenzter Arbeitsspeic...
Beispiel Ressourcenbeschränkung: Geplante Tomcat Farm• System Account pro Tomcat Instanz   – Homeverzeichnis und Shell Log...
Test unter Produktionsbedingungen• Versionskonflikte können früh erkannt werden• Ressourcenbeschränkungen müssen berücksic...
Beispiel I (Typo3 - Entwicklung)               Webanwendung                            Typo3      Webserver (mit PHP)     ...
Beispiel II (Tomcat - Entwicklung)        J2EE Webanwendung                     Tomcat     Storage           Datenbank    ...
Entwicklungsinfrastruktur• Entwicklungsinfrastruktur kann um Betriebsinfrastruktur ergänzt  werden – oder anders herum• Te...
Integration CI• Deployment auf Betriebsinfrastruktur nach SCM Commit   1.   Änderungen werden in SCM eingespielt   2.   CI...
Tests in Betriebsinfrastruktur I (CI basiert)• Kann teilweise durch Monitoring abgedeckt werden   – Idealerweise schon in ...
Tests in Betriebsinfrastruktur II (IDE basiert)• Remote Debugging   – Erfordert Anpassungen am Tomcat   – In Verbindung mi...
„Billige“ Betatester• Anwendung sofort offen verfügbar• Betriebseinheit kann Fehler melden• Externe Projektpartner haben e...
Mehr Entwicklungszeit?!• Andere Aspekte der Entwicklung bekommen mehr Gewicht!   – Dokumentation       • Kommunikation von...
Offene Fragen• Ist das Modell nicht zu statisch?• Wo kommen Änderungen (oder Innovation im Allgemeinen)  her?   – Wann wer...
Vielen Dank!       Fragen und Diskussion:Bleibt die „Freiheit“ auf der Strecke?              SUB Entwicklertreffen      Fe...
Upcoming SlideShare
Loading in...5
×

Basisinfrastruktur aus Entwicklersicht

336

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
336
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Basisinfrastruktur aus Entwicklersicht"

  1. 1. Wege aus dem FledermauslandBasisinfrastruktur aus EntwicklersichtChristian Mahnke – mahnke@sub.uni-goettingen.de
  2. 2. Ü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 SUB Entwicklertreffen Februar 28, 2012
  3. 3. 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 SUB Entwicklertreffen Februar 28, 2012
  4. 4. Beispiel I (TYPO3) Webanwendung TYPO3 Webserver (mit PHP) Datenbank Authentifizierung Storage DNS SUB Entwicklertreffen Februar 28, 2012
  5. 5. Beispiel II (Tomcat) J2EE Webanwendung Tomcat Storage Datenbank Authentifizierung SUB Entwicklertreffen Februar 28, 2012
  6. 6. 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) SUB Entwicklertreffen Februar 28, 2012
  7. 7. Nachteile• Abhängigkeiten – Technologisch – Organisatorisch• Beschränkung auf Betriebstechnologien• Änderung der Komponenten aufwendiger• Gefahr eines „Single Point of Failure“ SUB Entwicklertreffen Februar 28, 2012
  8. 8. Beispiel I (TYPO3 - Betrieb) Webanwendung 1 Webanwendung 2 TYPO3 1 TYPO3 2 Backup Monitoring Webserver (mit PHP) Datenbank Authentifizierung Storage DNS SUB Entwicklertreffen Februar 28, 2012
  9. 9. Beispiel II (Tomcat - Betrieb)Servlet 1 Servlet 2 Servlet 3 Tomcat Backup Monitoring Storage Datenbank Authentifizierung SUB Entwicklertreffen Februar 28, 2012
  10. 10. 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 SUB Entwicklertreffen Februar 28, 2012
  11. 11. 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?! SUB Entwicklertreffen Februar 28, 2012
  12. 12. 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) SUB Entwicklertreffen Februar 28, 2012
  13. 13. 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) SUB Entwicklertreffen Februar 28, 2012
  14. 14. 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 SUB Entwicklertreffen Februar 28, 2012
  15. 15. 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 SUB Entwicklertreffen Februar 28, 2012
  16. 16. Beispiel I (Typo3 - Entwicklung) Webanwendung Typo3 Webserver (mit PHP) Datenbank Authentifizierung Storage DNS SUB Entwicklertreffen Februar 28, 2012
  17. 17. Beispiel II (Tomcat - Entwicklung) J2EE Webanwendung Tomcat Storage Datenbank Authentifizierung SUB Entwicklertreffen Februar 28, 2012
  18. 18. Entwicklungsinfrastruktur• Entwicklungsinfrastruktur kann um Betriebsinfrastruktur ergänzt werden – oder anders herum• Tests in Betriebsinfrastruktur können durchgeführt werden• „Billige“ Betatester SUB Entwicklertreffen Februar 28, 2012
  19. 19. Integration CI• Deployment auf Betriebsinfrastruktur nach SCM Commit 1. Ä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 SUB Entwicklertreffen Februar 28, 2012
  20. 20. 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 SUB Entwicklertreffen Februar 28, 2012
  21. 21. 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 SUB Entwicklertreffen Februar 28, 2012
  22. 22. „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 SUB Entwicklertreffen Februar 28, 2012
  23. 23. 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 SUB Entwicklertreffen Februar 28, 2012
  24. 24. 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)? SUB Entwicklertreffen Februar 28, 2012
  25. 25. Vielen Dank! Fragen und Diskussion:Bleibt die „Freiheit“ auf der Strecke? SUB Entwicklertreffen Februar 28, 2012
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×