![Page 1: StabiEXIT: Approaching Microservices and User …8bit-inferno.de/stabiexit.pdfStabiEXIT: Approaching Microservices and User-Centered Agile Development in Libraries Copenhagen, June](https://reader030.vdocuments.us/reader030/viewer/2022041100/5ed8c3b16714ca7f476885fc/html5/thumbnails/1.jpg)
StabiEXIT: Approaching Microservices and User-Centered Agile Development in Libraries
Copenhagen, June 7th 2016!!Dr.-Ing. David Zellhöfer!Head of Unit "Applications and Data Management of the Library Core Processes" at Berlin State Library (Staatsbibliothek zu Berlin)!
![Page 2: StabiEXIT: Approaching Microservices and User …8bit-inferno.de/stabiexit.pdfStabiEXIT: Approaching Microservices and User-Centered Agile Development in Libraries Copenhagen, June](https://reader030.vdocuments.us/reader030/viewer/2022041100/5ed8c3b16714ca7f476885fc/html5/thumbnails/2.jpg)
17.08.2011 Titel der Präsentation Seite 2
Located in two architectural landmarks��11 million prints�1,1 million maps, atlases, globes�480.000 manuscripts and autographs�450.000 digital objects��100.000 media acquisitions/year�50.000 subscriptions (printed and online)�
The Berlin State Library /Staatsbibliothek zu Berlin!
![Page 3: StabiEXIT: Approaching Microservices and User …8bit-inferno.de/stabiexit.pdfStabiEXIT: Approaching Microservices and User-Centered Agile Development in Libraries Copenhagen, June](https://reader030.vdocuments.us/reader030/viewer/2022041100/5ed8c3b16714ca7f476885fc/html5/thumbnails/3.jpg)
17.08.2011 Titel der Präsentation Seite 3
The Berlin State Library /Staatsbibliothek zu Berlin!
50.000 registered users
1,7 million loans per year/ 5.000 per day
>800 employees
![Page 4: StabiEXIT: Approaching Microservices and User …8bit-inferno.de/stabiexit.pdfStabiEXIT: Approaching Microservices and User-Centered Agile Development in Libraries Copenhagen, June](https://reader030.vdocuments.us/reader030/viewer/2022041100/5ed8c3b16714ca7f476885fc/html5/thumbnails/4.jpg)
![Page 5: StabiEXIT: Approaching Microservices and User …8bit-inferno.de/stabiexit.pdfStabiEXIT: Approaching Microservices and User-Centered Agile Development in Libraries Copenhagen, June](https://reader030.vdocuments.us/reader030/viewer/2022041100/5ed8c3b16714ca7f476885fc/html5/thumbnails/5.jpg)
Major Cataloging and Research Systems since 1997!
2015
1997
1998
1999
2000
20012002
20032004
20052006
20072008
20092010
20112012
2013
IKARAltkartendatenbank
Einband-
datenbank
Kallisto
Kalliope Drucke des
16. Jhdts.
Berlin-
ansichten
Bibliographia
Cartographica
Orient-Digital
Gesamtkatalog
der Wiegendrucke
Typenrepertorium
Manuscripta
Mediaevalia
Kalliope OPAC
Ostasienkatalog (Erfassung)
LeihverkehrsdatenbankTopoListe
Lieferantendatenbank
2016Muscat
VD Lied
Druckermarken-
Wiki
GBVDrucke des
17. Jhdts.
Musik-IPACs
ZEFYS
GBV-Katalog.
stabikat
(OPAC)
First Appearance of Google!
stabikat+
(Discovery)
GBVGBV
Nationallizenzen…
2014
![Page 6: StabiEXIT: Approaching Microservices and User …8bit-inferno.de/stabiexit.pdfStabiEXIT: Approaching Microservices and User-Centered Agile Development in Libraries Copenhagen, June](https://reader030.vdocuments.us/reader030/viewer/2022041100/5ed8c3b16714ca7f476885fc/html5/thumbnails/6.jpg)
Development has been driven by librarians and researchers alone because qualified IT staff was not available due to different reasons��Development of IT-supported library services was often funded with the help of project funding provided by research funding agencies��Functional additions were added constantly if funding or staff was available to satisfy current project needs��Sustainability and maintainability of the created monolithic software systems was often neglected� �
The Typical Genesis of !IT-Supported Library Services!
![Page 7: StabiEXIT: Approaching Microservices and User …8bit-inferno.de/stabiexit.pdfStabiEXIT: Approaching Microservices and User-Centered Agile Development in Libraries Copenhagen, June](https://reader030.vdocuments.us/reader030/viewer/2022041100/5ed8c3b16714ca7f476885fc/html5/thumbnails/7.jpg)
!The Result!
complex applications, which are hardly maintainable and very complex to extend
needed innovations for the supported scientific services can no longer be implemented in a short period of time
Getty Images; http://www.spiegel.de/fotostrecke/vom-alten-rom-bis-heute-die-macht-des-wetters-fotostrecke-63529-6.html
![Page 8: StabiEXIT: Approaching Microservices and User …8bit-inferno.de/stabiexit.pdfStabiEXIT: Approaching Microservices and User-Centered Agile Development in Libraries Copenhagen, June](https://reader030.vdocuments.us/reader030/viewer/2022041100/5ed8c3b16714ca7f476885fc/html5/thumbnails/8.jpg)
The resulting innovation bottleneck yields disappointed researchers, librarians, and IT staff.
![Page 9: StabiEXIT: Approaching Microservices and User …8bit-inferno.de/stabiexit.pdfStabiEXIT: Approaching Microservices and User-Centered Agile Development in Libraries Copenhagen, June](https://reader030.vdocuments.us/reader030/viewer/2022041100/5ed8c3b16714ca7f476885fc/html5/thumbnails/9.jpg)
17.08.2011 Titel der Präsentation Seite 9
Berlin, 17.08.2011
HIER STEHT EIN EIN- BIS!ZWEIZEILIGER PRÄSENTATIONSTITEL.!EIN MÖGLICHER UNTERTITEL.!
![Page 10: StabiEXIT: Approaching Microservices and User …8bit-inferno.de/stabiexit.pdfStabiEXIT: Approaching Microservices and User-Centered Agile Development in Libraries Copenhagen, June](https://reader030.vdocuments.us/reader030/viewer/2022041100/5ed8c3b16714ca7f476885fc/html5/thumbnails/10.jpg)
The Department of Information and Data Management (IDM)
Human Resources Development Acquisition Office IT Security IT User Helpdesk
Typical Service Development Interactions!
Sekretariat Stab
IDM 1 Infrastructures of Hard- and
Software
IDM 2"Applications and Data Management of the
Library Core Processes
IDM 3"Innovation Management and
Online Services
„Traditional“ Library Departments
Manuscript Department
Acquisition Department
East Asia �Department
Newspaper Department ...
Existent Services Evolution of Services Third-Party Projects
![Page 11: StabiEXIT: Approaching Microservices and User …8bit-inferno.de/stabiexit.pdfStabiEXIT: Approaching Microservices and User-Centered Agile Development in Libraries Copenhagen, June](https://reader030.vdocuments.us/reader030/viewer/2022041100/5ed8c3b16714ca7f476885fc/html5/thumbnails/11.jpg)
The Department of Information and Data Management (IDM)
Human Resources Development Acquisition Office IT Security IT User Helpdesk
Typical Service Development Interactions!
Sekretariat Stab
IDM 1 Infrastructures of Hard- and
Software
IDM 2"Applications and Data Management of the
Library Core Processes
IDM 3"Innovation Management and
Online Services
„Traditional“ Library Departments
Manuscript Department
Acquisition Department
East Asia �Department
Newspaper Department ...
Existent Services Evolution of Services Third-Party Projects
![Page 12: StabiEXIT: Approaching Microservices and User …8bit-inferno.de/stabiexit.pdfStabiEXIT: Approaching Microservices and User-Centered Agile Development in Libraries Copenhagen, June](https://reader030.vdocuments.us/reader030/viewer/2022041100/5ed8c3b16714ca7f476885fc/html5/thumbnails/12.jpg)
!Key Challenges!
1. Cooperation with „Traditional“ Library Departments
2. Creation of a Sustainable Software Architecture
![Page 13: StabiEXIT: Approaching Microservices and User …8bit-inferno.de/stabiexit.pdfStabiEXIT: Approaching Microservices and User-Centered Agile Development in Libraries Copenhagen, June](https://reader030.vdocuments.us/reader030/viewer/2022041100/5ed8c3b16714ca7f476885fc/html5/thumbnails/13.jpg)
„Because the library has become software, it is no longer viable for our services to exist separately from our software.“��„Most importantly, all library staff must understand that our software is our library, and is everyone’s responsibility.“��Opinion: Libraries are Software - Cody Hanson (CC BY 3.0); http://codyhanson.com/writing/software.html
!Why to Improve Cooperation?!
![Page 14: StabiEXIT: Approaching Microservices and User …8bit-inferno.de/stabiexit.pdfStabiEXIT: Approaching Microservices and User-Centered Agile Development in Libraries Copenhagen, June](https://reader030.vdocuments.us/reader030/viewer/2022041100/5ed8c3b16714ca7f476885fc/html5/thumbnails/14.jpg)
!How to Improve Cooperation?!
https://ww
w.maxxor.com
/software-development-process
![Page 15: StabiEXIT: Approaching Microservices and User …8bit-inferno.de/stabiexit.pdfStabiEXIT: Approaching Microservices and User-Centered Agile Development in Libraries Copenhagen, June](https://reader030.vdocuments.us/reader030/viewer/2022041100/5ed8c3b16714ca7f476885fc/html5/thumbnails/15.jpg)
Why to Create a Sustainable Software Architecture?!
• To leverage innovation• To limit the complexity of (hidden) software dependencies• To shift maintenance effort from developers to
administrators/DevOps• To support varying resource demand• To enable infrastructure maintenance without service
downtime• To allow a standardized, centralized logging and
monitoring• To support the co-existence of different programming
languages and software architectures
![Page 16: StabiEXIT: Approaching Microservices and User …8bit-inferno.de/stabiexit.pdfStabiEXIT: Approaching Microservices and User-Centered Agile Development in Libraries Copenhagen, June](https://reader030.vdocuments.us/reader030/viewer/2022041100/5ed8c3b16714ca7f476885fc/html5/thumbnails/16.jpg)
How to Create a Sustainable Software Architecture?!
• Evaluation of the microservice pattern• Migration of a legacy application• Proof of concept of a microservice platform infrastructure
• A microservice is “an approach to developing a single application as a suite of small service, each running in its own process […]“ (Martin Fowler, thoughtworks)
• Evolution of modular programming and software as a service• Lightweight communication via HTTP• Programming language-agnostic
![Page 17: StabiEXIT: Approaching Microservices and User …8bit-inferno.de/stabiexit.pdfStabiEXIT: Approaching Microservices and User-Centered Agile Development in Libraries Copenhagen, June](https://reader030.vdocuments.us/reader030/viewer/2022041100/5ed8c3b16714ca7f476885fc/html5/thumbnails/17.jpg)
!Microservice Architecture!
![Page 18: StabiEXIT: Approaching Microservices and User …8bit-inferno.de/stabiexit.pdfStabiEXIT: Approaching Microservices and User-Centered Agile Development in Libraries Copenhagen, June](https://reader030.vdocuments.us/reader030/viewer/2022041100/5ed8c3b16714ca7f476885fc/html5/thumbnails/18.jpg)
!Microservice Architecture!
Team A
Team B Team C
Team D
![Page 19: StabiEXIT: Approaching Microservices and User …8bit-inferno.de/stabiexit.pdfStabiEXIT: Approaching Microservices and User-Centered Agile Development in Libraries Copenhagen, June](https://reader030.vdocuments.us/reader030/viewer/2022041100/5ed8c3b16714ca7f476885fc/html5/thumbnails/19.jpg)
Continuous Deployment /�Continuous Integration Server
Microservice Team
Build automation,Testing, and Deployment
![Page 20: StabiEXIT: Approaching Microservices and User …8bit-inferno.de/stabiexit.pdfStabiEXIT: Approaching Microservices and User-Centered Agile Development in Libraries Copenhagen, June](https://reader030.vdocuments.us/reader030/viewer/2022041100/5ed8c3b16714ca7f476885fc/html5/thumbnails/20.jpg)
![Page 21: StabiEXIT: Approaching Microservices and User …8bit-inferno.de/stabiexit.pdfStabiEXIT: Approaching Microservices and User-Centered Agile Development in Libraries Copenhagen, June](https://reader030.vdocuments.us/reader030/viewer/2022041100/5ed8c3b16714ca7f476885fc/html5/thumbnails/21.jpg)
!Platform Services!
• Service Registry allows the dynamic discovery of microservices to...
• Provide failsafe operation• Facilitate load balancing• Abstract from the infrastructure
• Platform services also provide…• Load balancing• Monitoring• Logging• Configuration management
![Page 22: StabiEXIT: Approaching Microservices and User …8bit-inferno.de/stabiexit.pdfStabiEXIT: Approaching Microservices and User-Centered Agile Development in Libraries Copenhagen, June](https://reader030.vdocuments.us/reader030/viewer/2022041100/5ed8c3b16714ca7f476885fc/html5/thumbnails/22.jpg)
Load Balancing – !A Sample Scenario!
DMS
DMS
DMS
Sidecar JMeter
Operations: PUT,
UPDATE, GET, DELETE
![Page 23: StabiEXIT: Approaching Microservices and User …8bit-inferno.de/stabiexit.pdfStabiEXIT: Approaching Microservices and User-Centered Agile Development in Libraries Copenhagen, June](https://reader030.vdocuments.us/reader030/viewer/2022041100/5ed8c3b16714ca7f476885fc/html5/thumbnails/23.jpg)
Load Balancing – !A Sample Scenario!
![Page 24: StabiEXIT: Approaching Microservices and User …8bit-inferno.de/stabiexit.pdfStabiEXIT: Approaching Microservices and User-Centered Agile Development in Libraries Copenhagen, June](https://reader030.vdocuments.us/reader030/viewer/2022041100/5ed8c3b16714ca7f476885fc/html5/thumbnails/24.jpg)
Monitoring and!Centralized Logging!
Nagios, Turbine, Hystrix
![Page 25: StabiEXIT: Approaching Microservices and User …8bit-inferno.de/stabiexit.pdfStabiEXIT: Approaching Microservices and User-Centered Agile Development in Libraries Copenhagen, June](https://reader030.vdocuments.us/reader030/viewer/2022041100/5ed8c3b16714ca7f476885fc/html5/thumbnails/25.jpg)
But is the grass greener on a field of microservices?
![Page 26: StabiEXIT: Approaching Microservices and User …8bit-inferno.de/stabiexit.pdfStabiEXIT: Approaching Microservices and User-Centered Agile Development in Libraries Copenhagen, June](https://reader030.vdocuments.us/reader030/viewer/2022041100/5ed8c3b16714ca7f476885fc/html5/thumbnails/26.jpg)
Some Challenges Introduced by Microservices!
• Programming teams have to be trained• Network-based communication increases programming
overhead and potential latency problems• Increased infrastructure demands due to CI/CD servers,
platform services, service registry…
• Problem to determine the set of microservices• “as small as possible but as big as necessary to
represent the domain concept they own”• development teams have to have the big picture of the
whole library in mind
![Page 27: StabiEXIT: Approaching Microservices and User …8bit-inferno.de/stabiexit.pdfStabiEXIT: Approaching Microservices and User-Centered Agile Development in Libraries Copenhagen, June](https://reader030.vdocuments.us/reader030/viewer/2022041100/5ed8c3b16714ca7f476885fc/html5/thumbnails/27.jpg)
!Advantages of Microservices!
• Less complexity per microservice• Limitation of architectural erosion risk• Enables automation of development, test, and
deployment tasks• Standardization of maintenance tasks• Legacy applications can be included into the Platform
Service Framework
• Subsequent re-use of extended microservices!
![Page 28: StabiEXIT: Approaching Microservices and User …8bit-inferno.de/stabiexit.pdfStabiEXIT: Approaching Microservices and User-Centered Agile Development in Libraries Copenhagen, June](https://reader030.vdocuments.us/reader030/viewer/2022041100/5ed8c3b16714ca7f476885fc/html5/thumbnails/28.jpg)
The Department of Information and Data Management (IDM)
Human Resources Development Acquisition Office IT Security IT User Helpdesk
Typical Service Development Interactions!
Sekretariat Stab
IDM 1 Infrastructures of Hard- and
Software
IDM 2"Applications and Data Management of the
Library Core Processes
IDM 3"Innovation Management and
Online Services
„Traditional“ Library Departments
Manuscript Department
Acquisition Department
East Asia �Department
Newspaper Department ...
Existent Services Evolution of Services Third-Party Projects
![Page 29: StabiEXIT: Approaching Microservices and User …8bit-inferno.de/stabiexit.pdfStabiEXIT: Approaching Microservices and User-Centered Agile Development in Libraries Copenhagen, June](https://reader030.vdocuments.us/reader030/viewer/2022041100/5ed8c3b16714ca7f476885fc/html5/thumbnails/29.jpg)
Microservices as a Benefit for the Organization!
Existent Services
Evolution of
Services
Third-Party
Projects
http://www.pngall.com/grass-png
![Page 30: StabiEXIT: Approaching Microservices and User …8bit-inferno.de/stabiexit.pdfStabiEXIT: Approaching Microservices and User-Centered Agile Development in Libraries Copenhagen, June](https://reader030.vdocuments.us/reader030/viewer/2022041100/5ed8c3b16714ca7f476885fc/html5/thumbnails/30.jpg)
!Where Are We Heading Next?!
• Evaluation of Frontend Integrations Concepts• Typo3• JavaScript
• Microservice Infrastructure Introduction Concepts• Service Registry• Monitoring• Centralized Logging
• Standards for Continuous Integration and Deployment
![Page 31: StabiEXIT: Approaching Microservices and User …8bit-inferno.de/stabiexit.pdfStabiEXIT: Approaching Microservices and User-Centered Agile Development in Libraries Copenhagen, June](https://reader030.vdocuments.us/reader030/viewer/2022041100/5ed8c3b16714ca7f476885fc/html5/thumbnails/31.jpg)
My thanks go to our team at the library!! Malgorzata Asch, Constantijn Blondel, Piotr Czarnecki, Konrad Eichstädt, Thomas Fries, Konstantin Görlitz, Steffi Gräber, Gerrit Gragert, Tim Jabs, Jens Ludwig, Astrid Meyer, Marco Remy, Marco Scheidhuber, Oliver Schöner and many more...
![Page 32: StabiEXIT: Approaching Microservices and User …8bit-inferno.de/stabiexit.pdfStabiEXIT: Approaching Microservices and User-Centered Agile Development in Libraries Copenhagen, June](https://reader030.vdocuments.us/reader030/viewer/2022041100/5ed8c3b16714ca7f476885fc/html5/thumbnails/32.jpg)
Thank you.! Do not hesitate to contact me. David Zellhöfer [email protected] @dzellhf Technical information in German: http://blog.sbb.berlin/author/ke/