Simple Science

Hochmoderne Wissenschaft einfach erklärt

# Computerwissenschaften# Software-Entwicklung

Mikrodienste nutzen für bessere Wiederverwendbarkeit von Software

Entdecke, wie DevOps und InnerSource effektive Microservice-Wiederverwendung in grossen Unternehmen unterstützen.

― 6 min Lesedauer


Mikroservices:Mikroservices:SoftwareeffizienzsteigernMikrodiensten.effektive Wiederverwendung vonErreiche mehr Produktivität durch
Inhaltsverzeichnis

Software-Wiederverwendung bedeutet, bestehende Softwarekomponenten zu nutzen, um neue Anwendungen zu erstellen. Diese Praxis hat sich von kleinen Code-Snippets zu grösseren Komponenten wie Microservices entwickelt. Ein Microservice ist ein unabhängiger Teil einer grösseren Anwendung, der mit anderen Komponenten kommuniziert. Das Hauptziel der Software-Wiederverwendung ist es, Zeit, Aufwand und Kosten zu sparen und gleichzeitig die Qualität zu verbessern.

In den letzten Jahren haben Praktiken wie DevOps und InnerSource an Popularität gewonnen, um die Software-Wiederverwendung zu fördern. DevOps konzentriert sich auf kontinuierliche Entwicklung und Lieferung, während InnerSource die Zusammenarbeit und das Teilen innerhalb von Organisationen fördert. Dieser Artikel betrachtet, wie diese Ansätze die Wiederverwendung von Microservices in einem grossen Unternehmen verbessern.

Hintergrund

Software-Wiederverwendung gibt es schon seit Jahrzehnten, aber ihre Bedeutung ist mit dem Aufkommen von Microservices gewachsen. Microservices sind kleinere, unabhängige Einheiten, die separat entwickelt und bereitgestellt werden können. Ihre Architektur ermöglicht eine einfachere Integration und Verwaltung, was sie für die Wiederverwendung in verschiedenen Anwendungen geeignet macht.

Ericsson, ein grosses Unternehmen, das Technologieprodukte herstellt, hat einen cloud-nativen Ansatz für die Softwareentwicklung angenommen. Sie haben ein System namens Application Development Platform (ADP) entwickelt, das die Erstellung und Wiederverwendung von Microservices fördert.

Das ADP-Ökosystem hat verschiedene gemeinsame Microservices, die in unterschiedlichen Anwendungen verwendet werden können. Diese Initiative zielt darauf ab, die Effizienz zu verbessern und die Doppelarbeit zu reduzieren. Allerdings bringt die Umsetzung dieser Praktiken anfängliche Kosten und Herausforderungen mit sich, die Organisationen bewältigen müssen.

Die Bedeutung der Software-Wiederverwendung

Die Hauptvorteile der Software-Wiederverwendung sind:

  1. Kosteneinsparungen: Durch die Wiederverwendung bestehender Komponenten können Organisationen die Entwicklungskosten senken.
  2. Verbesserte Qualität: Wiederverwendbare Komponenten durchlaufen oft strenge Tests, was ihre Zuverlässigkeit erhöht.
  3. Schnellere Entwicklung: Die Wiederverwendung von Microservices ermöglicht eine schnellere Bereitstellung neuer Anwendungen.
  4. Konsistenz: Die Verwendung derselben Microservices in verschiedenen Anwendungen sorgt für Einheitlichkeit in Funktionalität und Benutzererfahrung.

Trotz dieser Vorteile stehen Organisationen vor Herausforderungen bei der effektiven Umsetzung der Software-Wiederverwendung.

Die Rolle von DevOps

DevOps ist ein Set von Praktiken, das darauf abzielt, die Zusammenarbeit zwischen Entwicklungs- und Betriebsteams zu verbessern. Es betont Automatisierung, kontinuierliche Integration und Lieferung, die entscheidend für die Verbesserung der Software-Wiederverwendung sind.

In einer DevOps-Umgebung können Microservices schnell entwickelt, getestet und bereitgestellt werden. Dadurch können sich die Teams darauf konzentrieren, neue Funktionen zu entwickeln, anstatt bestehende Funktionen neu zu erfinden. Automatisierungstools spielen eine wichtige Rolle, um sicherzustellen, dass Microservices konsistent und fehlerfrei bereitgestellt werden.

InnerSource-Praktiken

InnerSource bedeutet, Open-Source-Entwicklungspraktiken innerhalb einer Organisation anzuwenden. Es fördert Zusammenarbeit und Transparenz, indem es Teams erlaubt, zu gemeinsamen Komponenten beizutragen. InnerSource ermutigt Teams, Wissen zu teilen und gemeinsam zu arbeiten, was zu einer besseren Software-Wiederverwendung führt.

Durch die Annahme von InnerSource können Organisationen Silos aufbrechen und eine Kultur der Zusammenarbeit fördern. Das führt zu besseren Qualitätskomponenten und mehr Beiträgen, was letztendlich der gesamten Organisation zugutekommt.

Das ADP-Ökosystem bei Ericsson

Die Application Development Platform (ADP) von Ericsson zielt darauf ab, die Entwicklung und Wiederverwendung von Microservices zu optimieren. Das ADP-Ökosystem besteht aus verschiedenen gemeinsamen Microservices, die von unterschiedlichen Anwendungen innerhalb der Organisation genutzt werden können. Dieses Ökosystem ermutigt Teams zur Zusammenarbeit und zum Teilen ihrer Arbeit.

Das ADP-Ökosystem hat Richtlinien und Prinzipien aufgestellt, die Teams bei der Entwicklung von Microservices befolgen müssen. Diese Richtlinien beinhalten Entwurfsregeln, die die Einhaltung von Sicherheits- und Leistungsstandards sicherstellen.

Herausforderungen bei der Wiederverwendung

Obwohl die Vorteile der Wiederverwendung von Softwarekomponenten klar sind, stehen Organisationen vor mehreren Herausforderungen:

  1. Anfängliche Kosten: Die Entwicklung wiederverwendbarer Microservices erfordert eine anfängliche Investition in Zeit und Ressourcen, um sicherzustellen, dass sie den Qualitätsstandards entsprechen.
  2. Integrationsprobleme: Teams müssen verstehen, wie sie wiederverwendbare Komponenten effektiv in ihre Anwendungen integrieren können.
  3. Wissenslücken: Teams könnten die notwendigen Fähigkeiten fehlen, um wiederverwendbare Microservices zu entwickeln oder zu unterstützen.
  4. Widerstand gegen Veränderungen: Mitarbeiter könnten zögern, neue Praktiken anzunehmen und mit anderen Teams zusammenzuarbeiten.

Organisationen müssen diese Herausforderungen angehen, um die Vorteile der Software-Wiederverwendung voll auszuschöpfen.

Kosten und Vorteile der Wiederverwendung von Microservices

Wenn Organisationen wiederverwendbare Microservices entwickeln, entstehen bestimmte Kosten, die mit ihrer Erstellung und Wartung verbunden sind. Diese Kosten können Folgendes beinhalten:

  • Entwicklungsaufwand: Es braucht Zeit und Ressourcen, um Microservices zu erstellen, die den festgelegten Richtlinien entsprechen.
  • Dokumentation: Eine klare Dokumentation ist entscheidend, um sicherzustellen, dass andere Teams die Microservices verstehen und effektiv nutzen können.
  • Schulung und Unterstützung: Teams benötigen möglicherweise Schulungen, um zu lernen, wie sie wiederverwendbare Komponenten integrieren und nutzen können.

Trotz dieser Kosten können die langfristigen Vorteile die anfängliche Investition überwiegen. Die Hauptvorteile der Wiederverwendung von Microservices sind:

  1. Erhöhte Qualität: Gemeinsame Microservices durchlaufen umfangreiche Tests, was zu höherer Qualität und weniger Problemen in Anwendungen führt.
  2. Verbesserte Produktivität: Teams können Zeit sparen, indem sie Komponenten wiederverwenden, was es ihnen ermöglicht, sich auf die Entwicklung neuer Funktionen zu konzentrieren.
  3. Verbesserte Kundenerfahrung: Konsistenz in Microservices führt zu einer besseren Benutzererfahrung in verschiedenen Produkten.

Strategien zur Verbesserung

Um die Herausforderungen bei der Wiederverwendung von Microservices zu mildern, können Organisationen mehrere Strategien umsetzen:

  1. InnerSource-Annahme erweitern: Durch die Förderung von InnerSource-Praktiken können Organisationen mehr Zusammenarbeit und Beiträge von verschiedenen Teams anregen.
  2. Dokumentation verbessern: Detaillierte Richtlinien zur Nutzung und Integration von Microservices zu bieten, kann helfen, Verwirrung und Integrationsprobleme zu reduzieren.
  3. Schulungsprogramme: Schulungsveranstaltungen anzubieten, kann Teams helfen, die notwendigen Fähigkeiten zu entwickeln, um wiederverwendbare Komponenten zu nutzen und beizutragen.
  4. Klare Beitragsrichtlinien: Ein klarer Prozess für Beiträge kann Teams helfen zu verstehen, wie sie an der Entwicklung gemeinsamer Ressourcen teilnehmen können.

Fazit

Die Wiederverwendung von Microservices innerhalb von Organisationen wie Ericsson kann zu erheblichen Verbesserungen in Effizienz, Qualität und Produktivität führen. Durch die Annahme zeitgemässer Praktiken wie DevOps und InnerSource können Organisationen ein kooperatives Umfeld fördern und ihre Entwicklungsprozesse optimieren.

Jedoch bleiben Herausforderungen bestehen, und Organisationen müssen aktiv daran arbeiten, diese Probleme anzugehen, um die potenziellen Vorteile der Software-Wiederverwendung vollständig zu nutzen. Durch sorgfältige Planung, Investitionen in Schulungen und die Schaffung klarer Richtlinien können Organisationen die erfolgreiche Implementierung wiederverwendbarer Microservices in ihren Entwicklungspraktiken sicherstellen.

Originalquelle

Titel: Large scale reuse of microservices using DevOps and InnerSource practices -- A longitudinal case study

Zusammenfassung: Contemporary practices such as InnerSource and DevOps promote software reuse. This study investigates the implications of using contemporary practices on software reuse. In particular, we investigate the costs, benefits, challenges, and potential improvements in contemporary reuse at Ericsson. We performed the study in two phases: a) the initial data collection based on a combination of data collection methods (e.g., interviews, discussions, company portals), and b) a follow-up group discussion after a year to understand the status of the challenges and improvements identified in the first phase. Our results indicate that developing reusable assets resulted in upfront costs, such as additional effort in ensuring compliance. Furthermore, development with reuse also resulted in additional effort, for example, in integrating and understanding reusable assets. Ericsson perceived the additional effort as an investment resulting in long-term benefits such as improved quality, productivity, customer experience, and way of working. Ericsson's main challenge was increased pressure on the producers of reusable assets, which was mitigated by scaling the InnerSource adoption. InnerSource success is evident from the increase in the contributions to reusable assets. In addition, Ericsson implemented measures such as automating the compliance check, which enhanced the maturity of reusable assets and resulted in increased reuse.

Autoren: Deepika Badampudi, Muhammad Usman, Xingru Chen

Letzte Aktualisierung: 2023-09-26 00:00:00

Sprache: English

Quell-URL: https://arxiv.org/abs/2309.15175

Quell-PDF: https://arxiv.org/pdf/2309.15175

Lizenz: https://creativecommons.org/licenses/by/4.0/

Änderungen: Diese Zusammenfassung wurde mit Unterstützung von AI erstellt und kann Ungenauigkeiten enthalten. Genaue Informationen entnehmen Sie bitte den hier verlinkten Originaldokumenten.

Vielen Dank an arxiv für die Nutzung seiner Open-Access-Interoperabilität.

Mehr von den Autoren

Ähnliche Artikel