SlideShare une entreprise Scribd logo
1  sur  25
Wege aus dem Fledermausland
Basisinfrastruktur aus Entwicklersicht
Christian Mahnke – mahnke@sub.uni-goettingen.de
Ü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
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
Beispiel I (TYPO3)


              Webanwendung
                           TYPO3
     Webserver (mit PHP)

                                             Datenbank   Authentifizierung

   Storage           DNS



                           SUB Entwicklertreffen                  Februar 28, 2012
Beispiel II (Tomcat)


        J2EE Webanwendung
                       Tomcat

     Storage           Datenbank                Authentifizierung




                        SUB Entwicklertreffen              Februar 28, 2012
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
Nachteile

• Abhängigkeiten
   – Technologisch
   – Organisatorisch
• Beschränkung auf Betriebstechnologien
• Änderung der Komponenten aufwendiger
• Gefahr eines „Single Point of Failure“




                         SUB Entwicklertreffen   Februar 28, 2012
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
Beispiel II (Tomcat - Betrieb)


Servlet 1   Servlet 2    Servlet 3


            Tomcat
                                                       Backup   Monitoring


  Storage    Datenbank   Authentifizierung




                               SUB Entwicklertreffen                 Februar 28, 2012
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
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
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
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
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
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
Beispiel I (Typo3 - Entwicklung)


               Webanwendung
                            Typo3
      Webserver (mit PHP)

                                              Datenbank   Authentifizierung

   Storage            DNS



                            SUB Entwicklertreffen                  Februar 28, 2012
Beispiel II (Tomcat - Entwicklung)


        J2EE Webanwendung
                     Tomcat

     Storage           Datenbank                Authentifizierung




                        SUB Entwicklertreffen              Februar 28, 2012
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
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
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
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
„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
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
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
Vielen Dank!
       Fragen und Diskussion:
Bleibt die „Freiheit“ auf der Strecke?




              SUB Entwicklertreffen      Februar 28, 2012

Contenu connexe

En vedette

Leupold Sandra social intranet_widerstände
Leupold Sandra social intranet_widerständeLeupold Sandra social intranet_widerstände
Leupold Sandra social intranet_widerständeHRM - HTWK Leipzig
 
A alimentación dos deportistas
A alimentación dos deportistasA alimentación dos deportistas
A alimentación dos deportistaslasallesantiago
 
Integriertes Kompetenzmanagent - Innovationsstrategien als Aufgabe der Organi...
Integriertes Kompetenzmanagent - Innovationsstrategien als Aufgabe der Organi...Integriertes Kompetenzmanagent - Innovationsstrategien als Aufgabe der Organi...
Integriertes Kompetenzmanagent - Innovationsstrategien als Aufgabe der Organi...soenke
 
151798475 ley-nâº-30057-de-servicio-civil
151798475 ley-nâº-30057-de-servicio-civil151798475 ley-nâº-30057-de-servicio-civil
151798475 ley-nâº-30057-de-servicio-civilreynaldo19400000
 
E-Learning im Unternehmen einführen
E-Learning im Unternehmen einführenE-Learning im Unternehmen einführen
E-Learning im Unternehmen einführenClaudia Musekamp
 
Proceso de toma de desiciones
Proceso de toma de desicionesProceso de toma de desiciones
Proceso de toma de desicionesAngel Zaruma
 
Proceso de planificacion
Proceso de planificacion Proceso de planificacion
Proceso de planificacion dianitacdidi
 
Responsabilidad personal y profesional
Responsabilidad personal y profesionalResponsabilidad personal y profesional
Responsabilidad personal y profesionalcrisxtian
 
Historia de los juegos olimpicos isaac pérez
Historia de los juegos olimpicos isaac pérezHistoria de los juegos olimpicos isaac pérez
Historia de los juegos olimpicos isaac pérezIsaac Pérez
 
Lista de deputados que assinaram CPI do MST
Lista de deputados que assinaram CPI do MSTLista de deputados que assinaram CPI do MST
Lista de deputados que assinaram CPI do MSTJamildo Melo
 
Filipchudzinski envisioning v1.02_auszug
Filipchudzinski envisioning v1.02_auszugFilipchudzinski envisioning v1.02_auszug
Filipchudzinski envisioning v1.02_auszugdburle
 

En vedette (20)

Leupold Sandra social intranet_widerstände
Leupold Sandra social intranet_widerständeLeupold Sandra social intranet_widerstände
Leupold Sandra social intranet_widerstände
 
A alimentación dos deportistas
A alimentación dos deportistasA alimentación dos deportistas
A alimentación dos deportistas
 
Guia 4 guerlin
Guia 4 guerlinGuia 4 guerlin
Guia 4 guerlin
 
Geogebra
GeogebraGeogebra
Geogebra
 
Integriertes Kompetenzmanagent - Innovationsstrategien als Aufgabe der Organi...
Integriertes Kompetenzmanagent - Innovationsstrategien als Aufgabe der Organi...Integriertes Kompetenzmanagent - Innovationsstrategien als Aufgabe der Organi...
Integriertes Kompetenzmanagent - Innovationsstrategien als Aufgabe der Organi...
 
151798475 ley-nâº-30057-de-servicio-civil
151798475 ley-nâº-30057-de-servicio-civil151798475 ley-nâº-30057-de-servicio-civil
151798475 ley-nâº-30057-de-servicio-civil
 
Mapa conceptual skype
Mapa conceptual skypeMapa conceptual skype
Mapa conceptual skype
 
E-Learning im Unternehmen einführen
E-Learning im Unternehmen einführenE-Learning im Unternehmen einführen
E-Learning im Unternehmen einführen
 
Ftm
FtmFtm
Ftm
 
Proceso de toma de desiciones
Proceso de toma de desicionesProceso de toma de desiciones
Proceso de toma de desiciones
 
Similitudes
SimilitudesSimilitudes
Similitudes
 
Seguridad e higiene
Seguridad e higieneSeguridad e higiene
Seguridad e higiene
 
Guia 5
Guia 5Guia 5
Guia 5
 
Proceso de planificacion
Proceso de planificacion Proceso de planificacion
Proceso de planificacion
 
Presentación1
Presentación1Presentación1
Presentación1
 
Responsabilidad personal y profesional
Responsabilidad personal y profesionalResponsabilidad personal y profesional
Responsabilidad personal y profesional
 
Colegio emilio sotomayor
Colegio emilio sotomayorColegio emilio sotomayor
Colegio emilio sotomayor
 
Historia de los juegos olimpicos isaac pérez
Historia de los juegos olimpicos isaac pérezHistoria de los juegos olimpicos isaac pérez
Historia de los juegos olimpicos isaac pérez
 
Lista de deputados que assinaram CPI do MST
Lista de deputados que assinaram CPI do MSTLista de deputados que assinaram CPI do MST
Lista de deputados que assinaram CPI do MST
 
Filipchudzinski envisioning v1.02_auszug
Filipchudzinski envisioning v1.02_auszugFilipchudzinski envisioning v1.02_auszug
Filipchudzinski envisioning v1.02_auszug
 

Similaire à Basisinfrastruktur aus Entwicklersicht

Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDISchlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDIadesso AG
 
Best Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL InstallationBest Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL InstallationSamuel Zürcher
 
Sql Server GrundlagenfüR Share Point Admins
Sql Server GrundlagenfüR Share Point AdminsSql Server GrundlagenfüR Share Point Admins
Sql Server GrundlagenfüR Share Point AdminsSharepointUGDD
 
Sql Server Grundlagen für Sharepoint Administratoren
Sql Server Grundlagen für Sharepoint AdministratorenSql Server Grundlagen für Sharepoint Administratoren
Sql Server Grundlagen für Sharepoint AdministratorenCommunardo GmbH
 
Architektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOpsArchitektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOpsmatfsw
 
Spontan testen! Das eigene Test Lab, für jeden in der Cloud!
Spontan testen! Das eigene Test Lab, für jeden in der Cloud!Spontan testen! Das eigene Test Lab, für jeden in der Cloud!
Spontan testen! Das eigene Test Lab, für jeden in der Cloud!Peter Kirchner
 
ColdFusion im Enterprise Umfeld - Deep Dive
ColdFusion im Enterprise Umfeld - Deep DiveColdFusion im Enterprise Umfeld - Deep Dive
ColdFusion im Enterprise Umfeld - Deep DiveBokowsky + Laymann GmbH
 
MEAN SCS in der Cloud
MEAN SCS in der CloudMEAN SCS in der Cloud
MEAN SCS in der CloudTorsten Fink
 
Sql best practices for SharePoint 2010
Sql best practices for SharePoint 2010Sql best practices for SharePoint 2010
Sql best practices for SharePoint 2010Samuel Zürcher
 
Oracle ETL Herausforderungen - OPITZ CONSULTING - Till Sander - Wolfgang Rütter
Oracle ETL Herausforderungen - OPITZ CONSULTING - Till Sander - Wolfgang RütterOracle ETL Herausforderungen - OPITZ CONSULTING - Till Sander - Wolfgang Rütter
Oracle ETL Herausforderungen - OPITZ CONSULTING - Till Sander - Wolfgang RütterOPITZ CONSULTING Deutschland
 
Serverless Application Framework
Serverless Application FrameworkServerless Application Framework
Serverless Application FrameworkBATbern
 
2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt soc2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt socDaniel Fisher
 
Developer Best Practices (Robotic Enterprise Framework REF) – Anwendung und d...
Developer Best Practices (Robotic Enterprise Framework REF) – Anwendung und d...Developer Best Practices (Robotic Enterprise Framework REF) – Anwendung und d...
Developer Best Practices (Robotic Enterprise Framework REF) – Anwendung und d...Cristina Vidu
 
Das eigene Test Lab, für jeden! (CeBIT-Edition mit Demo-Videos)
Das eigene Test Lab, für jeden! (CeBIT-Edition mit Demo-Videos)Das eigene Test Lab, für jeden! (CeBIT-Edition mit Demo-Videos)
Das eigene Test Lab, für jeden! (CeBIT-Edition mit Demo-Videos)Peter Kirchner
 
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit VagrantDeployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit VagrantChristoph Möller
 
Basta 2016 - Test- und Releaseumgebungen in der Cloud
Basta 2016 - Test- und Releaseumgebungen in der CloudBasta 2016 - Test- und Releaseumgebungen in der Cloud
Basta 2016 - Test- und Releaseumgebungen in der CloudMarc Müller
 
OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...
OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...
OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...NETWAYS
 

Similaire à Basisinfrastruktur aus Entwicklersicht (20)

Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDISchlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
 
Best Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL InstallationBest Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL Installation
 
Sql Server GrundlagenfüR Share Point Admins
Sql Server GrundlagenfüR Share Point AdminsSql Server GrundlagenfüR Share Point Admins
Sql Server GrundlagenfüR Share Point Admins
 
Sql Server Grundlagen für Sharepoint Administratoren
Sql Server Grundlagen für Sharepoint AdministratorenSql Server Grundlagen für Sharepoint Administratoren
Sql Server Grundlagen für Sharepoint Administratoren
 
Architektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOpsArchitektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOps
 
Spontan testen! Das eigene Test Lab, für jeden in der Cloud!
Spontan testen! Das eigene Test Lab, für jeden in der Cloud!Spontan testen! Das eigene Test Lab, für jeden in der Cloud!
Spontan testen! Das eigene Test Lab, für jeden in der Cloud!
 
ColdFusion im Enterprise Umfeld - Deep Dive
ColdFusion im Enterprise Umfeld - Deep DiveColdFusion im Enterprise Umfeld - Deep Dive
ColdFusion im Enterprise Umfeld - Deep Dive
 
MEAN SCS in der Cloud
MEAN SCS in der CloudMEAN SCS in der Cloud
MEAN SCS in der Cloud
 
Sql best practices for SharePoint 2010
Sql best practices for SharePoint 2010Sql best practices for SharePoint 2010
Sql best practices for SharePoint 2010
 
Oracle ETL Herausforderungen - OPITZ CONSULTING - Till Sander - Wolfgang Rütter
Oracle ETL Herausforderungen - OPITZ CONSULTING - Till Sander - Wolfgang RütterOracle ETL Herausforderungen - OPITZ CONSULTING - Till Sander - Wolfgang Rütter
Oracle ETL Herausforderungen - OPITZ CONSULTING - Till Sander - Wolfgang Rütter
 
Serverless Application Framework
Serverless Application FrameworkServerless Application Framework
Serverless Application Framework
 
Hey, wie geht es dir?
Hey, wie geht es dir?Hey, wie geht es dir?
Hey, wie geht es dir?
 
2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt soc2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt soc
 
Developer Best Practices (Robotic Enterprise Framework REF) – Anwendung und d...
Developer Best Practices (Robotic Enterprise Framework REF) – Anwendung und d...Developer Best Practices (Robotic Enterprise Framework REF) – Anwendung und d...
Developer Best Practices (Robotic Enterprise Framework REF) – Anwendung und d...
 
Das eigene Test Lab, für jeden! (CeBIT-Edition mit Demo-Videos)
Das eigene Test Lab, für jeden! (CeBIT-Edition mit Demo-Videos)Das eigene Test Lab, für jeden! (CeBIT-Edition mit Demo-Videos)
Das eigene Test Lab, für jeden! (CeBIT-Edition mit Demo-Videos)
 
Ec2009 Templates
Ec2009 TemplatesEc2009 Templates
Ec2009 Templates
 
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit VagrantDeployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
 
TDD für Testmuffel
TDD für TestmuffelTDD für Testmuffel
TDD für Testmuffel
 
Basta 2016 - Test- und Releaseumgebungen in der Cloud
Basta 2016 - Test- und Releaseumgebungen in der CloudBasta 2016 - Test- und Releaseumgebungen in der Cloud
Basta 2016 - Test- und Releaseumgebungen in der Cloud
 
OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...
OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...
OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...
 

Plus de cmahnke

Tomcat as a service
Tomcat as a serviceTomcat as a service
Tomcat as a servicecmahnke
 
SUB OCR Implementierung
SUB OCR ImplementierungSUB OCR Implementierung
SUB OCR Implementierungcmahnke
 
Ideen Goobi Storage API
Ideen Goobi Storage APIIdeen Goobi Storage API
Ideen Goobi Storage APIcmahnke
 
eXist für Editionsprojekte
eXist für EditionsprojekteeXist für Editionsprojekte
eXist für Editionsprojektecmahnke
 
OCR Renderfarmen und TEI
OCR Renderfarmen und TEIOCR Renderfarmen und TEI
OCR Renderfarmen und TEIcmahnke
 
Development Toolbox
Development ToolboxDevelopment Toolbox
Development Toolboxcmahnke
 
Bib Forge
Bib ForgeBib Forge
Bib Forgecmahnke
 
Bibforge
BibforgeBibforge
Bibforgecmahnke
 

Plus de cmahnke (9)

Tomcat as a service
Tomcat as a serviceTomcat as a service
Tomcat as a service
 
SUB OCR Implementierung
SUB OCR ImplementierungSUB OCR Implementierung
SUB OCR Implementierung
 
Ideen Goobi Storage API
Ideen Goobi Storage APIIdeen Goobi Storage API
Ideen Goobi Storage API
 
eXist für Editionsprojekte
eXist für EditionsprojekteeXist für Editionsprojekte
eXist für Editionsprojekte
 
OCR Renderfarmen und TEI
OCR Renderfarmen und TEIOCR Renderfarmen und TEI
OCR Renderfarmen und TEI
 
Development Toolbox
Development ToolboxDevelopment Toolbox
Development Toolbox
 
Goobi
GoobiGoobi
Goobi
 
Bib Forge
Bib ForgeBib Forge
Bib Forge
 
Bibforge
BibforgeBibforge
Bibforge
 

Basisinfrastruktur aus Entwicklersicht

  • 1. Wege aus dem Fledermausland Basisinfrastruktur aus Entwicklersicht Christian Mahnke – mahnke@sub.uni-goettingen.de
  • 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. 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. Beispiel I (TYPO3) Webanwendung TYPO3 Webserver (mit PHP) Datenbank Authentifizierung Storage DNS SUB Entwicklertreffen Februar 28, 2012
  • 5. Beispiel II (Tomcat) J2EE Webanwendung Tomcat Storage Datenbank Authentifizierung SUB Entwicklertreffen Februar 28, 2012
  • 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. 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. 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. Beispiel II (Tomcat - Betrieb) Servlet 1 Servlet 2 Servlet 3 Tomcat Backup Monitoring Storage Datenbank Authentifizierung SUB Entwicklertreffen Februar 28, 2012
  • 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. 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. 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. 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. 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. 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. Beispiel I (Typo3 - Entwicklung) Webanwendung Typo3 Webserver (mit PHP) Datenbank Authentifizierung Storage DNS SUB Entwicklertreffen Februar 28, 2012
  • 17. Beispiel II (Tomcat - Entwicklung) J2EE Webanwendung Tomcat Storage Datenbank Authentifizierung SUB Entwicklertreffen Februar 28, 2012
  • 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. 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. 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. 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. „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. 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. 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. Vielen Dank! Fragen und Diskussion: Bleibt die „Freiheit“ auf der Strecke? SUB Entwicklertreffen Februar 28, 2012