Προγραμματισμός σε Πολλαπλά Υπολογιστικά Νέφη

Διάρκεια: 2 μήνες 23 μέρες
Κόστος: 350 ευρώ
Φόρτος εργασίας: 170 ώρες
ECVET: 8.5
Το πρόγραμμα εισάγει τους εκπαιδευόμενους στο μοντέλο του υπολογιστικού νέφους και στα οφέλη που αυτό προσφέρει ιδιαίτερα όσον αφορά το κόστος και την ευελιξία στην διαχείριση πόρων και υπηρεσιών. Επιπλέον, εστιάζει στην εκπαίδευση όσον αφορά την ανάπτυξη εφαρμογών που ακολουθούν μια αρχιτεκτονική μικρο-υπηρεσιών και στους τρόπους που η ανάπτυξη και η διάταξη των εφαρμογών αυτών μπορεί να υλοποιηθεί στο υπολογιστικό νέφος ανεξάρτητα από τον πάροχο του νέφους. Απευθύνεται σε στελέχη επιχειρήσεων και ειδικότερα προγραμματιστές καθώς και σε προσωπικό ΤΠΕ (IT), φοιτητές και ερευνητές.
Αντικείμενο και Σκοπός

Το πρόγραμμα εισάγει τους εκπαιδευόμενους στο μοντέλο του υπολογιστικού νέφους και στα οφέλη που αυτό προσφέρει ιδιαίτερα όσον αφορά το κόστος και την ευελιξία στην διαχείριση πόρων και υπηρεσιών. Έπειτα, εστιάζει στην εκπαίδευση όσον αφορά την ανάπτυξη εφαρμογών που ακολουθούν μια αρχιτεκτονική μικρο-υπηρεσιών και στους τρόπους που η ανάπτυξη και η διάταξη των εφαρμογών αυτών μπορεί να υλοποιηθεί στο υπολογιστικό νέφος ανεξάρτητα από τον πάροχο του νέφους (Amazon, Microsoft, Google). Δίνεται ιδιαίτερη έμφαση σε θέματα συνεχούς ενοποίησης και ανάπτυξης (continuous integration & continuous development, CI/CD) (πλαίσια Jenkins) καθώς και ανάπτυξης & διάταξης εφαρμογών κατά μήκος διαφορετικών υπολογιστικών νεφών (πχ. Amazon EC2, Microsoft Azure, Google Cloud). Για αυτό τον σκοπό, παρουσιάζονται διάφορες τεχνολογίες (Docker & Kubernetes) καθώς και σχετικές πλατφόρμες υπολογιστικού νέφους (Terraform & Melodic). Τέλος, παρέχεται εκπαίδευση στην ανάπτυξη και δοκιμή REST υπηρεσιών για την ολοκλήρωση της λειτουργικότητας μιας εφαρμογής υπολογιστικού νέφους (πλαίσια Jersey, JUnit & Rest-Assured).

Το πρόγραμμα στοχεύει σε στελέχη επιχειρήσεων και ειδικότερα προγραμματιστές καθώς και σε προσωπικό IT τόσο επιχειρήσεων όσο και δημόσιων οργανισμών που επιθυμούν να ανακαλύψουν τον κόσμο του υπολογιστικού νέφους και να εκπαιδευθούν στο πως να υλοποιούν και να διατάσσουν μοντέρνες διαδικτυακές εφαρμογές πάνω από το υπολογιστικό νέφος. Επίσης, στοχεύει σε φοιτητές και ερευνητές που επιθυμούν να γνωρίσουν το μοντέλο ανάπτυξης εφαρμογών στο υπολογιστικό νέφος ώστε να αναπτύσσουν τάχιστα και συνεργατικά τόσο εργασίες όσο και ερευνητικά πρωτότυπα.

Για την συμμετοχή στο πρόγραμμα, δεν απαιτούνται ειδικές γνώσεις σε θέματα υπολογιστικού νέφους ή προγραμματισμού. Είναι αναγκαία η βασική γνώση γενικών αρχών προγραμματισμού και της γλώσσας προγραμματισμού Java.

Μαθησιακοί Στόχοι

Με την ολοκλήρωση του προγράμματος, ο/ηεπιμορφούμενος/η θα είναι σε θέση να:

  1. Κατανοεί τις βασικές έννοιες και τα είδη υπηρεσιών του υπολογιστικού νέφους.
  2. Διαχειρίζεται πόρους του υπολογιστικού νέφους είτε χειρωνακτικά (μέσω self-service portals) είτε με την χρήση provider-specific APIs.
  3. Εκμεταλλεύεται διάφορα είδη εργαλείων/πλαισίων, όπως είναι το Docker & το Kubernetes.
  4. Αναπτύσσει εφαρμογές που βασίζονται στην αρχιτεκτονική των μικρο-υπηρεσιών και σε διαδικτυακές υπηρεσίες τύπου REST.
  5. Αναπτύσσει υπηρεσίες τύπου REST.
  6. Αναπτύσσει και να διατάσσει εφαρμογές που μπορούν να εκτελεστούν σε πολλαπλά ή κατά μήκος διαφορετικών υπολογιστικών νεφών.
  7. Να δημιουργεί και να εκμεταλλεύεται ένα περιβάλλον CI/CD για την συνεχή ανάπτυξη και διάταξη των εφαρμογών υπολογιστικού νέφους.
Μεθοδολογία Υλοποίησης

Διαδικασία Υλοποίησης της Επιμόρφωσης
Online Εξ αποστάσεως

Μέθοδοι Υλοποίησης της Επιμόρφωσης
Θα χρησιμοποιηθεί κυρίως η μέθοδος της ασύγχρονης τηλεκπαίδευσης. Το εκπαιδευτικό υλικό θα αποτελείται από βιντεοσκοπημένες ενότητες και παραδείγματα ανάπτυξης εφαρμογών και περιβαλλόντων νέφους. Το υλικό θα διατίθεται σταδιακά – κάθε εβδομάδα και μία ενότητα. Κατά την διάρκεια της εβδομάδας, οι εκπαιδευόμενοι μπορούν να αποστέλλουν απορίες στον εκπαιδευτή, ο οποίος θα τις απαντά άμεσα με ασύγχρονο τρόπο. Ενδέχεται η διενέργεια περιοδικών τηλεδιασκέψεων, πχ. μετά το πέρας κάθε ενότητας, για την απάντηση σε απορίες των εκπαιδευόμενων είτε στην θεωρία είτε όσον αφορά τις ανατιθέμενες ασκήσεις.

Μέθοδοι Αξιολόγησης & Κριτήρια Απόδοσης Πιστοποιητικού Επιμόρφωσης
Η μέθοδος αξιολόγησης θα αποτελείται από μια ατομική εργασία που θα αποτελείται από διαφορετικές φάσεις. Κάθε φάση αντιστοιχεί σε συγκεκριμένο παραδοτέο, το οποίο και θα αξιολογείται μετά την παράδοσή του. Η μη παράδοση ενός ή παραπάνω παραδοτέων σηματοδοτεί την αποτυχία του εκπαιδευόμενου στο πρόγραμμα.

Ο τελικός βαθμός των εκπαιδευομένων θα προκύψει από το άθροισμα των βαθμών που αφορούν το κάθε παραδοτέο της εργασίας. Η βάση είναι το 5. Συνεπώς, στους εκπαιδευόμενους που αξιολογούνται με τελικό βαθμό >= 5, θα τους αποδίδεται το τελικό πιστοποιητικό επιμόρφωσης για αυτό το πρόγραμμα

Το πρόγραμμα δεν θα τηρεί απουσιολόγιο.

Κόστος προγράμματος: €350
Δυνατότητα εξόφλησης σε τρεις (3) δόσεις.

Εκπτωτικές κατηγορίες:

- 10% έκπτωση σε άνεργους
10% έκπτωση σε φοιτητές
10% έκπτωση σε ένστολους
10% έκπτωση σε υπαλλήλους Δημοσίου και ΟΤΑ
10% έκπτωση σε συμμετέχοντες άνω των 40 ετών
10% έκπτωση σε προκαταβολή του συνολικού ποσού

1. Εισαγωγή στο Υπολογιστικό Νέφος

Σύνολο φόρτου εργασίας: 10 ώρες

Εισαγωγή στο Υπολογιστικό Νέφος και στα μοντέλα παράδοσής του, συσχέτιση με την ανάπτυξη & χρήση λογισμικού, παρουσίαση & ανάλυση της αρχιτεκτονικής βασιζόμενης σε μικρο-υπηρεσίες.

 

  • Εβδομαδιαία συνεδρία: Εισαγωγή στο Υπολογιστικό Νέφος
2. Υπηρεσιο-Κεντρική Αρχιτεκτονική

Σύνολο φόρτου εργασίας: 15 ώρες

Εισαγωγή στην Υπηρεσιο-Κεντρική Αρχιτεκτονική και στις 2 τεχνολογίες υλοποίησης της, εστίαση στην τεχνολογία υλοποίησης REST, εκμάθηση του πλαισίου Jersey για την ανάπτυξη υπηρεσιών REST ως συστατικά μέρη μιας εφαρμογής.

 

  • Εβδομαδιαία συνεδρία: Υπηρεσιο-Κεντρική Αρχιτεκτονική
3. Διαχείριση Έργων Λογισμικού

Σύνολο φόρτου εργασίας: 45 ώρες

Εισαγωγή στην διαχείριση έργων λογισμικού και στις βασικές έννοιες και τεχνολογίες διαχείρισης. Εστίαση στα αποθετήρια κώδικα (github), στα κατανεμημένα συστήματα ελέγχου εκδόσεων κώδικα (git), στα πλαίσια ελέγχου/δοκιμής κώδικα (junit), στα εργαλεία διαχείρισης έργων λογισμικού (maven) και στα πλαίσια συνεχούς ενοποίησης και ανάπτυξης κώδικα (Jenkins & Github Actions).

 

  • Εβδομαδιαία συνεδρία 1: Διαχείριση Έργων Λογισμικού Ι
  • Εβδομαδιαία συνεδρία 2: Διαχείριση Έργων Λογισμικού ΙΙ
  • Εβδομαδιαία συνεδρία 3: Διαχείριση Έργων Λογισμικού ΙΙΙ
4. Διαχείριση Υπηρεσιών IaaS

Σύνολο φόρτου εργασίας: 15 ώρες

Εισαγωγή στο μοντέλο παράδοσης IaaS, συσχέτισή του με την ανάπτυξη εφαρμογών με αρχιτεκτονική μικρο-υπηρεσιών, προγραμματιστική διαχείρισης υπηρεσιών IaaS μέσω της χρήσης providerindependentAPIs (jclouds)

 

  • Εβδομαδιαία συνεδρία: Διαχείριση Υπηρεσιών IaaS
5. Διαχείριση Containers

Σύνολο φόρτου εργασίας: 30 ώρες

Εισαγωγή στους containers, συσχέτιση και σύγκριση με το μοντέλο παράδοσης IaaS, συσχέτιση με την ανάπτυξη εφαρμογών με αρχιτεκτονική βασισμένη σε μικρο-υπηρεσίες, εκμάθηση του πλαισίου docker και του εργαλείου docker compose για την διαχείριση και ενορχήστρωση containers.

 

  • Εβδομαδιαία συνεδρία 1: Διαχείριση Containers
  • Εβδομαδιαία συνεδρία 2: Ενορχήστρωση Containers
6. Ενορχήστρωση Containers κατά μήκος διαφορετικών πόρων

Σύνολο φόρτου εργασίας: 15 ώρες

Εστίαση στο πλαίσιο Kubernetes για την αυτοματοποίηση της διάταξης, κλιμάκωσης και διαχείρισης των εφαρμογών που βασίζονται σε containers καθώς και στο Minikube για την τοπική ενορχήστρωση δοχείων (containers)

 

  • Εβδομαδιαία συνεδρία: Ενορχήστρωση Containers Κατά Μήκος Διαφορετικών Πόρων
7. Διαχείριση Εφαρμογών Κατά Μήκος Διαφορετικών Παρόχων Νέφους

Σύνολο φόρτου εργασίας: 30 ώρες

Εισαγωγή στην διαχείριση εφαρμογών κατά μήκος πολλαπλών νεφών και επεξήγηση της αναγκαιότητας αυτής. Ανάλυση και σύγκριση δύο διαφορετικών πλαισίων/πλατφορμών για την διάταξη και διαχείριση εφαρμογών κατά μήκος πολλαπλών νεφών: Terraform & Melodic.

 

  • Εβδομαδιαία συνεδρία 1: Διαχείριση Εφαρμογών  – Terraform
  • Εβδομαδιαία συνεδρία 2: Διαχείριση Εφαρμογών  – Melodic
8. Συνεχής Ενοποίηση & Ανάπτυξη Εφαρμογών στο Νέφος

Σύνολο φόρτου εργασίας: 10 ώρες

Ανάλυση διαφορετικών τρόπων για την αυτοματοποίηση της συνεχούς ενοποίησης και ανάπτυξης εφαρμογών (CI/CD) στο υπολογιστικό νέφος.

 

  • Εβδομαδιαία συνεδρία: Συνεχής Ενοποίηση & Ανάπτυξη Εφαρμογών στο Νέφος

Χαράλαμπος Σκιάνης

Επιστημονικά & Ακαδημαϊκά Υπεύθυνος
Καθηγητής - Πανεπιστήμιο Αιγαίου

 

 

Κυριάκος Κρητικός

Ακαδημαϊκά Υπεύθυνος  - Διδάσκων
Αναπληρωτής Καθηγητής - Πανεπιστήμιο Αιγαίου

 

 

CI/CD μέσω GitHub Actions

CI/CD μέσω GitHub Actions

To GitHub Actions είναι ένα εργαλείο που διευκολύνει την αυτοματοποίηση των ροών εργασίας λογισμικού με CI/CD (συνεχή ενοποίηση και παράδοση)...

read more

Pin It on Pinterest