Block name Hours Classes type Topics
* Basic introduction to Linux OS: explaining differences to Windows, what
is kernel/user space, filesystem introduction
* Basic shell commands: cd, ls, pwd, echo, cat and others
* Editing text files from console using nano
Operating * Package managers like apt / yum
system (incl. * Using streams and pipes
bash) basics 0 Video + prework * Linux users & permissions
* Why we use VCS? Difference between VCS and shared folder
System GIT - * Basic git command (init, add, commit, branch, merge)
video 0 Video * Working with remote repositories (clone, push, pull)
* Explaining OS architecture, kernel & user space separation, drivers
basics, sandboxes
* Basic filsystem concepts (catalog, journaling etc.). Windows
filesystems (FAT32, NTFS), Linux filesystems (ext2, ext3, ext4) and their
differences
* Mounting filesystems in Linux
* Explaining memory model, pagination and swap space (brief
Intermediate explanation)
Operating * Monitoring system using tools like iostat, netstat, top, lsof (brief
systems 7 Remote/Stationary explanation)
* Creating first shell script
* Differences between various shells
* Basic programming training in bash: variables, assigning value, types,
collecting user input, if statement, for loop, while loop, switch and others
* Using Git to store scripts in remote repository
* Regular expressions
* Scheduling tasks using cron
Bash scripting 14 Remote/Stationary * theory and practical examples
Bash scripting -
practice 14 Remote/Stationary * practical excersises for topics covered in Bash scripting module
* Docker as OS-level virtualization software, comparison to full
virtualization
* Basic containerization concepts (container, image, image registry)
* Container isolation
* Explaining some Linux features used in Docker (cgroup, chroot jail and
others)
* Pros and cons with containerization
* Installing and running Docker locally
* Basic docker commands (run, start, stop). Mounting volumes
* Creating container with working service (e.g. HTTP server)
* Containerization vs virtualization
* Creating Docker images using Dockerfile
Containerizatio * Docker Compose basics
n basics using * Creating simple multi-container appliction using Docker Compose
Docker 14 Remote/Stationary (eg. wordpress + mysql)
* What is container orchestration?
* Explaining basic concepts (pods, services etc.)
* Creating first Kubernetes cluster using minikube or similar
* Migrating application (eg. wordpress + mysql) from Docker compose
to Kubernetes config yaml files
Container * Ensuring application high availability using orchestration. Rolling
orchestration updates.
basics using * Scaling application up and down
Kubernetes 14 Remote/Stationary * various Kubernetes properties, healthchecks etc.
* Introduction to Python programming laguage. Differences and
similarities between Python and Bash
* Commonly used commands
* Basic data structures
* Filesystem operations
* Introduction to OOP
Python * Virtualenv and pip
scripting 21 Remote/Stationary * Exceptions
Python
scripting -
excersises 21 Remote/Stationary * practical excersises for topics covered in Python Scripting module
* Creating a new script in any preferred language (bash, Python)
Mid-course * Working with Git
project 14 On-site * Script topic, requirements and complexity to be agreed with trainer
* Basics of computer networks
* OSI model
* IP
* TCP vs UDP
* Switching vs routing
* Application protocols like HTTP & FTP
* Securing communication using SSL/TLS
* SSH
Networking * DNS
fundamentals 7 Remote/Stationary * DHCP
* Creating helm charts
* StatefulSets, ReplicaSet, DaemonSet
Advanced * Ingress
container * Network policies
orchestration * Scheduling, Cronjobs
using * Starting with Kubernetes theoretical knowledge and going into more
Kubernetes 21 Remote/Stationary deep-dive practise
* What is CI/CD system
* Integrating CI tool with Git repository, creating first pipeline and job
* Using Artifactory (or similar) to store build artefacts
* Explaining Runners
* Creating build files
CI/CD systems * CI/CD system to be decided: Jenkins, GitLab CI/CD, GitHub Actions.
basics 14 Remote/Stationary In the knowledge base will be materials related with Jenkins.
* Introduction to Cloud computing
* Types of cloud services (IaaS/PaaS/SaaS)
* Cloud models (public, private, hybrid)
* Pros and cons for using cloud
* Ways of securing data and services in cloud environment
* Managing cloud costs
* Physical realization of cloud - data centers, regions, availability zones,
edge locations, ensuring SLA
Cloud
* Introduction to AWS, using AWS Management Console
computing
* Using AWS VMs (EC2), creating Linux machine and connecting to it via
basics using
SSH
AWS 14 Remote/Stationary
* Using AWS Storage, explaining different storage types (like S3, IA, EFS,
*EBS,
Kubernetes in Snowball,
S3 Glacier, AWS (EKS)Storage
with multiple examples
Gateway, AWS Backup)
** Amazon Elastic Container Registry
Using AWS to host Docker apps via Elastic
* Amazon RDS, Amazon Aurora, Amazon Redshift
Advanced * AWS DynamoDB
cloud * Amazon CloudWatch
computing * basics of AWS Lambda, AWS Batch
using AWS 14 Remote/Stationary * mention about data warehouses, ELT and ETL and AWS Data Pipeline
mention about
* Networking AWS environments
in cloud Fargate
* AWS CLI basics
* VPN, tunneling and Virtual Networks (VNet)
* Combining on-site infrastructure with cloud one (AWS Direct Connect)
* CDNs (Amazon CloudFront)
* AWS IAM
* AWS WAF
* Amazon Route 53
Cloud * Elastic Load Balancing
networking and * Amazon API Gateway
security in AWS 21 Remote/Stationary * AWS Shield, AWS Certificate Manager
* basics of Amazon Macie, Amazon Cognito, Amazon Detective,
Inspector and Amazon GuardDuty
* Introduction to Infrastructure as code & GitOps
Infrastructure * Explaining basics of selected could resource provisioning tool (AWS
as code & CloudFormation or Hashicorp Terraform)
GitOps & * Expaining basics of configuration format for setting up cloud
automatic infrstructure (JSON/YAML for CF or HCL for TF)
resources * Practical examples for creating cloud environments via automated
provisioning 21 Remote/Stationary tools
* Creating a new project using tools and technologies coverd in this
training
* Must haves: Cloud services, Infrstructure as Code put in Git repository
* Nice to have: Docker, container orchestration tool, CI/CD
Final project 21 On-site * Project topic, requirements and complexity to be agreed with trainer
252