Habegger, Moritz and Schena, Micha (2019) Architektur Prototyp einer Spring Cloud Applikation. Student Research Project thesis, HSR Hochschule für Technik Rapperswil.
HS 2018 2019-SA-EP-Habegger-Schena-Architektur-Prototyp einer Spring Cloud Applikation.pdf - Supplemental Material
Download (2MB) | Preview
Abstract
Aufgabenstellung:
Ziel der Arbeit ist es, einen Prototypen einer
Microservice-Architektur zu bauen, der die wesentlichen Aspekte von DevOps
berücksichtigt und auf Spring Cloud basiert. Dies beinhaltet die Strukturierung des
Projektes in Microservices anhand einer Domain-Driven-Design-Analyse
(DDD-Analyse), das Einrichten einer CI/CD-Umgebung mit Jenkins und das
automatische Aktualisieren der Live-Instanzen ohne Unterbrechung.
Vorgehen / Technologien:
Als Erstes definierte das Team als Applikation ein
Blog-System, da es sich dabei um eine überschaubare und verständliche Domäne
handelt. Als Nächstes wurde eine DDD-Analyse gemacht, um sinnvolle Grenzen
zwischen den Microservices zu finden. Um das Risiko von Zeitverzögerungen zu
minimieren, wurden einzelne Prototypen entwickelt, die das Zusammenspiel von
Google Cloud Platform und Spring zeigen.
Des Weiteren wurde die CI/CD-Umgebung, welche Jenkins und SonarQube
beinhaltet, auf der Google Cloud Platform aufgesetzt und eingerichtet. Im letzten
Abschnitt der Arbeit wurden die Komponenten zu der geplanten Blog-Applikation
zusammengeführt.
Ergebnis:
Es wurde gezeigt, wie die Microservices auf der Google Cloud Platform in
Docker-Images mit Kubernetes bereitgestellt und an Services wie PubSub, Cloud
Datastore, Memcache oder Cloud SQL angebunden werden können. Mit der
DDD-Analyse wurde gezeigt, wie einzelne Kontexte, beispielsweise die
Statistik-Funktion von der Haupt-Domäne (Blog-Funktion), getrennt und über einen
Message-Bus (PubSub) asynchron aktualisiert werden können und somit
Geschwindigkeit gewonnen werden kann. Mit der Umsetzung der CI/CD-Umgebung
wurde ein Docker-in-Docker-Ansatz gezeigt, in dem Docker-Images in einem
Docker-Container erstellt werden.
Item Type: | Thesis (Student Research Project) |
---|---|
Subjects: | Area of Application > Development Tools Technologies > Databases > PostgreSQL Brands > Google |
Divisions: | Bachelor of Science FHO in Informatik > Student Research Project |
Depositing User: | OST Deposit User |
Contributors: | Contribution Name Email Thesis advisor Stocker, Mirko UNSPECIFIED |
Date Deposited: | 26 Mar 2019 06:48 |
Last Modified: | 26 Mar 2019 06:48 |
URI: | https://eprints.ost.ch/id/eprint/755 |