@masterthesis{Wolff2019, type = {Bachelor Thesis}, author = {Wolff, Philipp-Sebastian}, title = {Ein Tutorial {\"u}ber die Erstellung einer Microservicearchitektur in einer Continuous Delivery Umgebung basierend auf Best-Practice}, address = {D{\"u}sseldorf}, url = {http://nbn-resolving.de/urn:nbn:de:hbz:due62-opus-19437}, school = {Hochschule D{\"u}sseldorf}, pages = {89}, year = {2019}, abstract = {Die Digitalisierung fordert kontinuierlich neue Services f{\"u}r bestehende Produkte, revolutioniert Produktionsmethoden und ver{\"a}ndert Gesch{\"a}ftsmodelle. Continuous Delivery bietet in der agilen Softwareentwicklung mit kurzen Entwicklungszyklen die Antwort auf diesen Wandel. Die Verwendung einer Continuous Delivery-Umgebung (CD-Umgebung) erfordert einerseits zwar einen initialen Einrichtungsaufwand. Andererseits kann durch den Einsatz einer CD-Umgebung das gesamte Projekt an Schnelligkeit gewinnen. In Kombination mit Microservice-Architekturen lassen sich kleine Deployment-Einheiten umsetzen. Microservice-Architekturen bringen einen Mehrwert durch Flexibilit{\"a}t, Skalierung, Automatisierung, standardisierte Schnittstellen und Ausfallsicherheit. Microservices fungieren autark in verteilten Systemen und weisen nur sehr geringe Abh{\"a}ngigkeiten zu anderen Services auf. Die Kommunikation findet {\"u}ber einheitliche Schnittstellen statt, weshalb Implementierungsdetails der Microservices nach außen betrachtet irrelevant sind. F{\"u}r die Umsetzung der CD-Umgebung wird der web-basierte Git-Repository-Manager GitLab in Kombination mit der Container-Orchestrierungsplattform Kubernetes verwendet, da sich beide Programme einfach integrieren lassen. Innerhalb eines Tutorials wird, basierend auf Best Practices anhand des Beispiels der HSD-Card, erl{\"a}utert wie eine Microservice-Architektur mit Spring Boot, als Anwendung umgesetzt werden kann. F{\"u}r die Erstellung der Microservice-Architektur legt das Tutorial Schwerpunkte auf die Verwendung von Software Design Pattern (DDD), die Struktur innerhalb Spring Boot, die Kommunikation via REST sowie die Skalierung, das Load-Balancing und die {\"U}berf{\"u}hrung in die CD-Umgebung.}, language = {de} }