Microservices

Was sind Microservices?

Nach der Unix-Philosophie „Do One Thing and Do It Well” sind Microservices kleine Applikationen mit einem ganz klaren fachlichen Fokus. Diese extrem spezialisierten Services bilden im Zusammenspiel das Gesamtsystem. 

Microservices werden von eigenständigen agil arbeitenden Teams entwickelt. Gemäß dem Prinzip “You Build It, You Run It” sind die Teams sowohl für deren Entwicklung als auch für ihren Betrieb zuständig. 

Dies ermöglicht die schnelle Umsetzung und Bereitstellung von neuen Funktionalitäten. 

Was sind Vorteile von Microservices?

Skalierung 
Einzelne Microservices können separat skaliert werden. Dies sorgt für eine optimale Ressourcennutzung.

Produktivität
Einzelne Services können unabhängig voneinander entwickelt und bereitgestellt werden. Das verkürzt die Time to Market bei neuen Funktionalitäten. 

Technologieunabhängigkeit
Die einzelnen Services können mit unterschiedlichen Technologien umgesetzt werden. So kann in jedem Service die für den Anwendungsfall optimale Technologie eingesetzt werden.

Was bieten wir?

Durch die Erfahrungen aus zahlreichen Projekten sind wir routiniert in der Planung, der Entwicklung und dem Betrieb von Microservices – sowohl bei neuen Anwendungen als auch bei der Migration von Altsystemen.

Ob Java und Spring Boot, Golang mit AWS Lambda oder .NET Core in Azure: Ausgehend von den individuellen Anforderungen ermitteln und verwenden wir die passende Technologie für den jeweiligen Anwendungsfall.

Im Open-Source Projekt Enterprise-Starter haben wir unser Wissen in Form eines Werkzeugkoffers gebündelt und bringen damit unsere Best-Practices mit ins Projekt.

Unsere Erfahrungen

Schema-Validierung von Nachrichten
Validierungen von Kafka-Nachrichten omnidirektionaler Kommunikation in einer Microservice-Architektur anhand von versionierten und definierten JSON-Schemata
Technisches Upgrade von Services
Migration kritischer Systeme von einer veralteten Java Version auf eine Aktuelle. Gleichzeitig die Integration von Spring Boot und Hibernate bzw. JPA als de-facto Standard. Desweiteren strukturiertes Logging für die Versorgung des ELK-Stacks und die Anbindung von Prometheus und Grafana zum Monitoring. Die aktualisierten Services wurden für den Einsatz als Container vorbereitet und werden jetzt in einen OpenShift-Cluster deployt, anstatt auf dedizierten Tomcat-Instanzen. Sämtliche Schnittstellen werden wurden automatisiert integrativ mit MockMVC getestet.
Entwicklung einer Middleware für Datenaustausch
Entwicklung einer Anwendung zum Austausch von Daten zwischen Dienstleister und Wohungsgesellschaften. Use Cases für den Datenaustausch waren unter anderem Mieterwechsel und Änderungen der Stammdaten, sowie Abfragen von aktuellen Zählerständen. Neben der Konzeption und der Entwicklung wurde auch die Umsetzung in Java und Spring Boot von Aclue übernommen.
Voriger
Nächster