diff --git a/course/README.md b/course/README.md index 7816a2c..7907bdb 100644 --- a/course/README.md +++ b/course/README.md @@ -13,7 +13,7 @@ In my many years working in the field, I have noticed a range of challenges and DevOps has its challenges: * There is no simple starting point to start learning about DevOps * DevOps requires a very broad range of skills that can be very overwhelming for new people to learn -* DevOps is often treated as "Dev" and "Ops" which means you need understanding of two broad fields +* DevOps is often treated as "Dev" and "Ops" which means you need understanding of two very broad fields * DevOps technologies are littered with buzz words, such as cloud, AI, machine learning, CI/CD, scalability, immutable infrastructure, automation, security and it never ends Qualifications have its challenges: @@ -27,7 +27,7 @@ In my many years working in the field, I have noticed a range of challenges and * Often only solve really specific problems, and miss real world problems * Develop very narrow focussed problem solving skill * Miss out on powerful open source skills -* Vendor locking +* Vendor locking: Often stuck only specialising in one vendor's product ## 🎯 Course Goals & Expectations diff --git a/course/chapters/chapter-2-operating-systems/README.md b/course/chapters/chapter-2-operating-systems/README.md index b0fb4f5..5a72122 100644 --- a/course/chapters/chapter-2-operating-systems/README.md +++ b/course/chapters/chapter-2-operating-systems/README.md @@ -1,6 +1,6 @@ # Chapter 2 : Operating Systems -Back to [Course Introduction](../../README.md) +Back to [Course Introduction](../../README.md#table-of-contents) ### 🎬 [Module 1: Introduction Operating Systems for DevOps](../../content/operating-systems/introduction/README.md) diff --git a/course/content/operating-systems/commandline/introduction/README.md b/course/content/operating-systems/commandline/introduction/README.md index 489895b..7a2ca2e 100644 --- a/course/content/operating-systems/commandline/introduction/README.md +++ b/course/content/operating-systems/commandline/introduction/README.md @@ -143,10 +143,19 @@ Above, `-m` stands for message. * `pwd` : Writes the full path of the currend working directory to the screen * `touch` : Creates a file without content * `nano` : Starts a simple Linux text editor +* `mkdir` : Create a directory * `cp` : Copies a file or directory * `mv` : Renames a file or directory. Useful for renaming files or moving content * `rm` : Removes a file or directory - +* `grep` : Find text in a file or in output +* `df` : Displays the amount of disk space available on the file system +* `du` : Estimates file space usage for a directory +* `ps` : Displays information about active processes. `ps aux` displays all processes +* `top` : Command line utility to monitor system load +* `kill` : Terminates a process by process ID +* `wget` : Downloads files from the web +* `curl` : Create and send a Web request to a server + ## Command inputs and outputs We can capture outputs of a command.
@@ -163,4 +172,4 @@ For example: ``` echo "add more content" >> output.txt -``` \ No newline at end of file +``` diff --git a/course/content/operating-systems/linux/introduction/README.md b/course/content/operating-systems/linux/introduction/README.md index 5ee5c13..0f74a1f 100644 --- a/course/content/operating-systems/linux/introduction/README.md +++ b/course/content/operating-systems/linux/introduction/README.md @@ -18,7 +18,7 @@ There are many popular Linux Distros, including Ubuntu, Debian, Arch Linux, Fedo For this module, you will need access to a Linux server.
See the Preface section above for a link to the chapter overview page where you will find the module on Servers & Virtualization for creating a Virtual Server.
-Checkout [chapter 2: module: Introduction to Servers & Virtualization](../../../chapters/chapter-2-operating-systems/README.md) if you need to create a Linux server
+Checkout the Introduction to Servers & Virtualization in [Chapter 2](../../../../chapters/chapter-2-operating-systems/README.md) if you need to create a Linux server
## Terminal, Shell & Command Line diff --git a/course/course-diagram.svg b/course/course-diagram.svg index 98aedd4..cb3fa6c 100644 --- a/course/course-diagram.svg +++ b/course/course-diagram.svg @@ -1,2 +1,2 @@ -




Learn about:
* Source Control
* GIT
* Hosted GIT such as Github
* IDE Tools such as Visual Studio Code
* How to manage code & scripts as a DevOps engineer
Learn about:...
START HERE
START HERE
Course Introduction
Course Introduction

Chapter-1

Source controlΒ & GIT

Chapter-1...
Intro to GIT
Source Control
Intro to GIT...
1
1
Intro to Github
HostedSource Control
Intro to Github...
3
3
Intro to IDEs
VSCode
Intro to IDEs...
2
2


- module: intro to OS
- module: intro to servers & VMs
- module: intro to linux & command line
- module: intro to OS...

Chapter-2

Operating Systems

Chapter-2...
Intro toΒ 
Operating Systems for DevOps
Intro to...
Intro toΒ 
Servers &
Virtualisation
Intro to...
Intro toΒ 
Linux
Intro to...
Intro toΒ 
Command Line
Intro to...
Bash Scripting
for Beginners
Bash Scripting...


- module: intro to linux monitoring
- module: monitoring dashboards
- module: intro to linux monitoring...

Chapter-3

Monitoring

Chapter-3...
Intro toΒ 
Linux Monitoring
Intro to...
Introduction toΒ 
Grafana
Introduction to...
Introduction toΒ 
Prometheus
Introduction to...
-Β HTTP and status codes
- DNSΒ 
- SSL
Β  Β  - TCP \ UDP , portsΒ 
Β  Β  - Testing network accessΒ 
Β  Β  - Testing port is open
- Scripting (bash)Β Β \ automation
-Β HTTP and status codes...

Chapter-4

Web Servers

Chapter-4...
Intro to Web Servers
Intro to Web Ser...
Creating Web Servers with NGINX
Creating Web Ser...
The Basics of HTML and Web
The Basics of HT...
Create your own personal website
Create your own...
Get free SSL certificates
Get free SSL cer...
- Web Server Logs
- Web Server Metrics
- Web Server Logs...

Chapter-4.1

Web Server

Monitoring

Chapter-4.1...
Monitoring Logs
with Grafana Loki
Monitoring Logs...
Monitoring Logs
with fluentd
Monitoring Logs...
- What are CI/CD
- What is a pipeline
- Automation
- Deployments
- What are CI/CD...

Chapter-5

CI / CD Pipelines

Chapter-5...
Setup a basic CI/CD pipeline
Setup a basic C...
What is CI/CD
What is CI/CD
Automate Website Deployments
Automate Websi...
-Β what are containers and why they exist
- challenges with our web server
- how docker solves it,
- create docker fileΒ 
- run container scriptΒ 
-Β what are containers and why they exist...

Chapter-6

Docker & Containers

Chapter-6...
Intro to Docker
Intro to Doc...
Migrate our Website to Docker
Migrate our We...
-Β benefits of compose
- no script needed
- can easily start and build container with short command
-Β  can run many containers
- less scripts
-Β benefits of compose...

Chapter-7

Docker Compose

Chapter-7...
Intro to Docker Compose
Intro to Docker...
Creating a Compose file
Creating a C...
- what is infrastructure as code ?
- IaC Tools
- Terraform
- Cloud Init
- Automation
- what is infrastructure as code ?...

Chapter-8

Infrastructure as Code

Chapter-8...
- What is the cloud
- Virtual Machines in the Cloud
- Examples
- Migrate our servers to Cloud
- What is the cloud...

Chapter-9

Introduction to Cloud

Chapter-9...
Intro to IaC
Intro to IaC
Intro to Cloud Init
Intro to Cloud...
Intro to Terraform
Intro to Terr...
🚧 under construction
🚧 under construction
✍🏽 pre-production
✍🏽 pre-production
%3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22%F0%9F%8E%AC%22%20style%3D%22text%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3Bautosize%3D1%3BstrokeColor%3Dnone%3BfillColor%3Dnone%3BfontSize%3D28%3BfontColor%3D%2300FFFF%3B%22%20vertex%3D%221%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22-1960%22%20y%3D%22295%22%20width%3D%2260%22%20height%3D%2250%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel%3EΒ 
πŸš€Β ready
%3CmxGraphMo...
πŸš€
πŸš€
πŸš€
πŸš€
🚧
🚧
🚧
🚧
✍🏽
✍🏽
🎦
🎦
🎦
🎦
✍🏽
✍🏽
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
1
1
2
2
3
3
4
4
5
5
🎦
🎦
🎦 production
🎦 production
πŸš€
πŸš€
%3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22%F0%9F%8E%AC%22%20style%3D%22text%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3Bautosize%3D1%3BstrokeColor%3Dnone%3BfillColor%3Dnone%3BfontSize%3D28%3BfontColor%3D%2300FFFF%3B%22%20vertex%3D%221%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22-1960%22%20y%3D%22295%22%20width%3D%2260%22%20height%3D%2250%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel%3EΒ βœ…Β published
%3CmxGraphModel...
✍🏽
✍🏽
0
0
1
1
2
2
3
3
4
4
4.1
4...
5
5
6
6
7
7
8
8
9
9
πŸš€
πŸš€
Text is not SVG - cannot display
\ No newline at end of file +




Learn about:
* Source Control
* GIT
* Hosted GIT such as Github
* IDE Tools such as Visual Studio Code
* How to manage code & scripts as a DevOps engineer
Learn about:...
START HERE
START HERE
Course Introduction
Course Introduction

Chapter-1

Source controlΒ & GIT

Chapter-1...
Intro to GIT
Source Control
Intro to GIT...
1
1
Intro to Github
HostedSource Control
Intro to Github...
3
3
Intro to IDEs
VSCode
Intro to IDEs...
2
2


- module: intro to OS
- module: intro to servers & VMs
- module: intro to linux & command line
- module: intro to OS...

Chapter-2

Operating Systems

Chapter-2...
Intro toΒ 
Operating Systems for DevOps
Intro to...
Intro toΒ 
Servers &
Virtualisation
Intro to...
Intro toΒ 
Linux
Intro to...
Intro toΒ 
Command Line
Intro to...
Bash Scripting
for Beginners
Bash Scripting...


- module: intro to linux monitoring
- module: monitoring dashboards
- module: intro to linux monitoring...

Chapter-3

Monitoring

Chapter-3...
Intro toΒ 
Linux Monitoring
Intro to...
Introduction toΒ 
Grafana
Introduction to...
Introduction toΒ 
Prometheus
Introduction to...
-Β HTTP and status codes
- DNSΒ 
- SSL
Β  Β  - TCP \ UDP , portsΒ 
Β  Β  - Testing network accessΒ 
Β  Β  - Testing port is open
- Scripting (bash)Β Β \ automation
-Β HTTP and status codes...

Chapter-4

Web Servers

Chapter-4...
Intro to Web Servers
Intro to Web Ser...
Creating Web Servers with NGINX
Creating Web Ser...
The Basics of HTML and Web
The Basics of HT...
Create your own personal website
Create your own...
Get free SSL certificates
Get free SSL cer...
- Web Server Logs
- Web Server Metrics
- Web Server Logs...

Chapter-4.1

Web Server

Monitoring

Chapter-4.1...
Monitoring Logs
with Grafana Loki
Monitoring Logs...
Monitoring Logs
with fluentd
Monitoring Logs...
- What are CI/CD
- What is a pipeline
- Automation
- Deployments
- What are CI/CD...

Chapter-5

CI / CD Pipelines

Chapter-5...
Setup a basic CI/CD pipeline
Setup a basic C...
What is CI/CD
What is CI/CD
Automate Website Deployments
Automate Websi...
-Β what are containers and why they exist
- challenges with our web server
- how docker solves it,
- create docker fileΒ 
- run container scriptΒ 
-Β what are containers and why they exist...

Chapter-6

Docker & Containers

Chapter-6...
Intro to Docker
Intro to Doc...
Migrate our Website to Docker
Migrate our We...
-Β benefits of compose
- no script needed
- can easily start and build container with short command
-Β  can run many containers
- less scripts
-Β benefits of compose...

Chapter-7

Docker Compose

Chapter-7...
Intro to Docker Compose
Intro to Docker...
Creating a Compose file
Creating a C...
- what is infrastructure as code ?
- IaC Tools
- Terraform
- Cloud Init
- Automation
- what is infrastructure as code ?...

Chapter-8

Infrastructure as Code

Chapter-8...
- What is the cloud
- Virtual Machines in the Cloud
- Examples
- Migrate our servers to Cloud
- What is the cloud...

Chapter-9

Introduction to Cloud

Chapter-9...
Intro to IaC
Intro to IaC
Intro to Cloud Init
Intro to Cloud...
Intro to Terraform
Intro to Terr...
🚧 under construction
🚧 under construction
✍🏽 pre-production
✍🏽 pre-production
%3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22%F0%9F%8E%AC%22%20style%3D%22text%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3Bautosize%3D1%3BstrokeColor%3Dnone%3BfillColor%3Dnone%3BfontSize%3D28%3BfontColor%3D%2300FFFF%3B%22%20vertex%3D%221%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22-1960%22%20y%3D%22295%22%20width%3D%2260%22%20height%3D%2250%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel%3EΒ 
πŸš€Β ready
%3CmxGraphMo...
πŸš€
πŸš€
πŸš€
πŸš€
🚧
🚧
🚧
🚧
✍🏽
✍🏽
🎦
🎦
🎦
🎦
🎦
🎦
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
🚧
1
1
2
2
3
3
4
4
5
5
🎦
🎦
🎦 production
🎦 production
πŸš€
πŸš€
%3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22%F0%9F%8E%AC%22%20style%3D%22text%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3Bautosize%3D1%3BstrokeColor%3Dnone%3BfillColor%3Dnone%3BfontSize%3D28%3BfontColor%3D%2300FFFF%3B%22%20vertex%3D%221%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22-1960%22%20y%3D%22295%22%20width%3D%2260%22%20height%3D%2250%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel%3EΒ βœ…Β published
%3CmxGraphModel...
✍🏽
✍🏽
0
0
1
1
2
2
3
3
4
4
4.1
4...
5
5
6
6
7
7
8
8
9
9
πŸš€
πŸš€
Text is not SVG - cannot display
\ No newline at end of file