Diagram explaining what happens when we type google.com into your browser

Performance is determined by the location of the server, the number of trips / HTTP request, size of the files are all important factors.

CDN content delivery network

AJAX allows you to fetch information while the user is still browsing the website get information back from the server as JSON and update website in real time.

HTTP is a language that both front end and backend speak and use to communicate with each other.

Backend developer is in charge of working with servers and databases.server determines what you get in the browser.

A server is a powerful computer that is somewhere in the world listening for requests via a HTTP connection.

The most basic of servers uses something called a LAMP STACK e.g. Hostgator. Consists of an APACHE server running a Linux os that uses PHP to interact with a MySQL database and is attached to a file system.

Can serve up a simple informational website like a Wordpress website where nothing complex is happening. Uses a Linux-based server which is the operating system. Apache server is a program that is good at accepting requests and sending out responses of files. The LAMP STACK uses a MySQL database. Say for example you had a blog site and you want to store comments on each post. PHP is a language used to have some logic in your servers. Server also has a filesystem where all the files of the server are stored.

You are probably wondering, if a server is just a computer, is my computer a server? Without having a server software, our computer is unreachable so nobody over the interwebs can access our computer

You could just download APACHE server and run your own server from your computer. On your computer you can create fake servers to test our websites. This was the old way of doing things. There wasn’t much logic to it and not expandable. Couldn’t have a website like facebook or amazon hosted on this type of server.

A new stack i.e. an Application Server looks something like this.

Unlike using APACHE server which is very simple and uses HTTP request/response, a Node Server — you can write customizable scripts that decipher various requests for the browser client. For example, a login request checks the db and verifies the user then sends information via JSON back to the client. Node server allows use to use JavaScript to decipher a POST request from facebook. Node.js and Express.js file on the server will read the request and say o we want to store this post in our db and associate it with the correct user. So when you return next, it is still there. It will also send a response indicating that the request was successful and new content will be rendered clientside. You’ll be able to edits, delete or update the post. All actions that can be handled by the node server.

Can you believe that there is even more that a backend server infrastructure can do? The infrastructure at a large organization would look more like this

This may look complex, but in summary, you are essentially making copies of your computer( each application server is a computer). Since these orgs had a massive user base copies are distributed to different offsite locations (example one in US, one in Asia, one in Europe, one in Africa). So that folks from around the world can access the website but go through different servers, hence splitting/balancing the load. Load balancing is taken care of by something like Apache or Engine X. The load balancer determines where to send each request depending on how busy each server is at that moment.

All copies use the same DB so that if someone in Africa updates their information, users in Europe will have access to that updated information. You can continue to scale as you gain more users by adding more servers or more databases(where each database contains a copy of all others).

In summary, the task of a backend developer is to ensure that when a user makes an HTTP request from the frontend we get a response back as fast as possible with correct data. So that our frontend team can be confident that they will get exactly what they need when they need it.

Full Stack Engineer — THIS CODE IS ON FIRE!!!

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store