Hi, have you ever wonder about answer for a question what makes a great architecture really great? Of course, many aspects exist in many projects, and everything shall correspond with functional requirements. But in my opinion, nothing can be built based on functional requirements. It is exactly the same situation as when we are trying to design buildings or power lines and even a delivery chain of post packages. Everything should be planned based on common patterns and components. And then, we can build something well-recognized and well-designed with the most important factor, extensibility in every possible way.
I think that most of modern challenges of software architecture came from backend systems. Because any modern systems have some kind of backend. Even pure business applications have some layer and/or component for communication. For example, a relational database or document database or invocation of requests via HTTP or TCP connection is necessary for requesting or receiving some data. Even when we create calculator apps is good to connect that application to public web service’s or REST applications.
Currently I focused on designing fast and scalable backend systems. And challenges for me are multi-platform interoperability, aspects of data transformations in multi-core environments, and redundancy, especially for high availability. Many implementations actually resolve such problems. And I am still trying to measure everything, and I am also trying to find the best solutions, which is sometimes not very easy. And I will try to share with you on this blog shortly the possible resolution of mentioned problems.