Exploring System Architectures
System architecture is centered around how specific software systems and protocols work, the components they contain and how that all fits together. Of course, there are many systems and elements with different architectures.
The following provides a few examples of systems and architectures you are likely to encounter over time:
How Computer Networking and the Web Works - Understanding HTTP, DNS, TCP/IP, IP4, etc. Here’s a related free online course which goes through the elements of networking via video.
Architecture and Design of REST APIs - REST APIs are the servers that provide data (usually in JSON or XML) to web or mobile apps.
Architecting and Designing Relational Database Schemas - How to design the database schemas and models that hold all of your data for a system and designing the relationships between them. Check out this course which dives in deep to database design and modeling.
Architecture and Layers of Caching within Applications - How to “cache” (or store) data in multiple different places in order to make your systems faster and more reliable. Also check out these articles: one, two, three for additional resources.
Archiecture of Push vs Pull System Communication - How to architect the communication between two separate parts of a larger system that need to notify each other as things happen.
Architecture of Concurrent or Parallel Programming - How to design components of systems where multiple lines of code execute simultaneously. Check out this or this article for additional background.
Architecture of Data Sharding or Partitioning - How to store large datasets for your applications in a particular way that makes your systems more scalable.
Last updated