Server and serverless
Our applications ultimately need to run somewhere. Traditional servers give you full control, while serverless environments trade that control for convenience. Let's break down these options.
Communication between systems
When systems need to talk, they have two fundamental ways to communicate: synchronously (waiting for immediate replies) or asynchronously (fire-and-forget). Understanding this split will help you debug issues, choose technologies, and explain architectural decisions to your team.
REST and RESTful
So far in this section we've covered the foundations of API communication. Now let's look at the architectural style that underlies most modern web APIs: REST. Understanding REST helps you design predictable, scalable endpoints—and recognize when "RESTful" claims don't quite match reality.
Interfaces and implementations
Interfaces and implementations are fundamental concepts that let you write flexible, testable code. An interface defines what something does, while an implementation defines how it does it. This separation is the foundation of clean architecture.