Docker αγάπη -συνεχίζει και μεγαλώνει!

24 Μαρτίου 2017, από

 

Κατά καιρούς όλοι έχουμε προσωπική εμπειρία από διάφορα πάρτυ, άλλα βαρετά, άλλα ενδιαφέροντα, άλλα μοναδικά. Το πάρτυ γενεθλίων του Docker είναι μια διαφορετική γιορτή, κι αν έχεις παρευρεθεί σε κάποιο στο παρελθόν, γνωρίζεις γιατί.

To Docker Birthday #4 Celebration & Hands On φιλοξενήθηκε στο Enartia Venue, την Πέμπτη στις 16 Μαρτίου, και ήταν ένα απόγευμα εκπαίδευσης, γνώσης και δικτύωσης για τους Docker fans που παρευρέθηκαν. Καινούργια αλλά και παλιά μέλη της κοινότητας είχαν την ευκαιρία να γνωριστούν και να ανταλλάξουν απόψεις κι εμπειρίες για αυτήν την καινοτόμα πλατφόρμα ανοιχτού λογισμικού -με σήμα τη φαλαινίτσα με τα containers.

Η εβδομάδα 13-19 Μαρτίου ήταν αφιερωμένη στα τέταρτα γενέθλια του Docker. Σε πολλές πόλεις ανά τον κόσμο, όπως πλέον έχει καθιερωθεί, οι docker-άδες έσβησαν κεράκια, δίνοντας τη δυνατότητα σε κάθε ενδιαφερόμενο να έρθει σε επαφή και να γνωρίσει καλύτερα το Docker, πώς αυτό λειτουργεί και ποια είναι τα πλεονεκτήματα του.

Σε 154 πόλεις γιόρτασαν φέτος το Docker!

Όπως και πέρυσι έτσι και φέτος, διοργανώσαμε εθελοντικά αυτό το διαφορετικό πάρτυ και μάθαμε με τη βοήθεια των mentors μας -εθελοντές με εμπειρία στο docker ecosystem- περισσότερα πράγματα για αυτό το χρηστικό open source πολυ-εργαλείο, που έχει καταφέρει να γίνει ο καλύτερος φίλος των developers και των DevOps.

Η ώρα σχεδόν 5 το απόγευμα και όλοι ήμασταν στις θέσεις μας, φορώντας τα “καλά μας”, έτοιμοι για να υποδεχτούμε τους καλεσμένους μας. Οι συμμετέχοντες ξεκίνησαν να φθάνουν στα γραφεία και αφού γνωριστήκαμε και τους ξεναγήσαμε στο χώρο, μπήκαμε στην αίθουσα για να ξεκινήσει η γιορτή.

Docker-άδες σε θέσεις μάχης!

Ο Φρανκ Μαούνης, co-founder της Enartia, μας καλωσόρισε και στη συνέχεια, χωρίς να χάνουμε πολύτιμο χρόνο, το λόγο πήραν οι μέντορες μας -Αντώνης Xαρίτων, Θανάσης Ζωγράφος και Ραφαήλ Τρουλάκης- για να κάνουν μια μικρή εισαγωγή και να συστήσουν το Docker σε όσους δεν το γνώριζαν.

Ο Φράνκ, μας καλωσορίζει!

Αφού παρουσίασαν κάποιες βασικές γενικές πληροφορίες για την πλατφόρμα, εξήγησαν έννοιες αλλά και λέξεις κλειδιά -απαραίτητα για όσους ήθελαν να συμμετάσχουν στο Hands- on Session που θα ακολουθούσε.

Ο Θανάσης εξηγεί για το #Docker.

Για το workshop οι συμμετέχοντες είχαν έρθει εξοπλισμένοι με τα laptop τους, έτοιμοι να γράψουν κώδικα, εντολές, και να μάθουν καινούργια πράγματα. Οι ενδιαφερόμενοι ενημερώθηκαν, ότι θα μπορούσαν να ακολουθήσουν όποιο από τα τρία level ήθελαν (beginner- intermediate- advanced), ανάλογα με τη μέχρι τώρα εμπειρία τους όσον αφορά το συγκεκριμένο λογισμικό.

Hands-on Session σε εξέλιξη!

Όσοι δεν είχαν δουλέψει ξανά σε Docker είχαν τη δυνατότητα να το γνωρίσουν σταδιακά υπό την καθοδήγηση των mentors, οι οποίοι καθ’ όλη την διάρκεια του εκπαιδευτικού εργαστηρίου παρέμειναν στο πλευρό μας, δίνοντας συμβουλές και απαντήσεις στις ερωτήσεις που προέκυπταν.

Ο Ραφαήλ λύνει τις τελευταίες απορίες.

Μετά από ένα δίωρο γεμάτο κώδικα, εντολές και ασκήσεις είχε έρθει η στιγμή να αναπληρώσουμε τη χαμένη ενέργεια… Είχε έρθει η στιγμή για να κόψουμε την τούρτα!

 

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

Και του χρόνου!

Η πρόσκληση για τα Docker meetups είναι πάντα ανοιχτή σε όλους, όσους αγαπάνε την τεχνολογία και τους αρέσει να δοκιμάζουν νέες πρακτικές, που μπορούν να κάνουν τη δουλειά τους… παιχνιδάκι! Αρχάριος ή προχωρημένος μπορείς να συμμετέχεις σε μια από τις συναντήσεις που διοργανώνει το Docker. Η κοινότητα θα σε καλωσορίσει και θα σε βοηθήσει να το εξερευνήσεις, ανακαλύπτοντας τις δυνατότητες του, όποιες και αν είναι οι ανάγκες σου.

Πώς μπορείς να χρησιμοποιήσεις το Docker;

Αν είσαι Developer

Ένα μεγάλο πλεονέκτημα που σου παρέχει το Docker αν είσαι προγραμματιστής είναι ότι σου επιτρέπει να τρέξεις και να δοκιμάσεις τις εφαρμογές σου, χωρίς την εγκατάσταση πρόσθετων προγραμμάτων, ακριβώς στο ίδιο περιβάλλον που θα τρέξουν και στους servers αργότερα. Τέρμα το πρόβλημα του “Δουλεύει στον δικό μου υπολογιστή” που πολλοί αντιμετωπίζουν καθημερινά. Πλέον οι δοκιμές και τα tests μπορούν να τρέχουν σε ένα καινούργιο περιβάλλον, χωρίς να επηρεάζονται από προηγούμενες εκτελέσεις των εφαρμογών και χωρίς να πρέπει να εγκατασταθούν περίπλοκα προγράμματα όπως βάσεις δεδομένων. Αυτό θα πει πως πλέον, μπορείς να ασχοληθείς με το να γράψεις κώδικα για την εφαρμογή σου και όχι με οτιδήποτε άλλο χρειαζόταν μέχρι πρότινος.

Αν είσαι System Administrator / DevOps

Επειδή το Docker κάνει χρήση containers, διευκολύνει αρκετά και την δουλειά σου. Οι εφαρμογές που τρέχουν μέσα σε αυτά δεν επηρεάζουν καθόλου το λειτουργικό σύστημα και είναι εύκολο να μετακινηθούν από τον έναν server στον άλλο. Αυτό επιτρέπει μια μεγάλη ευελιξία που δεν υπήρχε πριν και κάνει διαδικασίες όπως το scale up πολύ γρήγορες και εύκολες. Κάνοντας χρήση των Docker Images, δεν χρειάζεται να διαμορφώσεις κάποιο συγκεκριμένο περιβάλλον φιλοξενίας για να δουλέψεις. Εγκατέστησε το Docker και αυτό θα κάνει για σένα όλες τις απαραίτητες ενημερώσεις και το συγχρονισμό των εικονικών εφαρμογών (Docker Images) αυτόματα. Δουλεύοντας στο Docker μπορείς να κερδίσεις πολύτιμο χρόνο, ενώ κάνει τη συνεργασία μιας ομάδας πολύ εύκολη και απλή διαδικασία. Τέλος η ασφάλεια που σου παρέχει το κάνει να ξεχωρίζει, καθώς σου εγγυάται ότι η εφαρμογή σου θα δουλέψει με τον ίδιο τρόπο παντού. Ο κώδικάς σου θα είναι διαθέσιμος μόνος στους “σωστούς” ανθρώπους τη στιγμή που εσύ το επιθυμείς και δεν θα μπορεί να επηρεαστεί από άλλες εφαρμογές που τρέχουν.

Αν έχεις επιχείρηση

Το Docker είναι μια σύγχρονη πλατφόρμα ανοιχτού λογισμικού, η οποία ήρθε για να γεφυρώσει το χάσμα ανάμεσα σε developer και IT, Linux και Windows. Δουλεύει σε cloud όσο καλά δουλεύει και on-premises, σε δικούς σου servers, ενώ μπορεί να υποστηρίξει παραδοσιακές αλλά και microservices εφαρμογές. Το Docker είναι ένα εργαλείο που σου επιτρέπει να δημιουργήσεις, να μοιραστείς, να προγραμματίσεις αλλά και να εξασφαλίσεις την ασφάλεια των containers σου, προσφέροντας ταυτόχρονα την ελευθερία της διαχείρισης των εφαρμογών σου από το στάδιο της ανάπτυξης μέχρι την παραγωγή.

Τώρα που μάθαμε πώς μπορούμε να χρησιμοποιήσουμε ένα τέτοιο πρωτοπόρο λογισμικό, σειρά έχουν μερικές συμβουλές, από τον Αντώνη Χαρίτων -Docker mentor- για όσους τώρα ξεκινάνε να χρησιμοποιούν το συγκεκριμένο open- source λογισμικό.

6 Χρήσιμα Docker Tips

1. GitHub και το DockerHub για αυτόματα builds

Το να ανεβάζεις κάθε φορά το καινούριο Docker Image μπορεί να θέλει αρκετή ώρα. Χάρη στο GitHub και το DockerHub μπορείς κάθε φορά που κάνεις commit να έχεις το DockerHub να κατεβάζει τον κώδικα, να δημιουργεί το καινούριο image και έπειτα να το τρέχεις στους servers σου, που έχουν μεγαλύτερη ταχύτητα σύνδεσης, μέσα σε λίγα λεπτά.

2. Μην θεωρείς τα containers ως κάτι μόνιμο

Τα περισσότερα πλεονεκτήματα που παρέχει το Docker αφορούν εφαρμογές που έχουν σχεδιαστεί με τη λογική ότι ένα container μπορεί να κλείσει, να ανοίξει, και να μεταφερθεί από server σε server ανά πάσα στιγμή. Για μέγιστη λειτουργικότητα λοιπόν, δε θα πρέπει να βασίζεσαι στο γεγονός ότι αυτά που τρέχεις, θα τρέχουν αυτούσια για πάντα. Ανά πάσα στιγμή μπορεί να κλείσουν και να ανοίξουν ξανά από το αρχικό image.

3. Χρησιμοποίησε μια πλατφόρμα διαχείρισης

Για μεγαλύτερη ευκολία, χρησιμοποίησε μια πλατφόρμα διαχείρισης η οποία θα αναλάβει τα περισσότερα πράγματα και θα αφήσει σ’ εσένα τις βασικές αποφάσεις. Μερικές από τις πιο γνωστές είναι το Rancher, το Portainer και το Kubernetes.

4. Φτιάξε τα δικά σου base images

Σε περίπτωση που έχεις αρκετές εφαρμογές που έχουν την ίδια βάση (ίδιες βιβλιοθήκες, ίδια προγράμματα, κλπ) μπορείς να φτιάξεις ένα δικό σου image με όλα αυτά τα κοινά στοιχεία και έπειτα να το χρησιμοποιήσεις στις εφαρμογές σου. Αυτό θα σου επιτρέπει να αλλάζεις ένα μόνο αρχείο στο μέλλον και οι αλλαγές σου να φτάνουν σε όλες τις εφαρμογές. Επίσης βοηθάει να μην ξεχάσεις κάποιο πρόγραμμα σε μια έκδοση ή σε μια εφαρμογή.

5. Σβήσε παλιά containers και images

Όσο πιο πολύ κάνεις χρήση του Docker, τόσο περισσότερα containers και images που δεν χρειάζονται πλέον θα μαζεύονται στον δίσκο σου και θα καταλαμβάνουν χώρο. Μια λύση είναι να τρέχεις κάθε container που θα τρέξει μια και μόνο φορά με την παράμετρο --rm ώστε όταν κλείσει να αφαιρεθεί κιόλας. Σε περίπτωση όμως που θέλετε να σβήσετε όλα τα κλειστά containers και όλα τα images, οι εντολές είναι: docker rm $(docker ps -aq) και docker rmi $(docker images -q) αντίστοιχα.

6. Χρησιμοποίησε ENV variables για τον έλεγχο των εφαρμογών

Ένα βασικό πλεονέκτημα του Docker είναι η ευελιξία. Για να μην χρειάζονται λοιπόν configuration files από εδώ κι εκεί, προσπάθησε να χρησιμοποιήσεις environment variables όπου γίνεται. Τις θέτεις μια φορά για κάθε υπηρεσία και μετά κάθε καινούριο container, όπου και να τρέξει, θα έχει πρόσβαση σε αυτές. Σε περίπτωση που θέλεις να αλλάζουν κατά την διάρκεια της εκτέλεσης, τότε πιο προχωρημένες υπηρεσίες όπως το etcd θα σε καλύψουν.

Αν έχασες το Docker Birthday #4 Celebration & Hands On, ελπίζω να πήρες μια μικρή γεύση από το τι συμβαίνει όταν η φαλαινίτσα έχει γενέθλια. Μείνε συντονισμένος μαζί μας για να ενημερωθείς για το επόμενο Docker Meet up κι έλα να μάθουμε παρέα περισσότερα πράγματα. Θα χαρούμε να σε δούμε! :)

Μπες στη συζήτηση

Πες μας τη γνώμη σου!