microservices: cosa sono e quando non usarli
TRANSCRIPT
![Page 1: Microservices: cosa sono e quando non usarli](https://reader033.vdocuments.mx/reader033/viewer/2022051318/58ece2381a28ab12398b461b/html5/thumbnails/1.jpg)
MICROSERVICES WHAT, WHY & DONT'S
key concepts for evaluation
effect
free!
![Page 2: Microservices: cosa sono e quando non usarli](https://reader033.vdocuments.mx/reader033/viewer/2022051318/58ece2381a28ab12398b461b/html5/thumbnails/2.jpg)
…WHAT’S THAT MICROSERVICES THING?
![Page 3: Microservices: cosa sono e quando non usarli](https://reader033.vdocuments.mx/reader033/viewer/2022051318/58ece2381a28ab12398b461b/html5/thumbnails/3.jpg)
– Torsten Winterberg, Oracle ACE Director
“Microservices are the kind of SOA we have been talking about for the last decade”.
![Page 4: Microservices: cosa sono e quando non usarli](https://reader033.vdocuments.mx/reader033/viewer/2022051318/58ece2381a28ab12398b461b/html5/thumbnails/4.jpg)
– Eberhard Wolff, adesso AG head of the technology advisory board
“Microservices must be independently deployable, whereas SOA services are often
implemented in deployment monoliths”.
![Page 5: Microservices: cosa sono e quando non usarli](https://reader033.vdocuments.mx/reader033/viewer/2022051318/58ece2381a28ab12398b461b/html5/thumbnails/5.jpg)
PSSSST! TELL NO ONE(SOA failed)
![Page 6: Microservices: cosa sono e quando non usarli](https://reader033.vdocuments.mx/reader033/viewer/2022051318/58ece2381a28ab12398b461b/html5/thumbnails/6.jpg)
ARE MICROSERVICES BETTER?• Greater simplicity
• The "micro" difference
• Cloud infrastructure
• New container technology
• Faster, more reliable networks
• Less politics
![Page 7: Microservices: cosa sono e quando non usarli](https://reader033.vdocuments.mx/reader033/viewer/2022051318/58ece2381a28ab12398b461b/html5/thumbnails/7.jpg)
THE (SOMETIMES EVIL) MONOLITH
![Page 8: Microservices: cosa sono e quando non usarli](https://reader033.vdocuments.mx/reader033/viewer/2022051318/58ece2381a28ab12398b461b/html5/thumbnails/8.jpg)
✓simple to develop
✓IDEs & development tools support
✓easy to test
✓simple to deploy
✓works well for relatively small apps
![Page 9: Microservices: cosa sono e quando non usarli](https://reader033.vdocuments.mx/reader033/viewer/2022051318/58ece2381a28ab12398b461b/html5/thumbnails/9.jpg)
- growth overloads everything
- difficult to adopt new technologies
- often stuck with the starting choices
- doesn’t scale to long-lived-application
![Page 10: Microservices: cosa sono e quando non usarli](https://reader033.vdocuments.mx/reader033/viewer/2022051318/58ece2381a28ab12398b461b/html5/thumbnails/10.jpg)
IN COMPUTING, MICROSERVICES IS SOFTWARE ARCHITECTURE STYLE IN WHICH COMPLEX APPLICATIONS ARE COMPOSED OF SMALL, INDEPENDENT PROCESSES COMMUNICATING WITH
EACH OTHER USING LANGUAGE-AGNOSTIC APIS.
THESE SERVICES ARE SMALL, HIGHLY DECOUPLED AND FOCUS ON DOING A SMALL TASK, FACILITATING A MODULAR
APPROACH TO SYSTEM-BUILDING
![Page 11: Microservices: cosa sono e quando non usarli](https://reader033.vdocuments.mx/reader033/viewer/2022051318/58ece2381a28ab12398b461b/html5/thumbnails/11.jpg)
![Page 12: Microservices: cosa sono e quando non usarli](https://reader033.vdocuments.mx/reader033/viewer/2022051318/58ece2381a28ab12398b461b/html5/thumbnails/12.jpg)
DATASTORE
![Page 13: Microservices: cosa sono e quando non usarli](https://reader033.vdocuments.mx/reader033/viewer/2022051318/58ece2381a28ab12398b461b/html5/thumbnails/13.jpg)
DEPLOYMENT
![Page 14: Microservices: cosa sono e quando non usarli](https://reader033.vdocuments.mx/reader033/viewer/2022051318/58ece2381a28ab12398b461b/html5/thumbnails/14.jpg)
• suite of small services• running in its own process• communicating with lightweight mechanisms• built around business capabilities • independently automated deployable • minimum of centralized management• technology agnostic
MICROSERVICES
![Page 15: Microservices: cosa sono e quando non usarli](https://reader033.vdocuments.mx/reader033/viewer/2022051318/58ece2381a28ab12398b461b/html5/thumbnails/15.jpg)
![Page 16: Microservices: cosa sono e quando non usarli](https://reader033.vdocuments.mx/reader033/viewer/2022051318/58ece2381a28ab12398b461b/html5/thumbnails/16.jpg)
✓each microservice is relatively small
✓easier for a developer to understand
✓easier to scale development
✓improve fault isolation
✓develop and deploy independently
✓no long-term commitment to a tech-stack
✓allow a fine-grained performance tuning or scaling
![Page 17: Microservices: cosa sono e quando non usarli](https://reader033.vdocuments.mx/reader033/viewer/2022051318/58ece2381a28ab12398b461b/html5/thumbnails/17.jpg)
- additional complexity of a distributed system
- tools/IDEs are monolithic applications oriented
- testing is more difficult
- must implement the inter-service communication
- increase memory consumption
![Page 18: Microservices: cosa sono e quando non usarli](https://reader033.vdocuments.mx/reader033/viewer/2022051318/58ece2381a28ab12398b461b/html5/thumbnails/18.jpg)
WHO HAS USED THEM?
![Page 19: Microservices: cosa sono e quando non usarli](https://reader033.vdocuments.mx/reader033/viewer/2022051318/58ece2381a28ab12398b461b/html5/thumbnails/19.jpg)
IS A GOOD CHOICE FOR THE SYSTEM YOU'RE
WORKING ON?
![Page 20: Microservices: cosa sono e quando non usarli](https://reader033.vdocuments.mx/reader033/viewer/2022051318/58ece2381a28ab12398b461b/html5/thumbnails/20.jpg)
• Strong Module Boundaries
• Independent Deployment
• Technology Diversity
• Distribution
• Eventual Consistency
• OperationalComplexity
COSTSBENEFITS
![Page 21: Microservices: cosa sono e quando non usarli](https://reader033.vdocuments.mx/reader033/viewer/2022051318/58ece2381a28ab12398b461b/html5/thumbnails/21.jpg)
YAGNIdo a monolith first
![Page 22: Microservices: cosa sono e quando non usarli](https://reader033.vdocuments.mx/reader033/viewer/2022051318/58ece2381a28ab12398b461b/html5/thumbnails/22.jpg)
MARTIN FOWLER
“you shouldn't start a new project with
microservices, even if you're sure your
application will be big enough to make
it worthwhile”
![Page 23: Microservices: cosa sono e quando non usarli](https://reader033.vdocuments.mx/reader033/viewer/2022051318/58ece2381a28ab12398b461b/html5/thumbnails/23.jpg)
PRODUCTIVITY vs COMPLEXITY
![Page 24: Microservices: cosa sono e quando non usarli](https://reader033.vdocuments.mx/reader033/viewer/2022051318/58ece2381a28ab12398b461b/html5/thumbnails/24.jpg)
• ensuring the team has the skills needed
• taking a pragmatic approach
• adapting to teams and customers capabilities
TAKEWAYS
![Page 25: Microservices: cosa sono e quando non usarli](https://reader033.vdocuments.mx/reader033/viewer/2022051318/58ece2381a28ab12398b461b/html5/thumbnails/25.jpg)
![Page 26: Microservices: cosa sono e quando non usarli](https://reader033.vdocuments.mx/reader033/viewer/2022051318/58ece2381a28ab12398b461b/html5/thumbnails/26.jpg)
Thank you.
@realfuzzyMichele Franzin
![Page 27: Microservices: cosa sono e quando non usarli](https://reader033.vdocuments.mx/reader033/viewer/2022051318/58ece2381a28ab12398b461b/html5/thumbnails/27.jpg)
CREDITSslides 7,15 - http://www.infoq.com/articles/microservices-introslides 11,12,13,21,23 - http://martinfowler.com/bliki/ slide 5 - http://apsblog.burtongroup.com/
http://martinfowler.com/bliki/microservices.htmlhttp://www.infoq.com/articles/microservices-introhttps://en.wikipedia.org/wiki/Microserviceshttp://martinfowler.com/microservices/
RESOURCES