ΕΠ42 - Βασικές έννοιες και εργαλεία DevOps
Πληροφορίες
Κωδικός : ΕΠ42
Τύπος : Επιλογής
Εξάμηνο : 6
Μονάδες ECTS: 5
URL: https://eclass.hua.gr/courses/DIT250/
Αναμενόμενα Αποτελέσματα
Στόχος του μαθήματος είναι η εξοικείωση με εργαλεία διαχείρισης, αυτοματοποίησης και παρακολούθησης υπολογιστικών μονάδων φυσικών ή εικονικών. Επίσης η διαχείριση και ανάπτυξη εφαρμογών στο cloud.
Scripting
Εργαλεία αυτοματοποίησης εργασιών
Εργαλεία CI/CD
Εργαλεία monitoring
Logs best practices
Firewalls
Proxies και reverse proxies
Web servers vs application servers
Διαχείριση dns
Συντήρηση του κώδικα σε σύστημα κατανεμημένου ελέγχου
Linux Chroot, cgroups, namespaces
Virtualization
Παραμετροποίηση vm σε cloud providers
Process management tools
Με την επιτυχή ολοκλήρωση του μαθήματος ο φοιτητής/ η φοιτήτρια θα είναι σε θέση να διαχειριστεί και να αυτοματοποιήσει αρκετές διαδικασίες εγκατάστασης/παραμετροποίησης λογισμικού καθώς και την προετοιμασία της υποδομής και των υπηρεσιών που θα υποστηρίζουν τα σύγχρονα πληροφοριακά συστήματα.
Περιεχόμενο
Βασικά
Advanced shell and python scripting
Ansible
Εργαλεία CI/CD π.χ. Jenkins, travis-ci, concourse
Εργαλεία monitoring icinga, nagios, prometheus
Logs best practices logs rotation, log analyzers, log tools - Elasticsearch-Logstash-Kibana
Firewalls iptables
Proxies και reverse proxies nginx, envoy
Web servers vs application servers
Διαχείριση dns
Συντήρηση του κώδικα σε σύστημα κατανεμημένου ελέγχου git
Linux Chroot, cgroups, namespaces
Virtualization kvm, QEMU
Παραμετροποίηση vm σε cloud providers
Process management tools supervisor, pm2
Json vs yaml vs Toml
Επιπλέον
Ασφάλεια στον παγκόσμιο ιστό SSL/TLS και JSON Web Token
κάλυψη της λειτουργίας του κώδικα με ελέγχους μονάδας unit testing, εξειδίκευση σε python - pytest
Δημιουργία διαχειριστικού περιβάλλοντος με το Django framework ή το fastapi
Docker, containers, docker-compose, docker hub
Τρόπος Αξιολόγησης
Ατομικές ή Ομαδικές Εργασίες 100%
Βιβλιογραφία
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