Category: 2.6 Architecture and Design
-
Balancing technology heterogeneity in microservice architectures [EMSE Journal]
Abstract Microservices are a popular architectural style that allows systems to be built from a potentially large number of microservices, all of which can be developed independently and by their own teams. As a resulting benefit, development teams can choose the technologies optimal for their microservices, leading to a diversity of different programming languages, frameworks,…
-
Visual spaghetti robotics edition
Ever since the Intrinsic launch event a few weeks back, I wanted to write a long article on how the shown approach of visual programming for robotics is likely to fail. This prediction is based on forty years of experience with visual spaghetti in software engineering. I never got around writing a long blog post,…
-
What microservices can learn from enterprise information integration [HICSS 2020]
Abstract: Microservices are an architectural style in which each service typically provides the complete stack of functions from a user or application programming interface through a domain model all the way to storage for that model. As a consequence, querying conjunct data from different microservices becomes a non-trivial engineering task. In this article, we review…
-
How UML is actually used (if it is used)
When I started our software architecture course about eight years ago, I was happy to find out about a book series on the architecture of open source applications. I was thrilled: Not only code, but architecture descriptions! I expected great material for my course. Sadly, I had to realize that none of the chapters in…
-
Data structures vs. functions in the age of microservices
The old wisdom of “data structures over functions” has stood the test of time for probably 50 years now. It states that long-term, a system is better built on sound data structures than functions. While functions may hide clumsy data structures for a while, when faced with evolution and new user needs, poor data structures…
-
Microservices vs. inner source
I just listened to Eberhard Wolff’s BED-Con talk on microservice-based system architectures, which he prefers to call Independent Systems Architectures (ISA). One purpose of calling it ISA is to emphasize that there should be no common data model and no shared reusable libraries between microservices. Obviously, by discounting reuse, ISA may increase development speed short-term…