What is system architecture
What is system architecture?
Architecture is the preoccupation with the question of how to structure and orchestrate code. What architecture options are there and what are their advantages and disadvantages?
Anyone who deals with software development is often primarily concerned with writing code. In fact, that is not all, it is also important to plan and design the structure of the code - this is exactly the topic the large field of architecture deals with.
In principle, architecture can be operated at the system and software level. While the system architecture deals with cross-process structures and their orchestration, the software architecture deals with the structure within a process. Some types of architecture exist on both levels, others only on the level of the system or software architecture.
The monolithic architecture
The simplest architecture is the monolith - there is only one single, large, self-contained structure. The monolith works without layers or other structure, which is why it most closely corresponds to a "non-architecture" that one does not have to think about, but that in a certain sense simply arises.
The next more complex approach is the client-server architecture, in which an application is broken down into two parts - a front end and a back end. In some situations, this architecture is the natural approach, for example in web development, which generally separates the UI executable in the web browser from the business logic executed on the server and the data access. Mobile applications also often follow this approach.
The great advantage of this approach is the ability to control and ensure consistency and integrity at a central point - but this is also the greatest disadvantage, because systems designed in this way have a single point of failure with the central server, which the system in More vulnerable to attack or censorship compared to other approaches.
Peer to Peer (P2P)
An alternative to this are P2P architectures that work in a decentralized and distributed manner, but manage entirely without a server: Instead, all nodes are treated equally and they exchange data directly. Permanently disrupting an application that is structured in this way is very time-consuming, as the system itself searches for new paths around holes that have arisen - in case of doubt, via other nodes.
Historically, P2P systems are primarily known from the various more or less legal file sharing networks that were particularly widespread around the turn of the millennium. However, the same concepts, protocols and methods can also be used to develop business applications.
The distributed service-based architectures, which are based on the idea of breaking down an application into smaller functional units that can be developed, operated, tested and updated independently of one another, represent a mixture of all of this. The basic principle is not new, because in the mid-1990s there were corresponding approaches with SOA and WOA, which, however, were still very complex technically.
In the meantime, micro- and nano-services are the common approach with this type of architecture, which is often combined with serverless approaches from the cloud. The ideas behind it, however, are still the same, namely to build an application as a network of individual, self-sufficient and autonomous services instead of developing a single large piece of software.
tl; dr: Architecture deals with the structuring and orchestration of software and the associated components. There are different types of architecture, each with their own advantages and disadvantages - from monolith to client-server and P2P to service-based architectures.
Golo Roden is the founder, CTO and managing director of the native web GmbH, a company specializing in native web technologies.
Read CV »
- What are the requirements for modern email clients
- How do DJs find clubs to play with
- How common are collective mental illnesses
- North Korea kidnapped girls from Japan
- Is Isha a Hindu or Muslim name
- How was the KVPY SX 2019
- What kind of feeling of love is no_redirect = 1
- Can a Canadian citizen work in the United States
- How do you get rid of beehives
- How can companies compete without lowering prices?
- What do you like on Mondays
- What does single bed mean
- Why do you hate being called weird
- How are LBSNAA rooms
- Which one should I choose Rust or C ++
- Why did George Gordon Byron learn Armenian
- Is there a SAT math 3
- How do you think gay
- Which famous artists were disabled
- Can insomnia go away 1
- Which book best describes Achilles
- Which technology is replacing smartphones 1
- How can parents help financially troubled schools
- How is fruit concentrate made
- What's your favorite Sunday song
- What is a shirt name
- How can I learn to take photos?
- What is Alexis Tsipra's vision for Greece
- How did Skillshare market itself to students
- How to make a children's room soundproof
- What do contemporary dancers think of ballet?
- You can stay motivated for long hours
- What is long-term HR
- How does a monarchy affect people?