do microservicespreventhigh qualitative code? · operating systems group microservices2019...

10
Operating Systems Group www.tu-chemnitz.de Microservices 2019 20.02.19 M. Hilbrich Do Microservices Prevent High Qualitative Code? Marcus Hilbrich , Christine Jakobs, Matthias Werner Operating Systems Group TU Chemnitz

Upload: others

Post on 22-Sep-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Do MicroservicesPreventHigh Qualitative Code? · Operating Systems Group Microservices2019 ∙20.02.19∙M. Hilbrich 3 Software) Engineers Evangelists Not)Users Users •Concept •Buzzword

Operating Systems Group

www.tu-chemnitz.deMicroservices 2019 ∙ 20.02.19 ∙ M. Hilbrich

Do Microservices Prevent High

Qualitative Code?

Marcus Hilbrich, Christine Jakobs, Matthias Werner

Operating Systems GroupTU Chemnitz

Page 2: Do MicroservicesPreventHigh Qualitative Code? · Operating Systems Group Microservices2019 ∙20.02.19∙M. Hilbrich 3 Software) Engineers Evangelists Not)Users Users •Concept •Buzzword

Operating Systems Group

www.tu-chemnitz.de2Microservices 2019 ∙ 20.02.19 ∙ M. Hilbrich

An#architectural#style

An#IDE,#or#framework,#or#library,#or#

deployment#system

A#DevOps#strategy#(process#model)

A#current#buzzword A#philosophy#/#religion

Microservice (MS) Definitions

Page 3: Do MicroservicesPreventHigh Qualitative Code? · Operating Systems Group Microservices2019 ∙20.02.19∙M. Hilbrich 3 Software) Engineers Evangelists Not)Users Users •Concept •Buzzword

Operating Systems Group

www.tu-chemnitz.de3Microservices 2019 ∙ 20.02.19 ∙ M. Hilbrich

Software)Engineers Evangelists

Not)Users

Users• Concept• Buzzword

• Should we use MS?• It depends

• Do MS decrease the software quality directly?• Maybe

• Do MS decrease the software quality in principle?• Yes, but …

Open Questions

Page 4: Do MicroservicesPreventHigh Qualitative Code? · Operating Systems Group Microservices2019 ∙20.02.19∙M. Hilbrich 3 Software) Engineers Evangelists Not)Users Users •Concept •Buzzword

Operating Systems Group

www.tu-chemnitz.de4Microservices 2019 ∙ 20.02.19 ∙ M. Hilbrich

• Clean Code• Architectures• Fault prevention• Code reuse

High Quality Code ObservationsMicroservices

• Design for failures• Services can be

rewritten any time

• General carelessness• Poorly managed

code fragments

Page 5: Do MicroservicesPreventHigh Qualitative Code? · Operating Systems Group Microservices2019 ∙20.02.19∙M. Hilbrich 3 Software) Engineers Evangelists Not)Users Users •Concept •Buzzword

Operating Systems Group

www.tu-chemnitz.de5Microservices 2019 ∙ 20.02.19 ∙ M. Hilbrich

Statement I:

The (mis)interpretation of microservices reduces code quality• Even for non microservice systems•Microservices are an excuse

!Can be solved by teaching?

Page 6: Do MicroservicesPreventHigh Qualitative Code? · Operating Systems Group Microservices2019 ∙20.02.19∙M. Hilbrich 3 Software) Engineers Evangelists Not)Users Users •Concept •Buzzword

Operating Systems Group

www.tu-chemnitz.de6Microservices 2019 ∙ 20.02.19 ∙ M. Hilbrich

• Own libraries / data structures• Helper classes• Coding guidelines• No code duplicates

Code Reuse ObservationsMicroservices

• Services are independent

• Not invented here syndrome• Copy and Paste

reuse

Page 7: Do MicroservicesPreventHigh Qualitative Code? · Operating Systems Group Microservices2019 ∙20.02.19∙M. Hilbrich 3 Software) Engineers Evangelists Not)Users Users •Concept •Buzzword

Operating Systems Group

www.tu-chemnitz.de7Microservices 2019 ∙ 20.02.19 ∙ M. Hilbrich

Statement II:

Code reuse is an inherent problem for microservices

!Open challenge

Page 8: Do MicroservicesPreventHigh Qualitative Code? · Operating Systems Group Microservices2019 ∙20.02.19∙M. Hilbrich 3 Software) Engineers Evangelists Not)Users Users •Concept •Buzzword

Operating Systems Group

www.tu-chemnitz.de8Microservices 2019 ∙ 20.02.19 ∙ M. Hilbrich

• Aspects• Object Orientation• Models

Abstraction ObservationsMicroservices

• Services are independent

• Abstraction strategies are not used

Page 9: Do MicroservicesPreventHigh Qualitative Code? · Operating Systems Group Microservices2019 ∙20.02.19∙M. Hilbrich 3 Software) Engineers Evangelists Not)Users Users •Concept •Buzzword

Operating Systems Group

www.tu-chemnitz.de9Microservices 2019 ∙ 20.02.19 ∙ M. Hilbrich

Statement III:

Abstraction is an inherent problem for microservices

!Evangelists and non evangelists have opposite opinions

Page 10: Do MicroservicesPreventHigh Qualitative Code? · Operating Systems Group Microservices2019 ∙20.02.19∙M. Hilbrich 3 Software) Engineers Evangelists Not)Users Users •Concept •Buzzword

Operating Systems Group

www.tu-chemnitz.de10Microservices 2019 ∙ 20.02.19 ∙ M. Hilbrich

Semantic)of)Microservice

Stop)using)microservicesNobody)understands)the)conceptReuse)strategies)for)microservicesAbstraction)and)microservicesHow)to)write)good)codeFighting)evangelists…