do microservicespreventhigh qualitative code? · operating systems group microservices2019...
TRANSCRIPT
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
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
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
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
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?
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
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
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
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
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…