Vous êtes convaincus par l’architecture micro-services et vous souhaitez vous lancer dans l'aventure. Durant cette session, nous expliquons comment démarrer concrètement ; quelles sont les nouvelles problématiques que soulève cette architecture et comment les résoudre. Nous détaillons – à travers une application de démonstration qui implémente les concepts de Service Discovery, Circuit Breaker, Routing et Client Side Load Balancing – l'utilisation de la libraire Spring Cloud Netflix (Eureka, Hystrix, Ribbon , ...). Nous survolerons ensuite les différentes alternatives développées par les autres géants du Web tels que Twitter, Airbnb, ...
4. 4
Microservices
« 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. (…) »
JamesLewisandMartinFowler
36. ‹N°›36
Organisation Independance
1 dépôt GIT par service
1 build par service
1 déploiment par service
Attention au DRY
Independance entre service
Privilégier la création de librairie
Consumer-Driven Contracts
39. 39
Do not be afraid
Microservices it’s not a silver bullet and it
come with few problems
But
We have many great solutions, big actors
experiences and a lots of benefits
Try it
40. 40
Ressources • Projet démo sur GitHub
https://github.com/VanRoy/tvshowsdb-microservices
• Martin Fowler : Microservicesarchitecture
http://martinfowler.com/articles/microservices.html
• Chris Richardson : Introduction to microservices
https://www.nginx.com/blog/introduction-to-microservices/
• Adam Wiggins: The Twelve-Factor App
http://12factor.net/
• PaulChapman : Microservices with Spring
https://spring.io/blog/2015/07/14/microservices-with-spring
• Rohit Kelapure: An Architecture for Microservices usingSpringon
Cloud Foundry
https://docs.google.com/document/d/15G8ew0qEDqpuBTWH9YGHKh
da6HaLvfKuS4pnB-CPm50
• Dave Syer : SpringCloud, SpringBoot andNetflix OSS
http://presos.dsyer.com/decks/cloud-boot-netflix.html
• Netflix : Open SourceSoftware Center
https://netflix.github.io/
• SpringCloud
http://projects.spring.io/spring-cloud/