Tobias Meier BridgingIT GmbH

„Azure Service Fabric bietet eine leistungsfähige Plattform zur Erstellung und für den Betrieb von hoch skalierbaren Microservices-Architekturen unter Windows und Linux.“

Sowohl der Start eines neuen Entwicklungsprojekts als auch eines neuen Jahres werden von guten Vorsätzen begleitet. Softwareentwickler nehmen sich oft vor, dieses Mal eine leicht zu wartende, übersichtliche und hoch skalierbare Anwendung zu entwickeln. Leider sieht die Realität – gerade bei großen Projekten – einige Zeit später anders aus. Trotz aller guten Vorsätze ist eine schwer zu wartende, monolithische Software entstanden. .NET-Entwicklern hilft Azure Service Fabric aus der Patsche.

Man kennt das Szenario: Allein schon der Umfang der Anwendung macht es schwierig den Überblick über alle Aspekte der Software zu behalten. Das ist aber auch ganz normal. Denn jedes Team kann nur eine bestimmte Menge Code überblicken. Anschließend besteht beispielsweise die Gefahr von Redundanzen oder Fehleinschätzungen. Eine weitere Herausforderung in vielen Anwendungen stellen Abkürzungen in der Entwicklung dar. Statt den vorgesehenen Service für den Zugriff auf die Artikeldaten zu verwenden, wird direkt per Select auf die Tabelle zugegriffen. Einerseits verspricht sich der Entwickler hierdurch eine höhere Performance (wenn er z. B. nur einen Bruchteil der Daten benötigt), anderseits hat er weniger Aufwand. monolithische Anwendungen haben aber noch einen weiteren Nachteil: Es ist schwer, diese auf eine neue Technologie, etwa .NET Core, zu migrieren.

Microservices bieten eine Lösung

Microservices-Architekturen versprechen, viele dieser Schwierigkeiten zu lösen. Die Forderung an Microservices, dass jeder Service eigenständig und eigenverantwortlich seine Daten speichert und verwaltet, stellt sicher, dass nicht aus anderen Bereichen direkt auf fremde Daten zugegriffen werden kann. Die Forderung, dass ein Microservice klein sein soll, gewährleistet, dass die Quellcodemenge deutlich geringer ist und so ein besserer Überblick möglich ist.

Die große Herausforderung ist es, Microservices so zu entwickeln, dass einerseits die Vorteile genutzt und mögliche Nachteile, z. B. aufgrund der Verteilung, vermieden werden können. .Net-Entwickler steht eine Vielzahl verschiedener Möglichkeiten zur Verfügung, z. B. Azure Service Fabric, das in diesem Artikel vorgestellt wird. Einerseits ermöglicht Azure Service Fabric den Betrieb von Microservices, anderseits werden dem Entwickler verschiedene APIs angeboten, mit denen sich die Entwicklung von Microservices erheblich einfacher und effizienter gestaltet lässt. Beispielsweise können die API-Daten, unabhängig von einer expliziten Datenbank, in Queues bzw. Dictionarys gespeichert werden. Außerdem wird über das Reliable Actor API eine Möglichkeit zur Actor-orientierten Programmierung geboten. Anwendungen die mit Azure Service Fabric erstellt wurden, können sowohl On-Premise als auch in Azure bzw. in anderen Cloud-Umgebungen wie z.B. AWS betrieben werden. Dabei werden von Service Fabric nicht nur Windows-Server-Systeme als Plattform unterstützt, sondern auch Linux. Aktuell können Entwickler die Programmiersprachen .Net, .Net Core und sogar Java verwenden.

Den vollständigen Artikel lesen Sie in der Ausgabe:

Windows Developer 2.18 - "Microservices"

Alle Infos zum Heft
579824460Von Monolithen zu Microservices in .NET
X
- Gib Deinen Standort ein -
- or -