27
MICROSERVICES WHAT, WHY & DONT'S key concepts for evaluation effect free!

Microservices: cosa sono e quando non usarli

Embed Size (px)

Citation preview

Page 1: Microservices: cosa sono e quando non usarli

MICROSERVICES WHAT, WHY & DONT'S

key concepts for evaluation

effect

free!

Page 2: Microservices: cosa sono e quando non usarli

…WHAT’S THAT MICROSERVICES THING?

Page 3: Microservices: cosa sono e quando non usarli

– 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

– 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

PSSSST! TELL NO ONE(SOA failed)

Page 6: Microservices: cosa sono e quando non usarli

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

THE (SOMETIMES EVIL) MONOLITH

Page 8: Microservices: cosa sono e quando non usarli

✓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

- 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

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
Page 12: Microservices: cosa sono e quando non usarli

DATASTORE

Page 13: Microservices: cosa sono e quando non usarli

DEPLOYMENT

Page 14: Microservices: cosa sono e quando non usarli

• 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
Page 16: Microservices: cosa sono e quando non usarli

✓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

- 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

WHO HAS USED THEM?

Page 19: Microservices: cosa sono e quando non usarli

IS A GOOD CHOICE FOR THE SYSTEM YOU'RE

WORKING ON?

Page 20: Microservices: cosa sono e quando non usarli

• Strong Module Boundaries

• Independent Deployment

• Technology Diversity

• Distribution

• Eventual Consistency

• OperationalComplexity

COSTSBENEFITS

Page 21: Microservices: cosa sono e quando non usarli

YAGNIdo a monolith first

Page 22: Microservices: cosa sono e quando non usarli

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

PRODUCTIVITY vs COMPLEXITY

Page 24: Microservices: cosa sono e quando non usarli

• 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
Page 26: Microservices: cosa sono e quando non usarli

Thank you.

@realfuzzyMichele Franzin

Page 27: Microservices: cosa sono e quando non usarli

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