Programming Model of a Computer

We now know that clients and servers are programs that communicate with one another according to the client-server model. But where within the nodes of the Internet (computers, phones, tablets) do clients and servers exist?.

Fig: 1.2.1. Programming model of a Computer

Clients and servers are applications that reside in the application layer of a computer (see Figure above). For eg. YouTube.com is a server which can be accessed via a web browser (on computers and phones) or apps (also on computers and phone). Other examples include GitHub.com, Slack, Facebook, Google etc. All these "Internet Software" have a server and client apps as part of their ecosystem. Developing and maintaining these is referred to as devops (Developer Operations).

This guide focusses on train you in devops for Internet Software development. Section 4 of the guide deals with deploying clients and servers on Microcontrollers (small bare bones computers with no OS, but programmable firmware).