course updates

This commit is contained in:
marcel-dempers 2025-03-21 18:29:28 +11:00
parent 2878423dbb
commit 48baf157c9
4 changed files with 75 additions and 8 deletions

View File

@ -10,31 +10,44 @@ In this chapter we'll learn about the basics of web servers and get our first we
#### In this module #### In this module
* What is the Web
* What is a web server * What is a web server
* Run a very basic web server * Run a very basic web server
* Basics of Web * Basics of Web
- Client & Server - Client & Server
- HTTP - HTTP
- DNS - DNS
- Status code - Status codes
- Request methods - Request methods
- TCP\UDP and Ports - TCP\UDP and Ports
- Network testing tools - Network testing tools
### 🚧🎬 Module 2: The basics of HTML and Web ### 🚧🎬 Module 2: The basics of HTTP
#### In this module
* What is the HTTP protocol
* Roles of clients and servers
* Understanding requests and responses
* Interpreting responses & status codes
* Understanding response logs
* Tools
### 🚧🎬 Module 3: The basics of HTML and Web Services
DevOps engineers are often tasked to troubleshoot and assist developers who may have Web applications deployed. </br> DevOps engineers are often tasked to troubleshoot and assist developers who may have Web applications deployed. </br>
Perhaps there are network failures, resources may not be correctly loading or incorrectly deployed. </br> Perhaps there are network failures, resources may not be correctly loading or incorrectly deployed. </br>
In this chapter we will learn about the basics of HTML and web assets, how they render and how to use developer tools to troubleshoot networking and other issues with Web applications. In this chapter we will learn about the basics of HTML and web assets, how they render and how to use developer tools to troubleshoot networking and other issues with Web applications. It's a high level module designed to give you a glimpse in the shoes of a UI or front-end developer
#### In this module #### In this module
* HTML files, syntax and usage * HTML files, syntax and usage
* Basics of Stylesheets * Basics of Stylesheets & Scripts
* Troubleshooting HTML in Browsers * Troubleshooting HTML in Browsers
* Understanding different HTTP responses: API vs WEB
* Monitoring and Debugging * Monitoring and Debugging
### 🚧🎬 Module 3: Creating web servers with NGINX ### 🚧🎬 Module 4: Creating web servers with NGINX
#### In this module #### In this module
@ -44,7 +57,25 @@ In this chapter we will learn about the basics of HTML and web assets, how they
* Make our website public * Make our website public
* Understanding SSL\TLS security for Web servers * Understanding SSL\TLS security for Web servers
### 🚧🎬 Module 4: Creating our own personal website ### 🚧🎬 Module 5: HTTP Troubleshooting
#### In this module
* Troubleshooting client and servers
* Understanding HTTP status codes and meaning of errors
* Interpret web server error and access logs
### 🚧🎬 Module 6: DNS, Domains, SSL & TLS
#### In this module
* What is DNS
* What are domains
* Importance of TLS/SSL for secure communication
* HTTPS connections
* Setting up TLS in Web servers for HTTPS
### ⏳🎬 Module 7: Creating our own personal website
During this entire course we will touch on a wide spectrum of DevOps tooling, concepts and technology. </br> During this entire course we will touch on a wide spectrum of DevOps tooling, concepts and technology. </br>
The outcome of this course is to have real-world hands-on experience with all these topics, all the way from setup, scripting, coding to building, CI/CD and deployment including monitoring and observability. </br> The outcome of this course is to have real-world hands-on experience with all these topics, all the way from setup, scripting, coding to building, CI/CD and deployment including monitoring and observability. </br>
@ -54,7 +85,7 @@ The outcome of this course is to have real-world hands-on experience with all th
* Put together a DevOps CV personal website using HTML, CSS and Javascript * Put together a DevOps CV personal website using HTML, CSS and Javascript
* Understanding website deployment and changes * Understanding website deployment and changes
### 🎬 Module 5: Get free SSL certificates ### ⏳🎬 Module 8: Get free SSL certificates
To make our website public on the web, we should introduce a domain and SSL certificate To make our website public on the web, we should introduce a domain and SSL certificate

View File

@ -0,0 +1,23 @@
#!/bin/bash
# Memory leak simulation script
echo "Memory leak simulation script started with PID $$"
# Function to simulate memory leak
simulate_memory_leak() {
local count=0
local data=()
while true; do
# Append random data to the array
data+=($(head -c 1M < /dev/urandom | base64))
count=$((count + 1))
echo "Allocated $count MB of memory, consuming more memory..."
# Sleep for a short period to slow down the leak
sleep 1
done
}
# Start the memory leak simulation
simulate_memory_leak

View File

@ -98,6 +98,19 @@ Virtual memory is also known as SWAP memory.
SWAP memory is a portion of the hard drive designated to be used as virtual memory when the physical memory is fully utilized. It acts as an overflow area for the system's memory, allowing the operating system to continue running applications even when the physical memory is exhausted. SWAP memory is a portion of the hard drive designated to be used as virtual memory when the physical memory is fully utilized. It acts as an overflow area for the system's memory, allowing the operating system to continue running applications even when the physical memory is exhausted.
## Tools to test monitoring tools
Throughout my journey, I have used many monitoring tools in the field when production servers are having issues. There is one positive thing from learning about monitoring tools as we will do in this module, but theres another positive which is very important, which is to have tooling available to TEST your monitoring tools to help validate your understanding of said monitoring tool. </br>
Sometimes our interpretation of what a monitoring tool tells us can be incorrect or slightly off.
For example, when using tools that provide insights to memory usage, and you see a process is using 100mb of memory, you can validate the tool by writing a small script that utilises 100mb of memory and validate whether or not you can see that same number in the monitoring tool. Now you know you are using 100mb of memory because you wrote that in the script and you also see the 100mb memory usage in the monitoring tool. </br>
The above is a very simplistic example, but when it comes to monitoring things like networks, it can be extremely helpful to validate your findings by using simulation scripts. </br>
In this guide we have a [simulation script](./.test/memoryleak-memory.sh) to generate memory usage, simulating a memory leak. </br>
<i><b>Important Note:</b> Please note that links to these files can change without notice and may be different from what you read on screen in the video at the time of recording.</i>
## Memory monitoring tools for Linux ## Memory monitoring tools for Linux
The simplest way to check memory usage on a server is to use the native `top` and extended `htop` tools. </br> The simplest way to check memory usage on a server is to use the native `top` and extended `htop` tools. </br>

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 4.6 MiB

After

Width:  |  Height:  |  Size: 4.8 MiB