Anatomie von Microservice Landschaften

Download Anatomie von Microservice Landschaften

Post on 18-Aug-2015

120 views

Category:

Software

0 download

Embed Size (px)

TRANSCRIPT

<ol><li> 1. Anatomie von Microservice Landschaften </li><li> 2. Michael Pld Principal Consultant bei innoQ @bitboss </li><li> 3. Die klassische old school Software-Architektur </li><li> 4. HugeSOAPEndpoints HugeBusinessServices HugeDAOs Business Model Client DTO View Model Central RDBMS ER-Model Network Network </li><li> 5. HugeSOAPEndpoints HugeBusinessServices HugeDAOs Business Model Client DTO View Model Central RDBMS ER-Model Network Network MONOLITH One huge system to serve them all </li><li> 6. In short, the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. Martin Fowler: http://martinfowler.com/articles/microservices.html </li><li> 7. 1 Klein 2 Autonom 3 Kollaborativ </li><li> 8. Accounting Customer Customer Service Monetary Transactions Crediting Billing Trading </li><li> 9. Microservices sind kein Freibier </li><li> 10. ! Die Herausforderung ist weniger die Implementierung eines Microservices selbst, sondern das Umfeld in dem man selbige betreibt. </li><li> 11. Herausforderungen Business Design Deployment Collabora- tion Monitoring Interface Design Resilience </li><li> 12. 1 Business Design Leite Microservices vom Bounded Context ab Modularisierung ist ein 1. Schritt Hinterfrage N-Tier Architekturen </li><li> 13. 2 Interface Design Orchestrierung vs Choreographie oder Synchron vs Asynchron </li><li> 14. AuthorService EMail Service Roles Service OutBound Service Print Service Post Service Synchrone Orchestrierung </li><li> 15. AuthorService EMail Service Roles Service OutBound Service Asynchrone Choreographie Author Created Event </li><li> 16. ! Asynchrone Microservices bentigen eine Message Broker Infrastruktur </li><li> 17. Lasst uns den ohnehin lizensierten ESB der gescheiterten SOA Initiative verwenden </li><li> 18. NEIN </li><li> 19. ! Prferiere dumme Rohre mit klugen Endpoints als Message Broker Architektur </li><li> 20. ! Wie mssen Microservices deployed werden? Bercksichtige dabei Loose Kopplung! </li><li> 21. 3 Deployment Die typische Evolution einer Microservice Landschaft </li><li> 22. Service Service t </li><li> 23. Service Service Service Service Service Service t </li><li> 24. Service Service Service Service Service Service Service Service Service Service Service Service Service Service t </li><li> 25. Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service t </li><li> 26. HELP! t Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service </li><li> 27. t Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service Service </li><li> 28. ! Vor der Einfhrung von Microservices MUSS man einen hohen Automatisierungs- Grad erreicht haben </li><li> 29. &gt; Continuous Delivery &gt; Automatisierte Bereitstellung von Infrastruktur &gt; Automatisiertes Testing </li><li> 30. 4 Collaboration Sind Microservices das Wiederauferstehen der Spaghetti Integration? AuthorService EMail Service Roles Service OutBound Service Print Service Post Service </li><li> 31. Hard wiring von Service-Endpoints funktioniert nicht in einer hoch automatisierten Cloud-Landschaft AuthorService EMail Service Roles Service OutBound Service Print Service Post Service </li><li> 32. Will man alle Microservices auf einer Maschine deployen? AuthorService EMail Service Roles Service OutBound Service Print Service Post Service </li><li> 33. oder zieht man einen Host pro Microservice vor? AuthorService EMail Service Roles Service OutBound Service Print Service Post Service </li><li> 34. Docker? AuthorService EMail Service Roles Service OutBound Service Print Service Post Service </li><li> 35. Rollout einer neuen Version AuthorService EMail Service 1.0 </li><li> 36. Rollout einer neuen Version AuthorService EMail Service 1.0 EMail Service 1.1 </li><li> 37. Rollout einer neuen Version AuthorService EMail Service 1.0 EMail Service 1.1 Wie bekommt der AutorService nun den 1.1 Endpoint? </li><li> 38. Rollout einer neuen Version AuthorService EMail Service 1.0 EMail Service 1.1 Wie bekommt der AutorService nun den 1.1 Endpoint? </li><li> 39. Rollout einer neuen Version AuthorService EMail Service 1.0 EMail Service 1.1 Wie bekommt der AutorService nun den 1.1 Endpoint? </li><li> 40. Rollout einer neuen Version AuthorService EMail Service 1.1 Wie bekommt der AutorService nun den 1.1 Endpoint? </li><li> 41. ! Service Registries wie zB Netix Eureka, Zookeeper, Kubernetes or Etcd helfen! </li><li> 42. 5 Resilience Die Fhigkeit eines Systems mit unerwarteten Ereignissen umzugehen ohne dass es der User merkt mit graceful service degradation TAKEN FROM UWE FRIEDRICHSEN </li><li> 43. &gt; Microservice Systeme sind komplex und zu einem hohen Grad verteilt &gt; Fehler passieren und sind nicht vorhersehbar &gt; Roll Forward ist wichtiger wie Roll Back </li><li> 44. AuthorService EMail Service Roles Service THREAD POOL </li><li> 45. AuthorService EMail Service Roles Service THREAD POOL </li><li> 46. AuthorService EMail Service Roles Service THREAD POOL Wird langsamer und langsamer </li><li> 47. AuthorService EMail Service Roles Service THREAD POOL Wird langsamer und langsamer Thread Pool ist voll </li><li> 48. AuthorService EMail Service Roles Service THREAD POOL Wird langsamer und langsamer Thread Pool ist voll Keine Requests zu anderen Downstream Systemen sind mehr mglich </li><li> 49. AuthorService EMail Service Roles Service THREAD POOL Wird langsamer und langsamer Thread Pool ist voll Eingehende Requests hngen </li><li> 50. ! Fhre eine Bulkhead und Circuit Breaker Komponente ein </li><li> 51. AuthorService EMail Service Roles Service THREAD POOL THREAD POOL Bulkheads Circuit Breakers </li><li> 52. Source: https://github.com/Netflix/Hystrix/wiki/How-it-Works https://github.com/Netix/Hystrix/wiki/How-It-Works Wie funktioniert Hystrix? </li><li> 53. 6 Monitoring Es ist wichtig, frhzeitig eine ganzheitliche Sicht auf das System zu bekommen </li><li> 54. &gt; Es ist nicht ausreichend, jede Node einzeln zu monitoren &gt; Es muss gewhrleistet sein, dass alle Logs / Statistiken von alles Nodes konsolidiert werden knnen &gt; Requests mssen an einer Stelle ber das ganze System hinweg analysiert werden knnen </li><li> 55. Request Correlation IDs AuthorService EMail Service Roles Service OutBound Service Print Service Post Service CID: 1502 CID: 1502 CID: 1502 CID: 1502 CID: 1502 CID: 1502 </li><li> 56. Herausforderung angenommen? Business Design Deployment Collabora- tion Monitoring Interface Design Resilience </li><li> 57. Fragen? Michael Pld @bitboss http://slideshare.net/mploed michael.ploed@innoq.com </li></ol>

Recommended

View more >