Modern Web Architecture
Modern Web Architecture
There are many components that software developers need in their project development processes, but knowing only the visible side of the work can sometimes lead to mistakes or a lack of knowledge. For this reason, every developer who wants to write good code and develop a project should have a good understanding of the framework behind their work. The framework corresponds to a scheme called modern web architecture. In this article, you can find information about the components of modern web architecture and how it works.
What is Modern Web Architecture?
What is Modern Web Architecture? If you ask, it is actually a working network consisting of many components. Thanks to the regular functioning of this network, the web continues to work in an accessible way. The addresses that everyone enters into the browser in daily life, from the simplest search to the most complex, actually deliver search results to the user thanks to the operation of the mechanism behind the web search. The journey that starts with DNS branches into many branches and makes web searches possible thanks to the diversified steps toward the target result. This is why it is of great importance for a developer to master this scheme. So, you can follow the order below to take a look at the components in this long journey.
DNS is the first essential component of modern web architecture. This component can be called a kind of guide because it provides guidance for the other components. As we know, every computer and channel needs an identity. These identities are recognized by the IP address. The IP address contains the customized information of the server and the computer. The indispensable tool to access these identities is DNS. Like an organizer, DNS enables communication between components and makes searches possible. In other words, DNS becomes the intermediary to resolve the identity of each domain and provides the necessary transmission with this recognition system. For example, you want to connect to your Instagram account and the IP address of Instagram is "126.96.36.199". If you typed in "instagram.com" and DNS couldn't recognize the complexity of the IP address, you would have to re-enter those complex numbers into the search bar every time.
Load Balancer is not vital for basic web application coding, but knowing what it is is essential for larger projects. Load Balancer is basically a server, but it's not just a server. Because this component is called a reverse proxy server and it has an important role. A reverse proxy is like this. The proxy server, which is a bridge between the web result to be reached and the person who wants to reach it, is the step where the search result is requested. In other words, the request is not actually made by the user, but by the proxy server at the user's instigation. To concretize the request, you say to the proxy server, "Receive my request to reach Instagram and as a result, process the request and direct me to the correct result." This indirect processing closes security gaps. A reverse proxy is intended to protect the other party (e.g. Instagram) and acts as an intermediary to keep their IP address hidden.
Web Application Servers
A web application server is basically a server that handles hosting and storage. In other words, a website needs a web server to stay live. Servers store and give space to web pages on the internet by responding to HTTP connection requests. For example, you have a blog and you want to make it available to users. The intermediary required for this is the web server, and it delivers the content you want to deliver to the other side over the HTTP protocol. In other words, it processes the incoming request, generates feedback and directs it to the ideal place by providing the necessary transfer. So, what is a web application server? After explaining the web application, the web application server will be better understood. An application server is focused on a specific application or software. In other words, the application server serves the running of a specific application, providing its working mechanism by providing its methods. To better understand these two concepts, the main differences between them can be listed as follows:
- The application server has a wider processing range. While the web server only serves the content of HTTP connections, the application server can also serve other protocols.
- The application server not only provides the bridge between the client and the server. It can also provide real-time analytics. Thus, it becomes the business logic component of 3-tier architecture applications.
- The web server serves the browser pages, while the application server provides the method for client-facing requests.
3 Tier Web Architecture
Before moving on to another concept, it may be useful to answer the question "What is a 3-tier web architecture?", which is a question that may be related to the topic whose components have been introduced. A 3-tier web architecture is a type of web architecture that consists of 3 layers. These layers are called the presentation layer, business logic layer and data storage layer respectively. The presentation layer is defined as the user interface, the application server is located in the business logic layer and the database server is defined as the data storage layer. The reason why this architecture is three-tier is that modern software applications require a powerful underpinning. Modern three-tier web architecture can support complex software that a two-tier architecture cannot.
Database, which ensures the continuity of the systems, means database in Turkish. A database is a base that provides information flow and records information in systems. Although there are many types, a database is basically a huge electronic media repository. The database languages produced by developers are PL/SQL, SQL, TCL and Transact - SQL. These languages characterize the underlying data system, and it is through them that logging is made possible. Since it is very difficult to manage websites with large amounts of data from a single server, the servers are clustered together to form a communication network. You can find information about these servers in the following topics.
Caching servers have a structure that speeds up software downloads. It speeds up the download process by reducing internet bandwidth. Designed for more complex websites, the server stores time-intensive transfers in its content, allowing faster access to the result step. Since the time-consuming process is actually a reconstruction, the caching server stores the data in its memory instead of this step, allowing it to be parsed each time, saving time. Redis is an example of such a server.
Job servers, like caching servers, provide infrastructure for complex websites. The main purpose of these servers is to run operations in the background without data entry. For example, job servers are used to enter the absences of students in a school and then send a direct message to their parents. Luigi and Azkaban are examples of these servers.
The last topic of this article, search services, is a concept that everyone is familiar with. They are services that suggest the most appropriate result based on the word typed into the search bar. For example, when you enter the letters f and i in the search bar of an online coffee shop, it is thanks to these services that the word filter coffee appears as a suggestion at the bottom. It is possible to perform many operations with search services.