in Microservices / Microservices on Microservices, Microservice architecture, Containers, Container imagesLast modified at:
Container images encapsulate a service executable along with the libraries and files it needs, and containers provide a way to run many services isolated from one another. That’s why container images and containers are suited perfectly to serve as the basic building blocks for a microservices-based application.
Microservices are everywhere, and they have come to stay. In this blog post, we’ll examine their fundamental building block: container images and containers.
in Microservices / Microservices on Microservices, Microservice architectureLast modified at:
The microservice architecture is our way out of monolithic hell. In this blog post, we’ll examine its advantages and disadvantages.
Previously, we’ve looked at a thing called monolithic hell that developers of large applications built using the monolithic architecture style often end up in, and we’ve seen the problems of that architecture style. In this second blog post, then, we’ll take a look at how the microservice architecture addresses those problems.
in Microservices / Microservices on Microservices, MonolithLast modified at:
The monolithic architecture style is not inherently evil – its disadvantages only show when the code base grows too much. But because code bases have a habit of doing precisely that, developers often find themselves in monolithic hell, and once there, it’s very difficult to get out.
To gain a better understanding for how a microservice architecture can help us deliver better software faster, the following sections will introduce the older, but still very common monolithic architecture and its problems.
in Software-engineering / Software engineering on Software engineering, Software systems, Orthogonality, Coupling, CohesionLast modified at:
Achieving orthogonality in the design of software is an investment into the future of the resulting software system because orthogonality increases its long-term fitness in terms of quality attributes such as flexibility, testability, and extensibility.
In this blog post, we’ll have a look at the concept of orthogonality in context of software engineering and how it can help us improve the quality attributes of the software we write. We’ll then explore two of the concepts that contribute to building orthogonal software systems.
in Software-engineering / Software engineering on Software engineering, Broken windows, Boy scout rule, Software degradation, Technical debtLast modified at:
The most significant accelerator of software degradation is the team’s working culture. Even minor flaws in a project’s code base can cause the working culture to deteriorate and hence drive software degradation.
This blog post is about the link between software and broken windows (no, not the operating system – literally a window, you know, the sort of window you can look out of) and what this link means for us as software developers.