Developer Perspective:
Code Deployment

- Developers write code that needs to be deployed and run on a server.
- The deployment process may involve building and deploying code on a local machine or through a CI/CD (Continuous Integration/Continuous Deployment) server.
Server

- Server:
- A server is a specialized computer system designed to handle requests and provide services to other computers, typically referred to as clients, over a network.
- While a server may have its own storage (disk), limitations often necessitate external, possibly distributed storage solutions.
- Main Functions
- Processing Requests: Servers receive and process requests from clients, such as web browsing requests, file access requests, database queries, etc.
- Providing Services: They execute specific services like web hosting, email services, file sharing, and database management.
- Inter-Server Communication
- Servers may communicate with external APIs (e.g., Stripe for payments).

- Components & Types of Servers
Storage
- Could be a database or other storage solutions.
- Storage can be connected with servers over a network and can be distributed across different parts of the world.
User Perspective

User Interaction
- Interact with the application via a browser, sending requests to the server.
- Server responds with front-end code (HTML, JavaScript) or back-end data (e.g., JSON via API).