As technology becomes a key differentiator, business leaders are increasingly engaging in strategic discussions with IT leaders to better understand how the solutions they develop will meet their business needs. At this juncture, it’s critical that they have a basic understanding of how software and system architecture work and how decisions made choosing the right architecture will affect the final business application or solution in terms of usability, scalability, flexibility, and more. This high-level overview will hopefully provide the needed context to better navigate such exchanges. This treatment would be of particular interest to system architects that need to understand and deploy and manage distributed cloud native systems.
As outlined in our previous article, distributed systems are complex pieces of software. To master this complexity, systems must be properly organized. Let’s start by distinguishing between two key organization concepts: software architecture and system architecture.
Software architecture refers to the logical organization of a distributed system into software components. Instead of one big monolithic application, distributed systems are broken down into multiple components. The way in which these components are broken down impacts everything from system performance to reliability to response latency.
System architecture refers to the placement of these software components on physical machines. Two closely related components can be co-located or placed on different machines. The location of components will also impact performance and reliability.
The resulting architectural style ultimately determines how components are connected, data is exchanged, and how they all work together as a coherent system.
I have over a decade of experience covering full system architecture in the LAMP space. I am a could solutions architect as well and can help you design AWS infrastructure maximizing uptime, mitigating risk and saving money. I am happy to help with small issues such as selecting the right service or package for your business right the way up to complete system architecture for bespoke applications. I specalise in the following skills but have experience with a range of other software.