Computer Networking Concepts for DevOps Engineers Part I
A computer network is basically the backbone behind the changing corporate culture and new technologies in the DevOps Model, it makes open communication, collaboration, and cross-discipline teamwork possible. If you don’t know what the DevOps model is all about or you need to refresh your memory, please refer back to my article on the DevOps Model.
What is a Computer Network and how does it aid the DevOps Model?
A computer network is mostly defined as
A group of electronic devices connected with each other through a wired or wireless transmission medium with the sole purpose of sharing, and exchanging data and resources with each other.
These electronics devices include desktops, laptops, mobile devices, televisions, printers, scanners, etc.
Classification of Computer Networks
Computer Networks can be majorly classified based on their size, distance, purpose, and structure. Some of these major classifications by size are
Personal Area Network
A personal area network is a small network built around an individual or person within a range of about ten meters. PAN is typically set up to share resources within a personal computer such as wireless keyboard and mouse, Bluetooth enabled devices like speakers, headphones, printers, etc
Local Area Network
A Local Area Network is a group of computers or peripheral devices connected in a small geographic area such as a house, building, or office, etc. It is a widely used network for sharing resources and software such as application programs or data. LANs are characterized by connections either wired or wireless to a central networking device such as a hub or switch.
Various devices in a LAN are connected to a central device called a Hub or Switch. The LAN can be installed simultaneously in wired, wireless, or both forms. However, LAN typically relies on wired connections for better speed and increased security.
Metropolitan Area Network
A Metropolitan Area Network is a network consisting of different LANs throughout the larger geographic area such as an entire city. The primary aim of MAN is to extend the Local Area Networks. MAN in most cases uses high-capacity fiber optics or radio technologies to provide increased speed and coverage.
Wide Area Network
A Wide Area Network is a network that covers a large geographical area such as states, countries, or the entire world. WAN is generally a connection between LANs and MANs. WANs are considered as the slowest data communication medium because of the largest distances.
An installation cost of a wide area network is very high as it uses expensive and intelligent network equipment.
Computer Network Architecture
Computer Network Architecture is defined as the physical and logical design or organization of the software, hardware, protocols, and transmission media in the network. The Architecture defines how the electronic devices should get connected and the roles allocated to each device for maximum advantages of the network such as better response time, scalability, security, etc
The two most popular computer architectures are P2P (Peer-to-Peer) and Client-Server architecture.
Peer-to-Peer Architecture is a network in which all the computers are linked together with equal privileges and responsibilities in the network. This network architecture doesn’t have a dedicated or central computer that acts as a server or provides services to others.
A Peer-To-Peer network is useful and implemented in small environments which usually comprises less than ten (10) computers and also where strict security is not a major concern. All computers communicate on an equal footing and have the same status, hence the term ‘Peer’.
Advantages of a Peer-to-Peer Architecture
1. Less costly as there is no need for a central supercomputer that has to handle or respond to all the requests.
2. In case of a computer failure all other computers in the network are not affected and they will continue to work as same as before the failure.
3. Installation of peer-to-peer architecture is quite easy as each computer manages itself.
Disadvantages of a Peer-to-Peer Architecture
1. Each computer has to take the backup rather than a central computer and the security measures are to be taken by all the computers separately.
2. Scalability is an issue in a peer-to-peer architecture as connecting each computer to every computer is a headache on a very large network.
3. Backing data up cannot be possible because data or information is not stored in a central system and different systems are providing different services on the network.
Client-Server Architecture is a network in which a central supercomputer acts as a hub and responds/serves all the requests for resources and data from client computers. This central computer takes up most of the roles, responsibilities, and operations on the network such as authorization, authentication, security, managing network resources like files, directories, printers, etc
The central controller responding to requests is known as a server while all other computers in the network making requests are called clients. All the shared data is stored in the server computer which is shared with the client computer when a request is made by the client computer.
Advantages of Client-Server Architecture
1. Data backup is easy and cost-effective as there is no need to manage the backup on each computer.
2. Performance is better as the response time is greatly improved because the server is a more powerful computer than the other computers in the network.
3. Security is better and fine-grained as unauthorized access is denied by the server computer which administers the shared resources and virtually everything goes through the server.
4. Scalability is not an issue in this Architecture as a large number of computers can be connected to the servers.
Disadvantages of Client-Server Architecture
1. Single point of failure, in the event of a server failure, the entire network goes down.
2. Server purchase and maintenance costs are high as the server is the main component in this architecture and it needs great specification to handle several requests and store large volumes of data.
3. Dedicated and highly skilled staff are required to manage all resources and operate the Network Operating System.