Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Upcoming SlideShare
Anatomie von Microservice Landschaften
Next
Download to read offline and view in fullscreen.

Share

Microservices – die Architektur für Agile-Entwicklung?

Download to read offline

Um agile Entwicklung sinnvoll in einem Projekt zu ermöglichen, spielt die Architektur des Systems eine entscheidende Rolle. In einem agilen Projekt sind Architektureigenschaften wie Installierbarkeit und Prüfbarkeit entscheidend, da die Software in kurzen Abständen regelmäßig geliefert und im besten Fall dem Endnutzer zur Verfügung gestellt wird. Diese kurzen Releasezyklen gelingen nur durch ein hohes Maß an Automatisierung. Agile Projekte benötigen bereits passende Lösungsansätze in der Architektur, die es erlauben eine Continous Delivery Pipeline möglichst einfach zu realisieren; das Architekturmuster „Microservices“ versucht u.A. diesen Anforderungen gerecht zu werden.

Weitere Vorteile des Architekturmusters ergeben sich bei der Skalierung von Projekten. Durch den Einsatz von „Microservices“ können Projekte einfach aufgeteilt und parallel von mehreren Cross-Functional Teams mit agilen Methoden umgesetzt werden.

Die Idee eines Microservice ist nicht neu: das System wird in kleine, losgelöste Anwendungen (sog. Microservices) aufgeteilt. Diese Bausteine stellen Ihre Funktionalität als Service zur Verfügung. Der Vortrag gibt einen Praxiseinblick, auf welche Weise man vom Einsatz des Architekturmusters „Microservice“ in einem agilen Projektumfeld profitieren kann. Es wird aufgezeigt, wo sich in der Praxis Schwierigkeiten ergeben und wie man diesen vorbeugen kann. Der gesamte Vortrag gibt einen grundlegenden Einblick in die agile Entwicklung auf Basis einer Microservice-Architektur.

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Microservices – die Architektur für Agile-Entwicklung?

  1. 1. Microservices – die Architektur für Agile-Entwicklung? Christian Baranowski
  2. 2. Web - Application Mobile - Application Application Server Presentation-LayerBusiness-LayerData-Layer DatabaseFilesystem … external Services Feature Product Owner User Stories Developers & Testers Scrum Master Agile Entwicklung und Software Architektur
  3. 3. Web - Application Mobile - Application Application Server Presentation-LayerBusiness-LayerData-Layer DatabaseFilesystem … external Services Product Owner User Stories Developers & Testers Scrum Master Agile Entwicklung und Software Architektur Feature Data Sprint Logic Sprint UI Sprint
  4. 4. Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure. -- Melvyn Conway, 1967
  5. 5. Agile Entwicklung und Software Architektur Web - Application Mobile - Application Application Server Presentation-LayerBusiness-LayerData-Layer DatabaseFilesystem … external Services Feature Product Owner UX Team Middelware Team DB Team User Stories Component Teams Conway's Law in action
  6. 6. Agile Entwicklung und Software Architektur Component Teams
  7. 7. Web - Application Mobile - Application Application Server Presentation-LayerBusiness-LayerData-Layer DatabaseFilesystem … external Services Feature Product Owner User Stories Agile Entwicklung und Software Architektur Feature Feature Epics Feature Teams
  8. 8. … selbstorganisierte Teams agile „FeaturesTeams“ sind…
  9. 9. … Teams die über längere Zeit zusammen „Feature“ realisieren agile „FeaturesTeams“ sind…
  10. 10. … Teams die alle notwendigen Arbeiten zur Bereitstellung des „Feature“ verantwortet 
 agile „FeaturesTeams“ sind…
  11. 11. … alle Teammitglieder zu 100% einem „Feature“ Team zugeordnet in agilen „FeaturesTeams“ sind…
  12. 12. Feature Teams and Agile • Manifesto for Agile Software Development • Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. • Business people and developers must work together daily throughout the project. • The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. • The best architectures, requirements, and designs emerge from self-organizing teams.
  13. 13. …designs emerge from self-organizing teams Feature Team A Feature Team B Feature Team C Business Expert Business Expert Business Expert Java MySQL Tomcat Java OSGi jQuery NodeJS MongoDB AngularJS
  14. 14. Microservice Architektur Feature Team A Feature Team B Feature Team C http://martinfowler.com/articles/microservices.html How big is a microservice? The largest sizes reported follow Amazon's notion of the Two Pizza Team
  15. 15. Monolithische und Microservice Architekturen
  16. 16. Loose Kopplung der einzelnen Services in Anwendungen ermöglicht die Aufteilung der Software in mehrere getrennte Projekte.
  17. 17. Eine Microservice Architektur ermöglicht agile Lösungen durch die richtige Technologie für das richtige Probleme. Kurz gesagt Polyglotte Lösungen und Plattformen!
  18. 18. Einzelne Services lassen sich getrennt Erstellen und in Betrieb nehmen dies führt zu einfachen und schnellen Continuous Delivery Pipelines.
  19. 19. Die Teams sind für den gesamten Lebenszyklus des Service verantwortlich von der Entwicklung bis in den Betrieb.
  20. 20. Abstimmung zwischen den Teams beschränkt sich auf die Vereinbarung der Schnittstellen und Schnittstellenverträge.
  21. 21. Abstimmung zwischen den Teams gemeinsame Datenbank Feature Team A Feature Team B
  22. 22. Abstimmung zwischen den Teams REST API (Service) Feature Team A Feature Team B
  23. 23. Abstimmung zwischen den Teams Link Feature Team A Feature Team B
  24. 24. Abstimmung zwischen den Teams MQ Messaging Feature Team A Feature Team B
  25. 25. Microservices Baukasten von Netflix Service A Service B Service B Eureka Zuul Ribbon Client Ribbon Client https://github.com/Netflix/eureka https://github.com/Netflix/zuul https://github.com/Netflix/ribbon Hystrix https://github.com/Netflix/Hystrix
  26. 26. Microservice Skalierung Z axis – data partitoning Scale by splitting sim ilarthings X axis – horizontal duplication Scale by cloning Y axis – functional decomposition Scaling by splitting different things. Quelle: THE ART OF SCALABILITY, MARTIN L. ABBOTT & MICHAEL T. FISHER
  27. 27. Microservices eignet sich nicht für jede Software Architektur. Der Architekturstil richtet sich besonderes an große Lösungen z.B. Internet Dienste mit besonderen Anforderungen an Skalierung.
  28. 28. Eine Microservice Architektur führt zusätzliche Komplexität in eine Architektur ein, mit der umgegangen werden muss.
  29. 29. Eine monolithische Architektur ist einfach zu bauen und für kleine Projekte geeignet.
  30. 30. Transaktion Management in einer Microservices Architektur mit unterschiedlichen Datenbanken ist eine große Herausforderung.
  31. 31. Polyglotte Plattform können auch zu einem Technologie Dschungel führen.
  32. 32. Es gibt neben Microservices auch andere Möglichkeiten z.B. Plugin Architekturen wie OSGi die es ermöglichen Teile getrennt zu bauen.
  33. 33. Microservices – die Architektur für Agile- Entwicklung?
  • permanentmedia

    Dec. 24, 2019
  • Micha_F

    Oct. 17, 2019
  • lreindl

    Dec. 4, 2018
  • LaibingYang

    Nov. 26, 2017
  • matzeOnAngular

    May. 10, 2017
  • MartinMller30

    Jan. 13, 2017
  • McHenner

    Sep. 22, 2016
  • michaaax

    Jun. 25, 2016
  • jmau2002

    Jan. 20, 2016
  • grutschnig

    Nov. 7, 2015
  • jlsoft

    Oct. 3, 2015
  • bunkertor

    Oct. 2, 2015

Um agile Entwicklung sinnvoll in einem Projekt zu ermöglichen, spielt die Architektur des Systems eine entscheidende Rolle. In einem agilen Projekt sind Architektureigenschaften wie Installierbarkeit und Prüfbarkeit entscheidend, da die Software in kurzen Abständen regelmäßig geliefert und im besten Fall dem Endnutzer zur Verfügung gestellt wird. Diese kurzen Releasezyklen gelingen nur durch ein hohes Maß an Automatisierung. Agile Projekte benötigen bereits passende Lösungsansätze in der Architektur, die es erlauben eine Continous Delivery Pipeline möglichst einfach zu realisieren; das Architekturmuster „Microservices“ versucht u.A. diesen Anforderungen gerecht zu werden. Weitere Vorteile des Architekturmusters ergeben sich bei der Skalierung von Projekten. Durch den Einsatz von „Microservices“ können Projekte einfach aufgeteilt und parallel von mehreren Cross-Functional Teams mit agilen Methoden umgesetzt werden. Die Idee eines Microservice ist nicht neu: das System wird in kleine, losgelöste Anwendungen (sog. Microservices) aufgeteilt. Diese Bausteine stellen Ihre Funktionalität als Service zur Verfügung. Der Vortrag gibt einen Praxiseinblick, auf welche Weise man vom Einsatz des Architekturmusters „Microservice“ in einem agilen Projektumfeld profitieren kann. Es wird aufgezeigt, wo sich in der Praxis Schwierigkeiten ergeben und wie man diesen vorbeugen kann. Der gesamte Vortrag gibt einen grundlegenden Einblick in die agile Entwicklung auf Basis einer Microservice-Architektur.

Views

Total views

3,289

On Slideshare

0

From embeds

0

Number of embeds

127

Actions

Downloads

95

Shares

0

Comments

0

Likes

12

×