ΕΠ42 - Basic Notions and Tools for DevOps

Information

Code : ΕΠ42

Type : Elective

Semester : 6

ECTS credits: 5

Course URL: https://eclass.hua.gr/courses/DIT250/

Expected Outcomes

The aim of the course is to become familiar with management, automation and monitoring tools for physical or virtual computing units. Also cloud application management and development.

Scripting
Task automation tools
CI/CD tools
Monitoring tools
Logs best practices
Firewalls
Proxies and reverse proxies
Web servers vs application servers
dns management
Code maintenance in a distributed control system
Linux Chroot, cgroups, namespaces
Virtualization
VM configuration in cloud providers
Process management tools
Upon successful completion of the course, the student will be able to manage and automate several software installation/configuration processes as well as the preparation of the infrastructure and services that will support modern information systems.

Content

Git in depth
Automation with Ansible
Virtualization with docker and docker-compose
Testing web applications (Unit tests, Integration Tests)
Continuous integration and Continuous deployment (CI/CD) with Jenkins
Managing containerized workloads and services with Kubernetes
Deploy applications to cloud providers (Azure, Google Cloud)
DNS and SSL certificates configuration
Python frameworks: Django and fastapi
Monitoring kubernetes clusters
Application Gateways
Proxies/Reverse proxies
Logging best practices

Evaluation Means

Individual or Group Assignments 100%

Bibliοgraphy

Beyer, Betsy, et al. Site Reliability Engineering: How Google Runs Production Systems. OReilly Media, Inc., 2016.
Shotts Jr, William E. The Linux command line: A complete introduction. No Starch Press, 2019.
Chacon, Scott, and Ben Straub. Pro git. Apress, 2014.
Geerling, Jeff. Ansible for DevOps: Server and configuration management for humans. Leanpub, 2015.

DevOps Enterprise Journal