Introduction to Servers
Learning outcomes:
Be Able to name the most common types of servers
Able to articulate why we have different kinds of servers including single use what the advantages of Linux for servers are
Articulate differences in the most commonly used distributions for servers
VIDEO
Would you like to download my PowerPoint to follow along?
What is a server
A computer or computer program which manages access to a centralized resource or service in a network. -Oxford English Dictionary
A way we can have a computer that's set up to give information.
Think about it like you're at a restaurant, you request poutine from the waitstaff (you're the client) the waitstaff will then bring you a plate of poutine (Waitstaff is the server) You can have one server for multiple clients, and each client might want something different, maybe you wanted poutine, but the next booth over is craving Arepas, the server can bring you each what you want and get the orders to the correct people.
A short history of Linux from Unix to Android
Why do we have servers?
Can serve multiple clients
More powerful than traditional client computers
Can have different functionalities (I.e. Web vs DHCP)
Can share resources or services
How servers are different then other computers
More Powerful
Not always enabled with a GUI
May not have a monitor attached
Likely to Have Networking capabilities and SSH
Must be more fault tolerant
Must have more reliability and uptime
Mission Critical systems run on servers or Mainframes
Often lives in a Rack, maybe even a data center
Must have more powerful cooling
Likely to need to be able to run without reboot for long periods of time by doing things Like adding in modules
Clusters
Servers can also reside in a cluster or server farm
Modern data centers are often clusters
Sometimes we might have dedicated servers for special use cases (more examples and detail in later modules)
Different kinds of server Types
Testing (Automated or not automated)
Staging (Resembles production environment as close as possible)
Production (Live server *Here be Dragons* for dev)
Application (Host web apps)
Database (Database hosting)
File (File hosting)
Proxy (Intermediary between clients and other servers)
Game (MMORPG)
Print (Share a printer)
Catalog (such as directory or name servers)
Communications (telecommunications and Endpoints)
Media (Plex)
More examples of Server types including details on what each type means
Most popular Server Operating Systems
Nginix
Red Hat/CentOS/Rocky
Ubuntu Server
Debian
Some companies will also use one of these as a base and then create an in house flavour
Single vs Multi server Architecture
Single task can do 1 thing at once
Pros: Simplicity, easier configuration, works on low powered servers
Cons: Scaling, upgrades and speed
Multi task uses time sharing to do multiple things
Pros: specialization can lead to efficiency and optimization, scaling is easier
Cons: Set up can be more challenging. More configs to worry about
Multi User systems
Distributed Operating Systems
Physical Servers
Harder to manage remotely
May be lower Power/resources
Can have security issues with sandboxing and access
Can get expensive
Virtual Servers
Easier to manage remotely
Easier to spin up another VM
Easier to sandbox each server away from each other
Needs more specialized skills beyond server management
More portable
Easier to scale
Easier to do Disaster recovery and backups
More fault tolerant
Cloud services
Cloud Server Providers
AWS
Azure
Google Cloud Platform
Cloud server software can also be used to set up a cloud just for an enterprise situation, an example is VMWare cloud
Data centers are getting very popular as well
Can pay based on usage of bandwidth, or storage space
All of these might need to follow protocols/regulations based on industry (for example, HIPAA certified)
Suggested Activities and Discussion Topics:
Would you like to see some more classes?
Click here