Αυτό το μάθημα, Ανάπτυξη και ανάπτυξη λύσεων δεδομένων (AOA-DEVOPS-101), σας οδηγεί από έναν άδειο σταθμό εργασίας έως μια εφαρμογή που αναπτύσσεται αυτόματα, εποπτεύεται και αναπαράγεται.
Ο στόχος δεν είναι μόνο να μάθετε μεμονωμένα εργαλεία (Git, Docker, Jenkins, Kubernetes…), αλλά να κατανοήσετε πώς συνδέονται μεταξύ τους για να παραδίδετε λογισμικό με αξιόπιστο και επαναλήψιμο τρόπο.
Δεν χρειάζεται να είστε ειδικοί. Χρειάζεστε περιέργεια, λίγη αυστηρότητα και τη θέληση να δοκιμάζετε, να σπάτε και να ξαναρχίζετε. Αυτή είναι ακριβώς η νοοτροπία DevOps.
Στο τέλος της περιόδου, θα είστε σε θέση να:
| # | Στοχευόμενη ικανότητα |
|---|---|
| 1 | Εκδοσιοποιείτε ένα έργο με Git και να συνεργάζεστε μέσω GitHub |
| 2 | Κατασκευάζετε ένα έργο Java με Maven |
| 3 | Αυτοματοποιείτε τα builds και τις δοκιμές με Jenkins και GitHub Actions |
| 4 | Κοντεϊνεροποιείτε μια εφαρμογή με Docker |
| 5 | Ενορχηστρώνετε κοντέινερ με Kubernetes και Helm |
| 6 | Παρέχετε την υποδομή με Ansible και Terraform |
| 7 | Εποπτεύετε μια λύση στην παραγωγή (παρακολούθηση και παρατηρησιμότητα) |
| 8 | Ολοκληρώνετε όλα αυτά τα εργαλεία σε έναν πλήρη αγωγό από άκρη σε άκρη |
Κάθε ενότητα προσθέτει ένα τούβλο. Στο τέλος, θα έχετε συναρμολογήσει μια πλήρη αλυσίδα DevOps — αυτό είναι το αντικείμενο της εργασίας εξαμήνου (ενότητα 15).
🔧 Μικρή άσκηση — Ανάμεσα στις 8 ικανότητες του πίνακα, εντοπίστε εκείνη που αφορά την εποπτεία μιας εφαρμογής στην παραγωγή και ονομάστε την αντίστοιχη ενότητα.
Ικανότητα αρ. 7: Εποπτεία μιας λύσης στην παραγωγή (παρακολούθηση και παρατηρησιμότητα). Καλύπτεται στην ενότητα 13 (Παρακολούθηση και παρατηρησιμότητα).
Καθ' όλη τη διάρκεια του μαθήματος, θα ακολουθήσουμε τον κύκλο ζωής μιας εφαρμογής, από τη συγγραφή του κώδικα έως την εκμετάλλευσή της στην παραγωγή.
Παρατηρήστε τον βρόχο ανατροφοδότησης: η παρακολούθηση επιστρέφει πληροφορία προς τον κώδικα. Αυτή είναι η καρδιά της κουλτούρας DevOps που θα δούμε στο επόμενο μάθημα.
| Εργαλείο | Χρήση | Σχετική ενότητα |
|---|---|---|
| Git | Εκδοσιοποίηση | 01–02 |
| Λογαριασμός GitHub | Απομακρυσμένο αποθετήριο + συνεργασία | 02 |
| JDK + Maven | Build Java | 03 |
| Docker | Κοντεϊνεροποίηση | 06 |
| Επεξεργαστής (VS Code) | Συγγραφή κώδικα | όλες |
Συμβουλή: εγκαταστήστε το Git και δημιουργήστε τον λογαριασμό σας στο GitHub από σήμερα — αυτή είναι η πρακτική του τέλους του μαθήματος.
🔧 Μικρή άσκηση — Στον παραπάνω πίνακα, εντοπίστε το εργαλείο που χρησιμοποιείται για την κοντεϊνεροποίηση και αναφέρετε σε ποια ενότητα εισάγεται.
Το εργαλείο είναι το Docker, που εισάγεται στην ενότητα 06.
Η αξιολόγηση συνδυάζει τη συνεχή πρακτική και ένα τελικό ολοκληρωμένο έργο.
| Συνιστώσα | Τι αξιολογείται |
|---|---|
| Πρακτικές εργασίες | Ορθή εφαρμογή των εργαλείων ενότητα προς ενότητα |
| Εργαστήριο ολοκλήρωσης | Ικανότητα να συνδέσετε πολλά εργαλεία μαζί |
| Εργασία εξαμήνου | Πλήρης αγωγός DevOps, λειτουργικός και τεκμηριωμένος |
Η ακριβής κλίμακα βαθμολόγησης κοινοποιείται στο επίσημο πρόγραμμα σπουδών. Αυτό το μάθημα θέτει τις γενικές προσδοκίες.
| Ενότητα | Θέμα |
|---|---|
| 01 | Εισαγωγή στο DevOps και στο βασικό Git |
| 02 | Προχωρημένο Git και GitHub |
| 03 | Έργα Java με Maven |
| 04 | Jenkins: εγκατάσταση |
| 05 | Jenkins: αγωγός CI/CD |
| 06 | Docker, Nginx, Swarm |
| 07 | Kubernetes: βάσεις |
| 08 | Kubernetes: προχωρημένα |
| 09 | Helm |
| 10 | CI/CD με GitHub Actions |
| 11 | Ansible |
| 12 | Terraform |
| 13 | Παρακολούθηση και παρατηρησιμότητα |
| 14 | Εργαστήριο ολοκλήρωσης |
| 15 | Εργασία εξαμήνου |
🔧 Μικρή άσκηση — Με βάση τον πίνακα των 15 ενοτήτων, αναφέρετε τα τρία εργαλεία υποδομής και εκμετάλλευσης (ενότητες 11 έως 13).
Ενότητα 11: Ansible, ενότητα 12: Terraform, ενότητα 13: Παρακολούθηση και παρατηρησιμότητα.
Question 1 : Ποιος είναι ο συνολικός στόχος του μαθήματος;
a) Να μάθετε μόνο το Git
b) Να κατακτήσετε μια πλήρη αλυσίδα από τον κώδικα έως την εποπτευόμενη ανάπτυξη
c) Να γίνετε προγραμματιστές Java
d) Να δημιουργείτε ιστότοπους
✅ Απάντηση: b) — Το μάθημα καλύπτει ολόκληρη την αλυσίδα DevOps: εκδοσιοποίηση, συνεχή ολοκλήρωση, κοντέινερ, ενορχήστρωση, υποδομή ως κώδικας και παρακολούθηση.
Question 2 : Τι αντιπροσωπεύει ο «βρόχος ανατροφοδότησης» στον κύκλο DevOps;
a) Το γεγονός ότι διαγράφουμε τον κώδικα μετά την ανάπτυξη
b) Την επιστροφή πληροφορίας από την παρακολούθηση προς την ανάπτυξη για τη βελτίωση του προϊόντος
c) Ένα σφάλμα αγωγού
d) Την χειροκίνητη επανεκκίνηση των διακομιστών
✅ Απάντηση: b) — Η παρατηρησιμότητα επιστρέφει δεδομένα (σφάλματα, επιδόσεις) στις ομάδες, οι οποίες προσαρμόζουν τον κώδικα. Αυτή είναι η αρχή της συνεχούς βελτίωσης.
Question 3 : Ποια αρχή συνοψίζει καλύτερα τη φιλοσοφία του μαθήματος;
a) «Δουλεύει στον υπολογιστή μου»
b) Τα πάντα πρέπει να είναι αναπαραγώγιμα από τον κώδικα και τα σενάρια
c) Αναπτύσσουμε χειροκίνητα κάθε έκδοση
d) Αποφεύγουμε τη χρήση εργαλείων
✅ Απάντηση: b) — Η αναπαραγωγιμότητα είναι κεντρική: ο κώδικας + τα σενάρια επιτρέπουν να αναδημιουργήσουμε τα πάντα, χωρίς να εξαρτώμαστε από μια τοπική χειροκίνητη διαμόρφωση.
Προετοιμάστε το περιβάλλον σας για την υπόλοιπη περίοδο:
| Βήμα | Εντολή / ενέργεια επαλήθευσης | Αναμενόμενο αποτέλεσμα |
|---|---|---|
| Git εγκατεστημένο | git --version | Εμφανίζει έναν αριθμό έκδοσης (π.χ. git version 2.43.0) |
| Λογαριασμός GitHub | Σύνδεση στο github.com | Προσβάσιμος πίνακας ελέγχου |
| Επεξεργαστής | Άνοιγμα του VS Code | Η εφαρμογή εκκινεί |
| Τερματικό | Άνοιγμα PowerShell / Terminal | Διαθέσιμη γραμμή εντολών |
Αν το
git --versionδεν επιστρέφει τίποτα, το Git δεν είναι εγκατεστημένο ή δεν βρίσκεται στοPATH— θα το διορθώσουμε στο μάθημα 05 (Git: εγκατάσταση και διαμόρφωση).
Επόμενο μάθημα: 02 — Κουλτούρα DevOps, για να κατανοήσετε τη φιλοσοφία πριν βουτήξετε στα εργαλεία.
Με την επιφύλαξη παντός δικαιώματος. Οποιαδήποτε αναπαραγωγή, διάδοση, χρήση ή προσαρμογή αυτού του μαθήματος, εν όλω ή εν μέρει, απαγορεύεται αυστηρά χωρίς την προηγούμενη γραπτή άδεια του Dr. Haythem REHOUMA.
Μάθημα δημιουργημένο από τον Dr. Haythem REHOUMA — Ανάπτυξη και ανάπτυξη λύσεων δεδομένων