Πίνακας περιεχομένων[Κρύβω][Προβολή]
- 1. Τι εννοείτε με τον όρο DevOps;
- 2. Αναφέρετε μερικές αρχές του DevOps;
- 3. Αναφέρετε μερικά από τα πιο δημοφιλή εργαλεία του DevOps;
- 4. Τι είναι η υποδομή ως κωδικός;
- 5. Εξηγήστε τον κύκλο ζωής του DevOps;
- 6. Τι είναι η διαχείριση διαμόρφωσης;
- 7. Ποια είναι τα κύρια πλεονεκτήματα των DevOps;
- 8. Ποια είναι τα οφέλη από τη χρήση ενός συστήματος ελέγχου έκδοσης;
- 9. Τι είναι το git stash;
- 10. Τι είναι το CI/CD;
- 11. Τι είναι ο αγωγός CI/CD;
- 12. Τι είναι το Continuous Testing;
- 13. Πώς διαφέρει το DevOps από το Agile;
- 14. Μπορείτε να αναφέρετε μερικούς βασικούς δείκτες απόδοσης (KPI) που χρησιμοποιούνται για τη μέτρηση της επιτυχίας του DevOps;
- 15 Ονομάστε μερικές πλατφόρμες cloud που χρησιμοποιούνται για την υλοποίηση DevOps;
- 16. Πώς σχετίζεται το AWS με το DevOps;
- 17. Στο AWS DevOps, τι ακριβώς είναι το CodePipeline;
- 18. Τι ακριβώς είναι το CodeBuild στο AWS DevOps;
- 19. Τι ακριβώς είναι το AWS Lambda στο πλαίσιο του AWS DevOps;
- 20. Ποια πλαίσια προγραμματισμού είναι συμβατά με το AWS CodeBuild;
- 21. Τι είναι οι μικροϋπηρεσίες στο AWS DevOps;
- 22. Τι ρόλο παίζει το Amazon QuickSight στο AWS DevOps;
- 23. Στο AWS DevOps, πώς επικοινωνούν τα κοντέινερ Kubernetes;
- 24. Τι είναι ένα υβριδικό σύννεφο στο AWS DevOps;
- 25. Τι είναι το Ansible;
- 26. Ποιος είναι ο σκοπός του σεληνίου;
- 27. Τι είναι το πλέγμα σεληνίου και τι κάνει;
- 28. Τι είναι το Selenium IDE;
- 29. Στο DevOps, τι εννοείτε με τον όρο Puppet;
- 30. Για να κάνετε το Puppet πιο ισχυρό, ποια εργαλεία ανοιχτού κώδικα ή κοινότητας χρησιμοποιείτε;
- 31. Εξηγήστε την αρχιτεκτονική του αφέντη-σκλάβου του Τζένκινς;
- 32. Πώς μπορεί το Jenkins να μετακινηθεί ή να αντιγραφεί από έναν διακομιστή σε άλλο;
- 33. Αναφέρετε μερικά πρόσθετα Jenkins που είναι ευεργετικά;
- 34. Τι είναι ο Νάγιος;
- 35. Πώς λειτουργεί το Nagios;
- 36. Τι ακριβώς είναι ο Nagios Log Server;
- 37. Τι είναι το State Stalking στο Nagios;
- 38. Τι είναι ακριβώς τα δοχεία;
- 39. Τι ακριβώς είναι μια εικόνα Docker;
- 40. Τι ακριβώς είναι ένα δοχείο Docker;
- 41. Ποιος είναι ο σκοπός ενός Dockerfile;
- 42. Τι ακριβώς είναι ο «Προγραμματισμός ζευγών»;
- 43. Τι ακριβώς είναι ο Σεφ;
- 44. Τι ακριβώς είναι το Μπλε/Πράσινο Μοτίβο Ανάπτυξης;
- 45. Τι είναι το Memcached;
- 46. Ποια είναι τα χαρακτηριστικά του Memcached;
- 47. Ονομάστε μερικά χρήσιμα εργαλεία παρακολούθησης δικτύου;
- 48. Ποια είναι μερικά από τα εμπόδια για τη δημιουργία ενός αγωγού DevOps;
- 49. Ποιος ακριβώς είναι ο σκοπός του Secure Shell;
- 50. Τι ακριβώς είναι το CBD;
- Συμπέρασμα
Ανάπτυξη & Λειτουργίες είναι αυτό που αντιπροσωπεύει το DevOps.
Είναι ένας νέος τύπος ανάπτυξης λογισμικού που άλλαξε τον τρόπο δημιουργίας και διάδοσης του λογισμικού. Η τεχνική DevOps δίνει προτεραιότητα στις συχνές, σταδιακές αναβαθμίσεις σε σχέση με τα σπάνια μεγάλα σύνολα χαρακτηριστικών.
Το DevOps βοηθά τις λειτουργίες IT.
Πριν από το DevOps, το προσωπικό πληροφορικής έπρεπε να αντιμετωπίσει μια σειρά ζητημάτων.
Ως αποτέλεσμα, το τμήμα πληροφορικής υποβλήθηκε σε κάποιον ανεπιθύμητο έλεγχο. Όλα άλλαξαν με την εισαγωγή του DevOps, το οποίο επιτρέπει στις λειτουργίες πληροφορικής να επικοινωνούν τις ανησυχίες τους με την υπόλοιπη επιχείρηση, με αποτέλεσμα τη βελτίωση της διαφάνειας και της συνεργασίας μεταξύ των λειτουργιών πληροφορικής και άλλων τμημάτων.
Εάν έχετε αρχίσει να προετοιμάζεστε για ευθύνες ανάπτυξης και λειτουργίας στον τομέα της πληροφορικής, γνωρίζετε ήδη ότι είναι ένα δύσκολο επάγγελμα να εισέλθετε.
Σκέφτεστε να κάνετε καριέρα στο DevOps;
Αν συμβαίνει αυτό, έχετε έρθει στο σωστό μέρος.
Ακολουθούν μερικές από τις πιο συχνές ερωτήσεις και απαντήσεις συνεντεύξεων DevOps που θα σας βοηθήσουν στην προετοιμασία σας για τη σταδιοδρομία DevOps στον κλάδο.
1. Τι εννοείτε με τον όρο DevOps;
Ανάπτυξη και Λειτουργίες (DevOps) είναι δύο όροι που χρησιμοποιούνται συχνά εναλλακτικά. Είναι μια προσέγγιση μηχανικής λογισμικού που εστιάζει στη συγκέντρωση των ομάδων ανάπτυξης και λειτουργίας για την αυτοματοποίηση του έργου σε κάθε επίπεδο.
Αυτή η τεχνική καθιστά απλή την αυτοματοποίηση της διαχείρισης υπηρεσιών έργου, έτσι ώστε να μπορούν να επιτευχθούν οι επιχειρησιακοί στόχοι και να γίνει καλύτερα κατανοητή η στοίβα τεχνολογίας που χρησιμοποιείται στο περιβάλλον παραγωγής.
Αυτή η στρατηγική βασίζεται σε ευέλικτη μεθοδολογία και δίνει έμφαση στην ομαδική επικοινωνία, τη διαχείριση πόρων και τη συνεργασία.
2. Αναφέρετε μερικές αρχές του DevOps;
Το DevOps βασίζεται στις ακόλουθες αρχές:
- Συνεχής ανάπτυξη
- Αυτοματοποίηση
- παρακολούθηση
- Ασφάλεια
- Η υποδομή ως κωδικός
3. Αναφέρετε μερικά από τα πιο δημοφιλή εργαλεία του DevOps;
Τα πιο συχνά χρησιμοποιούμενα εργαλεία DevOps είναι:
- Git
- Πιθανό
- Λιμενεργάτης
- Σελήνιο
- μαριονέτα
- Chef
- Jenkins
4. Τι είναι η υποδομή ως κωδικός;
Η υποδομή ως κώδικας, ή IaC, είναι μια τεχνική πληροφορικής που βασίζεται σε λογισμικό που κωδικοποιεί και διατηρεί την υποκείμενη υποδομή πληροφορικής. Αντί να διαμορφώνονται με μη αυτόματο τρόπο ξεχωριστές συσκευές υλικού και λειτουργικά συστήματα, η υποδομή ως κώδικας επιτρέπει στους προγραμματιστές και στις ομάδες λειτουργιών να διαχειρίζονται, να παρακολουθούν και να παρέχουν αυτόματα πόρους.
5. Εξηγήστε τον κύκλο ζωής του DevOps;
Το DevOps χωρίζεται σε έξι στάδια. Τα στάδιά του ακολουθούν έναν συγκεκριμένο κύκλο.
Ωστόσο, καμία φάση δεν χωρίζεται με σύνορα και καμία φάση δεν ξεκινά ακόμα κι αν η προηγούμενη έχει ολοκληρωθεί πλήρως. Ας ρίξουμε μια πιο προσεκτική ματιά στη φάση του κύκλου DevOps τώρα.
- Σχεδιασμός – Το Το αρχικό μέρος του κύκλου ζωής του DevOps περιλαμβάνει σχεδιασμό και ανάπτυξη λογισμικού. Αυτή η φάση συνεπάγεται την πλήρη κατανόηση του έργου προκειμένου να επιτευχθεί ο τελικός στόχος εργασίας των μελών του. Αυτό τροφοδοτεί επίσης τα διάφορα στάδια ανάπτυξης και λειτουργίας. Είναι επίσης σημαντικό οι οργανισμοί να λαμβάνουν εκπαίδευση σχετικά με τα εργαλεία και τις μετρήσεις προκειμένου να έχουν μια σαφή εικόνα της διαχείρισης του έργου.
- Ανάπτυξη – Κατά τη διάρκεια Σε αυτή τη φάση, το έργο κατασκευάζεται με το σχεδιασμό υποδομής, την ανάπτυξη κώδικα, τη δημιουργία δοκιμών ή τη χρήση μιας διαδικασίας αυτοματισμού. Τα στοιχεία είναι κρίσιμα σε αυτό το στάδιο. Προκειμένου να διαχειριστούν εφαρμογές και δραστηριότητες δεδομένων, οι προγραμματιστές αποθηκεύουν κώδικα σε έναν διαχειριστή κώδικα, ο οποίος επιτρέπει την προβολή, την έκδοση εκδόσεων και πολλά άλλα.
- Συνεχής ενσωμάτωση – Αυτό Το βήμα αυτοματοποιεί τους μηχανισμούς επικύρωσης και δοκιμής. Αυτό έχει ένα μοναδικό χαρακτηριστικό που εγγυάται ότι το περιβάλλον ανάπτυξης έχει ρυθμιστεί σωστά πριν κυκλοφορήσει σε μια υπηρεσία που το συνδυάζει με άλλες εφαρμογές.
- Αυτοματοποιημένη ανάπτυξη – DevOps ενθαρρύνει τη χρήση εργαλείων και σεναρίων για την αυτοματοποίηση των αναπτύξεων, με απώτερο στόχο την αυτοματοποίηση ολόκληρης της διαδικασίας με την ενεργοποίηση μιας δυνατότητας. Η εμφάνιση του cloud, ως κώδικας που επιβάλλει τη μετάβαση από τη διαχείριση πεπερασμένης υποδομής στη μόνιμη διαχείριση βελτιστοποίησης κόστους, είναι το πιο ουσιαστικό στοιχείο αυτής της περιόδου.
- Λειτουργία - Όλα Οι λειτουργίες DevOps συνήθως εκτελούνται συνεχώς καθ' όλη τη διάρκεια ζωής του λογισμικού λόγω της δυναμικής φύσης της υποδομής. Ο μετασχηματισμός, η διαθεσιμότητα και η επεκτασιμότητα είναι όλα δυνατά με αυτήν την πλατφόρμα.
- Παρακολούθηση - Αυτό είναι ένα συνεχές στάδιο στη διαδικασία DevOps. Το DevOps παρακολουθεί και αναλύει δεδομένα που δείχνουν την τρέχουσα κατάσταση της εφαρμογής.
6. Τι είναι η διαχείριση διαμόρφωσης;
Η διαχείριση διαμόρφωσης (CM) είναι μια διαδικασία χειρισμού αλλαγών με συστηματικό τρόπο, έτσι ώστε η ακεραιότητα του συστήματος να διατηρείται σε βάθος χρόνου.
Αυτό συνεπάγεται ένα σύνολο κανόνων, στρατηγικών, διαδικασιών και εργαλείων για την αξιολόγηση, τη διαχείριση και την παρακολούθηση προτάσεων αλλαγών, καθώς και τη διατήρηση της απαραίτητης τεκμηρίωσης. Η CM συμβάλλει στο σχεδιασμό και την ανάπτυξη του προγράμματος παρέχοντας διοικητική και τεχνική καθοδήγηση.
7. Ποια είναι τα κύρια πλεονεκτήματα των DevOps;
Τα ακόλουθα είναι τα κύρια πλεονεκτήματα των DevOps:
Πλεονεκτήματα από άποψη τεχνολογίας
- Προβλήματα που δεν είναι τόσο δύσκολο να λυθούν
- Παράδοση λογισμικού σε συνεχή βάση
- Τα ελαττώματα εντοπίζονται νωρίτερα και διορθώνονται πιο γρήγορα.
Πλεονεκτήματα για την εταιρεία
- Λειτουργικά περιβάλλοντα που είναι σταθερά
- Τα χαρακτηριστικά παραδίδονται πιο γρήγορα.
- Η συνεργασία και η επικοινωνία μεταξύ των ομάδων έχουν βελτιωθεί.
8. Ποια είναι τα οφέλη από τη χρήση ενός συστήματος ελέγχου έκδοσης;
- Το VCS οργανώνει προσεκτικά όλες τις προηγούμενες εκδόσεις και παραλλαγές.
- Όλοι οι εργαζόμενοι μπορούν να δουν το αρχείο ανά πάσα στιγμή χρησιμοποιώντας το Έλεγχος έκδοσης Σύστημα (VCS). Επιτρέπει επίσης τη συγχώνευση όλων των τροποποιήσεων που γίνονται σε μια κοινή έκδοση.
- Προορίζεται να βοηθήσει πολλά άτομα επιτρέποντάς τους να συνεργάζονται σε αρχεία κειμένου, κάνοντας την κοινή χρήση μεταξύ πολλών μηχανών πολύ απλή.
- Είναι ζωτικής σημασίας για έγγραφα που απαιτούν πολλή αναδιατύπωση και επεξεργασία, καθώς δημιουργεί ένα ίχνος χαρτιού για την αναδιατύπωση και την ενημέρωση των τελικών εκδόσεων.
- Επιτρέπει σε όλα τα μέλη της ομάδας να δουν ολόκληρο το ιστορικό του έργου, επιτρέποντάς μας να χρησιμοποιήσουμε τον χώρο αποθήκευσης οποιουδήποτε συμπαίκτη σε περίπτωση αποτυχίας του κεντρικού διακομιστή.
9. Τι είναι το git stash;
Η εντολή git stash αποθηκεύει προσωρινά τις αλλαγές στον κατάλογο εργασίας. Αυτό παρέχει ένα καθαρό περιβάλλον εργασίας για τους προγραμματιστές. Στη συνέχεια, μπορούν να χρησιμοποιήσουν τη διαδικασία git για να συγχωνεύσουν τις τροποποιήσεις. Οι αλλαγές στα αρχεία που παρακολουθούνται συγχωνεύονται στον κατάλογο εργασίας όταν εκτελείται αυτή η εντολή. Στον κατάλογο git, η εντολή git stash μπορεί να χρησιμοποιηθεί πολλές φορές. Είναι ένα αποθετήριο για το git.
10. Τι είναι το CI/CD;
Συνεχής ολοκλήρωση (CI) είναι μια μέθοδος ανάπτυξης στην οποία οι προγραμματιστές πρέπει να ενσωματώνουν κώδικα σε ένα κοινό αποθετήριο πολλές φορές κάθε μέρα. Στη συνέχεια, μια αυτόματη κατασκευή επικυρώνει κάθε check-in, επιτρέποντας στις ομάδες να εντοπίζουν τα προβλήματα έγκαιρα.
Συνεχής ανάπτυξη είναι μια τεχνική μηχανικής λογισμικού που χρησιμοποιεί αυτοματοποιημένη ανάπτυξη για να προσφέρει λειτουργικότητα προϊόντος. Βοηθά τους δοκιμαστές να προσδιορίσουν εάν οι τροποποιήσεις της βάσης κωδικών είναι σωστές και σταθερές.
11. Τι είναι ο αγωγός CI/CD;
Η διαδικασία παράδοσης λογισμικού είναι αυτοματοποιημένη μέσω αγωγού CI/CD. Δημιουργεί κώδικα, κάνει δοκιμές και σας βοηθά να αναπτύξετε σωστά μια νέα έκδοση λογισμικού. Η διοχέτευση CI/CD εξαλείφει τα ανθρώπινα λάθη, παρέχει στους προγραμματιστές ανατροφοδότηση και επιτρέπει γρήγορες επαναλήψεις προϊόντων. Ο αγωγός CI/CD αυτοματοποιεί και παρακολουθεί τον κύκλο ζωής ανάπτυξης ενός προϊόντος λογισμικού. Καλύπτει ολόκληρη τη διαδικασία, από την ενσωμάτωση και τη δοκιμή έως την παράδοση και την ανάπτυξη. Ο αγωγός CI/CD αναφέρεται σε αυτές τις διασυνδεδεμένες δραστηριότητες.
12. Τι είναι το Continuous Testing;
Το Continuous Testing είναι η διαδικασία εκτέλεσης αυτοματοποιημένων δοκιμών ως μέρος του αγωγού παράδοσης λογισμικού για την παροχή ανατροφοδότησης σε πραγματικό χρόνο σχετικά με τους επιχειρηματικούς κινδύνους στην πιο πρόσφατη έκδοση. Κάθε έκδοση δοκιμάζεται συνεχώς με αυτόν τον τρόπο για να αποφευχθούν δυσκολίες με την εναλλαγή σταδίων στον κύκλο ζωής παράδοσης Λογισμικού και για να επιτραπεί στις ομάδες ανάπτυξης να λαμβάνουν ταχεία ανατροφοδότηση. Αυτό οδηγεί σε τεράστιο κέρδος στην παραγωγικότητα ενός προγραμματιστή, επειδή δεν χρειάζεται πλέον να εκτελούνται ξανά όλες οι δοκιμές μετά από κάθε ενημέρωση και εκ νέου δημιουργία έργου.
13. Πώς διαφέρει το DevOps από το Agile;
Το DevOps είναι μια μέθοδος ή μια κουλτούρα που επιτρέπει στις ομάδες ανάπτυξης και λειτουργιών να συνεργάζονται για να δημιουργήσουν επιτυχημένα προϊόντα. Η συνεχής ανάπτυξη, η ενσωμάτωση, η δοκιμή, η ανάπτυξη και η παρακολούθηση του κύκλου SDLC είναι μερικές από τις προσεγγίσεις που μπορούν να χρησιμοποιηθούν για να επιτευχθεί αυτό. Για μια επιτυχημένη κυκλοφορία προϊόντων, το DevOps στοχεύει να γεφυρώσει το χάσμα μεταξύ προγραμματιστών και λειτουργιών.
Το Agile είναι μια διαδικασία ανάπτυξης λογισμικού που δίνει έμφαση στις σταδιακές, επαναληπτικές και γρήγορες εκδόσεις προϊόντων λογισμικού, ενώ ενσωματώνει τα στοιχεία του πελάτη. Αυτή η προσέγγιση γεφυρώνει το χάσμα μεταξύ της γνώσης των απαιτήσεων των πελατών και των προγραμματιστών.
14. Μπορείτε να αναφέρετε μερικούς βασικούς δείκτες απόδοσης (KPI) που χρησιμοποιούνται για τη μέτρηση της επιτυχίας του DevOps;
Οι βασικοί δείκτες απόδοσης ή KPI είναι ένας τύπος μέτρησης που μετρά πόσο καλά κάνει κάτι. Τα παρακάτω είναι μερικά από τα πιο συχνά χρησιμοποιούμενα KPI για τη μέτρηση της επιτυχίας του DevOps:
- Εισιτήρια πελατών
- Επιτυχής συχνότητα και χρόνος ανάπτυξης
- Ποσοστά σφάλματος/αστοχίας
- Αποτυχημένες αναπτύξεις
- Χρήση, απόδοση και επισκεψιμότητα εφαρμογής
- Ποσοστό επιτυχίας αυτοματοποιημένης δοκιμαστικής υπόθεσης.
- Διαθεσιμότητα Εφαρμογής
- Αλλαγή αιτημάτων όγκου
- Εν τω μεταξύ έως τον εντοπισμό (MTTD)
- Εν τω μεταξύ έως την ανάκαμψη (MTTR)
15 Ονομάστε μερικές πλατφόρμες cloud που χρησιμοποιούνται για την υλοποίηση DevOps;
Ακολουθούν μερικές από τις πιο δημοφιλείς πλατφόρμες υπολογιστικού νέφους για υλοποίηση DevOps:
- Amazon υπηρεσίες Web
- Google Cloud
- Γαλανός
16. Πώς σχετίζεται το AWS με το DevOps;
Το Amazon Web Services (AWS) είναι μια πλατφόρμα υπηρεσιών cloud που καθιστά τις αρχές DevOps απλές στην εφαρμογή.
Οι λύσεις που δίνονται θα βοηθήσουν σε μεγάλο βαθμό τις ομάδες στη διαχείριση περίπλοκων ρυθμίσεων και τους μηχανικούς στην επιτυχή εργασία με την υψηλή ταχύτητα που παρέχεται από το DevOps.
17. Στο AWS DevOps, τι ακριβώς είναι το CodePipeline;
Η AWS προσφέρει το CodePipeline ως υπηρεσία για συνεχή ενοποίηση και παράδοση.
Περιλαμβάνει επίσης αλλαγές στην υποδομή. Με τα καθιερωμένα πρωτόκολλα μοντέλων έκδοσης που ορίζει ένας χρήστης, λειτουργίες όπως η κατασκευή, η δοκιμή και η ανάπτυξη μετά από κάθε έκδοση γίνονται σχετικά απλές.
Το CodePipeline εγγυάται ότι οι νέες αναβαθμίσεις και δυνατότητες λογισμικού παρέχονται αξιόπιστα και γρήγορα.
18. Τι ακριβώς είναι το CodeBuild στο AWS DevOps;
Το AWS παρέχει το CodeBuild, μια πλήρως διαχειριζόμενη εσωτερική υπηρεσία κατασκευής που βοηθά στη συλλογή, τη δοκιμή πηγαίου κώδικα και τη δημιουργία πακέτων λογισμικού έτοιμων για ανάπτυξη. Δεν υπάρχει ανάγκη διαχείρισης, εκχώρησης ή παροχής, επειδή οι διακομιστές build κλιμακώνονται αυτόματα.
Οι λειτουργίες κατασκευής εκτελούνται παράλληλα σε διακομιστές, παρέχοντας το μεγαλύτερο πλεονέκτημα ότι δεν χρειάζεται να αφήσετε καμία κατασκευή να περιμένει σε μια ουρά.
19. Τι ακριβώς είναι το AWS Lambda στο πλαίσιο του AWS DevOps;
Το AWS Lambda είναι μια υπολογιστική υπηρεσία που επιτρέπει στους πελάτες να εκτελούν προγράμματα χωρίς ρητή παροχή ή διαχείριση διακομιστών.
Οι χρήστες μπορούν να εκτελέσουν οποιοδήποτε κομμάτι κώδικα για τις εφαρμογές ή τις υπηρεσίες τους χρησιμοποιώντας το AWS Lambda χωρίς προηγούμενη ενσωμάτωση. Είναι τόσο απλό όσο να υποβάλετε ένα κομμάτι κώδικα και να αφήσετε τη Lambda να χειριστεί οτιδήποτε άλλο είναι απαραίτητο για τη λειτουργία και την ανάπτυξή του.
20. Ποια πλαίσια προγραμματισμού είναι συμβατά με το AWS CodeBuild;
Το AWS CodeBuild περιλαμβάνει περιβάλλοντα Python, Ruby, Java, Android, Docker, Node.js και Go.
Με την προετοιμασία και τη δημιουργία μιας εικόνας Docker, μπορεί επίσης να δημιουργηθεί ένα προσαρμοσμένο περιβάλλον. Στη συνέχεια, αυτό προωθείται στα μητρώα EC2 ή DockerHub. Αυτό χρησιμοποιείται στη συνέχεια για να αναφέρεται στην εικόνα στο έργο κατασκευής των χρηστών.
21. Τι είναι οι μικροϋπηρεσίες στο AWS DevOps;
Οι αρχιτεκτονικές μικροϋπηρεσιών είναι τεχνικές για το σχεδιασμό μιας ενιαίας εφαρμογής ως συλλογής υπηρεσιών.
Κάθε μία από αυτές τις υπηρεσίες έχει τη δική της δομή διαδικασίας και επικοινωνεί με τις άλλες μέσω μιας καθορισμένης διεπαφής που είναι τόσο ελαφριά όσο και απλή στη χρήση. Η πλειοψηφία αυτής της επικοινωνίας γίνεται μέσω ερωτημάτων HTTP και API.
22. Τι ρόλο παίζει το Amazon QuickSight στο AWS DevOps;
Το Amazon QuickSight είναι ένα εργαλείο AWS Business Analytics που διευκολύνει τη δημιουργία οπτικοποιήσεων, τη διεξαγωγή αναλύσεων και τη λήψη επιχειρηματικών πληροφοριών από τα ευρήματα.
Είναι μια υπηρεσία με γρήγορο ρυθμό και εξ ολοκλήρου βασισμένη στο cloud που παρέχει στους χρήστες πολλές επιλογές για να την ανακαλύψουν και να την χρησιμοποιήσουν.
23. Στο AWS DevOps, πώς επικοινωνούν τα κοντέινερ Kubernetes;
Στο Kubernetes, ένα αντικείμενο γνωστό ως pod χρησιμοποιείται για τη χαρτογράφηση μεταξύ κοντέινερ.
Ανά πάσα στιγμή, ένα λοβό μπορεί να χωρέσει περισσότερα από ένα δοχεία. Λόγω της επίπεδης ιεραρχίας δικτύου του pod, η επικοινωνία μεταξύ αυτών των ομάδων στο δίκτυο επικάλυψης είναι απλή.
24. Τι είναι ένα υβριδικό σύννεφο στο AWS DevOps;
Ένα υβριδικό νέφος είναι ένα υπολογιστικό περιβάλλον που συνδυάζει ιδιωτικά και δημόσια σύννεφα.
Τα υβριδικά σύννεφα μπορούν να δημιουργηθούν με την εισαγωγή μιας σήραγγας VPN μεταξύ του cloud VPN και του δικτύου εσωτερικής εγκατάστασης. Το AWS Direct Connect μπορεί επίσης απλώς να παρακάμψει το Διαδίκτυο και να συνδεθεί με ασφάλεια μεταξύ του VPN και ενός κέντρου δεδομένων.
25. Τι είναι το Ansible;
Το Ansible είναι ένα πρόγραμμα αυτοματισμού υποστήριξης υπολογιστών πολλαπλών πλατφορμών που είναι απλό στη χρήση αλλά εξαιρετικά ισχυρό.
Έχει σχεδιαστεί ειδικά για επαγγελματίες πληροφορικής, οι οποίοι το χρησιμοποιούν για ανάπτυξη εφαρμογών, αναβαθμίσεις σταθμών εργασίας και διακομιστή, παροχή cloud, διαχείριση διαμόρφωσης, ενορχήστρωση εντός της υπηρεσίας και σχεδόν οτιδήποτε άλλο διαχειριστή συστημάτων εκτελεί σε εβδομαδιαία ή καθημερινή βάση.
Το Ansible είναι απλό στην εγκατάσταση, καθώς δεν απαιτεί λογισμικό πράκτορα ή άλλη υποδομή ασφαλείας.
26. Ποιος είναι ο σκοπός του σεληνίου;
Το σελήνιο χρησιμοποιείται στα DevOps για συνεχείς δοκιμές. Το εργαλείο εστιάζει σε δοκιμές λειτουργικότητας και παλινδρόμησης.
27. Τι είναι το πλέγμα σεληνίου και τι κάνει;
Ο σκοπός ενός Selenium Grid είναι να τρέξει τα ίδια ή διαφορετικά δοκιμαστικά σενάρια σε πολλαπλές πλατφόρμες και προγράμματα περιήγησης προκειμένου να πραγματοποιήσει κατανεμημένες δοκιμές. Βοηθά στη δοκιμή σε διάφορα σενάρια και έχει την ικανότητα να μειώνει τον χρόνο εκτέλεσης.
28. Τι είναι το Selenium IDE;
Το ολοκληρωμένο περιβάλλον ανάπτυξης Selenium (IDE) παρέχει μια ενιαία υπηρεσία για την ανάπτυξη σεναρίων Selenium. Διατίθεται επίσης ως επέκταση Firefox και μπορεί να χρησιμοποιηθεί για εντοπισμό σφαλμάτων, αλλαγή και εγγραφή δοκιμών.
Το Selenium IDE περιλαμβάνει ολόκληρο τον πυρήνα του Selenium, επιτρέποντάς μας να αναπαράγουμε και να καταγράψουμε δοκιμές στο ίδιο πλαίσιο στο οποίο θα εκτελεστούν. Λόγω της ευελιξίας για γρήγορη εναλλαγή των οδηγιών και της υποστήριξης αυτόματης συμπλήρωσης, το Selenium IDE είναι το καλύτερο περιβάλλον για τη σύνταξη δοκιμών σεληνίου, ανεξάρτητα από το είδος των δοκιμών που μας αρέσουν.
29. Στο DevOps, τι εννοείτε με τον όρο Puppet;
Είναι ένα πρόγραμμα διαχείρισης διαμόρφωσης για την αυτοματοποίηση των διοικητικών καθηκόντων. Το Puppet χρησιμοποιεί μια αρχιτεκτονική Master-Slave, στην οποία δύο οντότητες επικοινωνούν μέσω ενός κρυπτογραφημένου καναλιού. Οι διαχειριστές συστήματος είναι υπεύθυνοι για μια ποικιλία επαναλαμβανόμενων καθηκόντων, συμπεριλαμβανομένης της εγκατάστασης και της διαμόρφωσης διακομιστών.
Είναι δυνατό να γραφτούν σενάρια για την αυτοματοποίηση τέτοιων δραστηριοτήτων, αλλά αυτό γίνεται δύσκολο όταν η υποδομή είναι τεράστια. Η διαχείριση διαμόρφωσης είναι μια εξαιρετική λύση. Το Puppet βοηθά στη διαμόρφωση, την ανάπτυξη και τη διαχείριση των διακομιστών.
Όχι μόνο διευκολύνει τέτοιες επαναλαμβανόμενες εργασίες, αλλά εξοικονομεί επίσης σημαντικό χρόνο συνολικά.
30. Για να κάνετε το Puppet πιο ισχυρό, ποια εργαλεία ανοιχτού κώδικα ή κοινότητας χρησιμοποιείτε;
Το Jira χρησιμοποιείται για την παρακολούθηση αλλαγών και αιτημάτων και τα διαχειριζόμαστε μέσω μιας εσωτερικής διαδικασίας.
Στη συνέχεια, σύμφωνα με τις βέλτιστες πρακτικές, χρησιμοποιούμε την εφαρμογή Git and Puppet's Code Manager για τη διαχείριση του κώδικα Puppet. Επιπλέον, χρησιμοποιούμε τη γραμμή συνεχούς ενοποίησης του Jenkins και το πλαίσιο δοκιμών ποτηριού για να εκτελέσουμε όλες τις ενημερώσεις Puppet μας.
31. Εξηγήστε την αρχιτεκτονική του αφέντη-σκλάβου του Τζένκινς;
- Κάθε φορά που υπάρχει μια δέσμευση κώδικα, το Jenkins master ανακτά τον κώδικα από το απομακρυσμένο αποθετήριο GitHub.
- Μοιράζει το καθήκον σε όλους τους σκλάβους του Τζένκινς.
- Οι σκλάβοι πραγματοποιούν, κατασκευάζουν, δοκιμάζουν και δημιουργούν αποτελέσματα δοκιμών κατόπιν αιτήματος του πλοιάρχου Τζένκινς.
32. Πώς μπορεί το Jenkins να μετακινηθεί ή να αντιγραφεί από έναν διακομιστή σε άλλο;
Θα ξεκινήσω μεταφέροντας τον κατάλογο εργασιών από τον παλιό στον νέο διακομιστή. Υπάρχουν και άλλες διαθέσιμες επιλογές, τις οποίες παραθέτω παρακάτω:
Είναι δυνατό να:
- Απλώς μεταφέρετε τον αντίστοιχο κατάλογο εργασιών από μια εγκατάσταση Jenkins σε άλλη για να μετακινήσετε μια εργασία.
- Δημιουργήστε έναν κλώνο ενός καταλόγου εργασιών με νέο όνομα για να αντιγράψετε μια υπάρχουσα εργασία.
- Ένας κατάλογος μπορεί να μετονομαστεί για να μετονομαστεί μια υπάρχουσα εργασία. Εάν μετονομάσετε μια εργασία, οποιαδήποτε άλλη εργασία επιχειρεί να καλέσει τη μετονομασμένη εργασία πρέπει επίσης να μετονομαστεί.
33. Αναφέρετε μερικά πρόσθετα Jenkins που είναι ευεργετικά;
Έχω συμπεριλάβει μερικά βασικά πρόσθετα παρακάτω:
- Αντιγραφή αντικειμένου
- Συμμετοχή
- Πράσινες Μπάλες
- Έργα Maven 2
- Amazon EC2
- Εκδότης HTML
34. Τι είναι ο Νάγιος;
Ένα από τα εργαλεία παρακολούθησης είναι το Nagios. Σε μια κουλτούρα DevOps, χρησιμοποιείται για συνεχή παρακολούθηση συστημάτων, εφαρμογών, υπηρεσιών και επιχειρηματικών διαδικασιών, μεταξύ άλλων.
Σε περίπτωση αποτυχίας, η Nagios μπορεί να ειδοποιήσει τους τεχνικούς υπαλλήλους, επιτρέποντάς τους να ξεκινήσουν την αντιμετώπιση προβλημάτων πριν επηρεαστούν οι επιχειρηματικές λειτουργίες, οι τελικοί χρήστες ή οι πελάτες.
Δεν χρειάζεται να εξηγήσετε γιατί μια μη ανιχνεύσιμη βλάβη υποδομής επηρεάζει τα αποτελέσματα της εταιρείας σας χρησιμοποιώντας το Nagios.
35. Πώς λειτουργεί το Nagios;
Το Nagios είναι ένα σύστημα παρακολούθησης που βασίζεται σε διακομιστή που λειτουργεί ως δαίμονας ή υπηρεσία. Η Nagios εκτελεί πρόσθετα στον ίδιο διακομιστή σε τακτική βάση και επικοινωνεί με οικοδεσπότες ή διακομιστές στο δίκτυό σας ή στο διαδίκτυο. Η διεπαφή ιστού μπορεί να χρησιμοποιηθεί για την προβολή πληροφοριών κατάστασης.
Εάν συμβεί κάτι, μπορείτε επίσης να ειδοποιηθείτε μέσω email ή SMS. Ο δαίμονας Nagios λειτουργεί σαν προγραμματιστής, εκτελώντας προγράμματα σε συγκεκριμένες ώρες. Αποθηκεύει την έξοδο αυτών των σεναρίων και εκτελεί νέα εάν αλλάξει η έξοδος.
36. Τι ακριβώς είναι ο Nagios Log Server;
Ο διακομιστής καταγραφής Nagios διευκολύνει την αναζήτηση δεδομένων καταγραφής. Η ρύθμιση συναγερμών, η προειδοποίηση όταν εμφανίζονται πιθανοί κίνδυνοι, η απλή αναζήτηση δεδομένων καταγραφής και ο γρήγορος έλεγχος οποιουδήποτε συστήματος είναι όλα τα πράγματα στα οποία ο Nagios Log Server υπερέχει.
Μπορούμε να λάβουμε όλα τα δεδομένα καταγραφής μας σε ένα μέρος με υψηλή διαθεσιμότητα χρησιμοποιώντας τον διακομιστή Nagios Log.
37. Τι είναι το State Stalking στο Nagios;
Χρησιμοποιείται για την παρακολούθηση των πραγμάτων. Όταν η παρακολούθηση είναι ενεργοποιημένη για έναν κεντρικό υπολογιστή ή υπηρεσία, το Nagios θα παρακολουθεί στενά αυτόν τον κεντρικό υπολογιστή ή την υπηρεσία και θα σημειώνει τυχόν αλλαγές που παρατηρεί στην έξοδο των αποτελεσμάτων ελέγχου.
Μπορείτε επίσης να πείτε, «Μπορεί να είναι πολύ ωφέλιμο σε μια επακόλουθη εξέταση των αρχείων καταγραφής», ανάλογα με τη συνομιλία που είχατε εσείς και ο συνεντευκτής. Το αποτέλεσμα ενός ελέγχου κεντρικού υπολογιστή ή υπηρεσίας αναφέρεται μόνο σε τυπικές περιπτώσεις εάν ο οικοδεσπότης ή η υπηρεσία έχει αλλάξει κατάσταση από τον προηγούμενο έλεγχο."
38. Τι είναι ακριβώς τα δοχεία;
Τα κοντέινερ χρησιμοποιούνται για τη δημιουργία ενός συνεπούς υπολογιστικού περιβάλλοντος από το φορητό υπολογιστή ενός προγραμματιστή σε ένα περιβάλλον δοκιμής και μετά στην παραγωγή. Ένα κοντέινερ είναι ένα ενιαίο πακέτο που περιέχει ένα ολόκληρο περιβάλλον χρόνου εκτέλεσης: ένα πρόγραμμα, καθώς και όλες τις εξαρτήσεις, βιβλιοθήκες, άλλα στοιχεία και αρχεία διαμόρφωσης που απαιτούνται για την εκτέλεσή του.
Οι διαφορές στις διανομές του λειτουργικού συστήματος και στην υποδομή υποστήριξης εξαλείφονται με την αποθήκευση της πλατφόρμας εφαρμογών και των εξαρτήσεών της.
39. Τι ακριβώς είναι μια εικόνα Docker;
Το κοντέινερ Docker προέρχεται από μια εικόνα Docker. Για να το θέσω αλλιώς, οι εικόνες Docker χρησιμοποιούνται για την κατασκευή κοντέινερ. Οι εικόνες δημιουργούνται με την εντολή build και όταν εκτελούνται, θα σχηματίσουν ένα κοντέινερ. Ένα μητρώο Docker, όπως το registry.hub.docker.com, αποθηκεύει εικόνες.
Οι εικόνες προορίζονται να κατασκευάζονται από στρώματα άλλων φωτογραφιών, καθώς μπορούν να γίνουν αρκετά τεράστιες, επιτρέποντας την παράδοση ενός ελάχιστου όγκου δεδομένων κατά τη μετάδοση εικόνων μέσω του δικτύου.
40. Τι ακριβώς είναι ένα δοχείο Docker;
Τα κοντέινερ Docker περιλαμβάνουν το πρόγραμμα και όλες τις εξαρτήσεις του, αλλά μοιράζονται τον πυρήνα με άλλα κοντέινερ και λειτουργούν ως ξεχωριστές διεργασίες στο χώρο χρήστη στο κεντρικό λειτουργικό σύστημα. Τα κοντέινερ Docker δεν απαιτούν ειδική υποδομή για να λειτουργήσουν: μπορούν να λειτουργήσουν σε οποιοδήποτε μηχάνημα, σε οποιαδήποτε υποδομή και σε οποιοδήποτε cloud.
Μπορείτε να δημιουργήσετε κοντέινερ Docker είτε δημιουργώντας μια εικόνα Docker και στη συνέχεια εκτελώντας την είτε χρησιμοποιώντας εικόνες Docker από το Dockerhub. Τα κοντέινερ Docker είναι ουσιαστικά εικόνες Docker χρόνου εκτέλεσης.
41. Ποιος είναι ο σκοπός ενός Dockerfile;
Το Docker μπορεί να διαβάσει οδηγίες από ένα Dockerfile και να δημιουργήσει εικόνες για εσάς αυτόματα.
Το Dockerfile είναι ένα αρχείο κειμένου που περιέχει όλες τις εντολές που μπορεί να χρησιμοποιήσει ένας χρήστης για να δημιουργήσει μια εικόνα από τη γραμμή εντολών. Οι χρήστες μπορούν να χρησιμοποιήσουν την κατασκευή docker για να αυτοματοποιήσουν μια έκδοση που εκτελεί πολλές οδηγίες γραμμής εντολών στη σειρά.
42. Τι ακριβώς είναι ο «Προγραμματισμός ζευγών»;
Ο προγραμματισμός ζευγών είναι μια μηχανική προσέγγιση στην οποία δύο προγραμματιστές συνεργάζονται στο ίδιο σύστημα, σχέδιο και κώδικα.
Συμμορφώνονται με τις αρχές του «Ακραίου Προγραμματισμού». Σε αυτήν την περίπτωση, ο ένας προγραμματιστής αναφέρεται ως «οδηγός», ενώ ο άλλος αναφέρεται ως «παρατηρητής», ο οποίος ελέγχει συνεχώς την πρόοδο του έργου προκειμένου να αποκαλύψει τυχόν περαιτέρω δυσκολίες.
43. Τι ακριβώς είναι ο Σεφ;
Είναι μια ισχυρή πλατφόρμα αυτοματισμού που μετατρέπει την υποδομή σε κώδικα. Μπορείτε να χρησιμοποιήσετε αυτό το εργαλείο για να δημιουργήσετε σενάρια που αυτοματοποιούν τις λειτουργίες.
44. Τι ακριβώς είναι το Μπλε/Πράσινο Μοτίβο Ανάπτυξης;
Το μπλε-πράσινο μοτίβο είναι μια συνεχής ανάπτυξη, μεθοδολογία έκδοσης εφαρμογών που εστιάζει στη σταδιακή μετάβαση της κυκλοφορίας χρηστών από μια προηγούμενη λειτουργική έκδοση του προγράμματος ή της υπηρεσίας σε μια σχεδόν πανομοιότυπη νέα έκδοση – και οι δύο εκδόσεις εκτελούνται σε παραγωγή.
Το μπλε περιβάλλον αντιπροσωπεύει την προηγούμενη έκδοση του προγράμματος, ενώ το πράσινο περιβάλλον αντιπροσωπεύει την τρέχουσα έκδοση. Η κίνηση παραγωγής θα μεταφερόταν σταδιακά από ένα μπλε σε ένα πράσινο περιβάλλον και μόλις μεταφερθεί πλήρως, το μπλε περιβάλλον θα διατηρηθεί σε αναμονή μόνο σε περίπτωση απαίτησης επαναφοράς.
45. Τι είναι το Memcached;
Το Memcached είναι μια τεχνολογία προσωρινής αποθήκευσης αντικειμένων κατανεμημένης μνήμης που είναι εντελώς δωρεάν και ανοιχτού κώδικα. Αυτό χρησιμοποιείται συνήθως στη δυναμική εφαρμογές ιστού για τη διαχείριση της μνήμης με αποθήκευση δεδομένων στη μνήμη RAM. Αυτό μειώνει τον αριθμό των φορών που πρέπει να υποβληθούν ερωτήματα για εξωτερικές πηγές. Η μείωση του φόρτου της βάσης δεδομένων βοηθά επίσης στην επιτάχυνση των δυναμικών διαδικτυακών εφαρμογών.
46. Ποια είναι τα χαρακτηριστικά του Memcached;
Εδώ είναι μερικά από τα πιο αξιοσημείωτα χαρακτηριστικά του Memcached:
- Τα ενημερωμένα αντικείμενα αποθηκεύονται χρησιμοποιώντας διακριτικά CAS.
- Για να γίνει ο κώδικας πιο ευανάγνωστος, χρησιμοποιούνται επανακλήσεις.
- Μειώστε τον χρόνο απόκρισης ή το χρόνο που χρειάζεται για το αποτέλεσμα χρησιμοποιώντας το GetDelayed.
- Για χρήση με το νέο πρόγραμμα-πελάτη, δημιουργήστε ένα δυαδικό πρωτόκολλο.
- Για χρήση με περίπλοκα δεδομένα, προσφέρεται μια επιλογή Igbinary data.
47. Ονομάστε μερικά χρήσιμα εργαλεία παρακολούθησης δικτύου;
Τα παρακάτω είναι μερικά από τα πιο δημοφιλή εργαλεία παρακολούθησης δικτύου:
- Splunk
- Icinga 2
- Wireshark
- Νάγκιος
- Ανοικτά
48. Ποια είναι μερικά από τα εμπόδια για τη δημιουργία ενός αγωγού DevOps;
Σε αυτήν την εποχή των τεχνολογικών εκρήξεων, το DevOps παρουσιάζει μια ποικιλία θεμάτων. Τις περισσότερες φορές, έχει να κάνει με τη μεταφορά δεδομένων και τη γρήγορη ενσωμάτωση νέων λειτουργιών. Εάν η μετεγκατάσταση δεδομένων αποτύχει, το σύστημα μπορεί να γίνει ασταθές, γεγονός που μπορεί να οδηγήσει σε προβλήματα περαιτέρω.
Ωστόσο, μέσα στο σύστημα CI, αυτό μπορεί να αντιμετωπιστεί χρησιμοποιώντας μια σημαία χαρακτηριστικών, η οποία βοηθά στη σταδιακή απελευθέρωση προϊόντων. Αυτό, μαζί με τη δυνατότητα επαναφοράς, μπορεί να βοηθήσει στην άμβλυνση ορισμένων προβλημάτων.
49. Ποιος ακριβώς είναι ο σκοπός του Secure Shell;
Το SSH χρησιμοποιείται συνήθως για τη σύνδεση δύο υπολογιστών και τον χειρισμό τους από απόσταση. Το SSH χρησιμοποιείται ως επί το πλείστον από την ομάδα λειτουργιών, καθώς η ομάδα λειτουργιών θα ασχολείται με δουλειές που θα απαιτήσουν απομακρυσμένη πρόσβαση στο σύστημα διαχείρισης.
Οι προγραμματιστές θα χρησιμοποιούν επίσης SSH, αν και σε μικρότερο βαθμό από την ομάδα λειτουργιών, επειδή θα εργάζονται σε τοπικά συστήματα τις περισσότερες φορές. Όπως αναφέρθηκε προηγουμένως, οι ομάδες ανάπτυξης και λειτουργίας DevOps θα αλληλεπιδράσουν και θα συνεργαστούν.
Το SSH θα χρησιμοποιηθεί όταν η ομάδα λειτουργιών αντιμετωπίσει ένα πρόβλημα και χρειάζεται βοήθεια από την ομάδα ανάπτυξης.
50. Τι ακριβώς είναι το CBD;
Η CBD, γνωστή και ως Δημιουργία βάσει στοιχείων, είναι μια νέα μέθοδος ανάπτυξης προϊόντων.
Αντί να ξεκινούν από το μηδέν, οι προγραμματιστές σε αυτήν τη στρατηγική αναζητούν πάντα υπάρχοντα καλά καθορισμένα, δοκιμασμένα και επιβεβαιωμένα στοιχεία για να συνθέσουν και να συναρμολογήσουν σε ένα προϊόν.
Συμπέρασμα
Οι Ερωτήσεις και οι Απαντήσεις Συνέντευξης Κορυφαίων DevOps έχουν πλέον ολοκληρωθεί. Το DevOps είναι ζωτικής σημασίας όχι μόνο για την επιτάχυνση της ανάπτυξης λογισμικού, αλλά και για τη βελτίωση της ποιότητας του λογισμικού.
Το DevOps φέρνει στο τραπέζι μια φρέσκια στάση, ευέλικτες τεχνικές και έξυπνες τεχνολογίες, τα οποία συνεργάζονται για την επίτευξη αυτού του στόχου. Τα DevOps μπορούν επίσης να βοηθήσουν στον εντοπισμό σφαλμάτων κώδικα, να βελτιώσουν την επικοινωνία της ομάδας και να μειώσουν το συνολικό κόστος ανάπτυξης λογισμικού.
Αφήστε μια απάντηση