Καινοτόμες προσεγγίσεις για την διαχείριση κύκλου ζωής των συστημάτων λογισμικού (Code everything)
Innovative approaches to life cycle management of software systems (Code everything)
Διπλωματική εργασία
Συγγραφέας
Κατσίμπρας, Δρόσος
Ημερομηνία
2024-07-29Επιβλέπων
Karkazis, PanagiotisΛέξεις-κλειδιά
Infrastructure as Code (IaC) ; Code everything ; Terraform ; Continuous Integration (CI) ; Continuous Deployment (CD) ; Version Control Systems ; System Reliability ; Software Lifecycle Management ; Software Development ; Deployment Automation ; Pulumi ; Ansible ; Cloud computing ; AWS ; Linode ; Yaml ; DevOpsΠερίληψη
Η παρούσα διπλωματική εργασία εστιάζει σε καινοτόμες μεθοδολογίες για την διαχείριση του κύκλου ζωής των συστημάτων λογισμικού. Πιο συγκεκριμένα, εμβαθύνει στην έννοια του ”code everything” , διερευνά νέες προσεγγίσεις στην ανάπτυξη καθώς και την συντήρηση λογισμικού. Με την υιοθέτηση τεχνικών και εργαλειών αιχμής, όπως η υποδομή ως κώδικας (IaC) και τα εργαλεία τα οποία έχει (π.χ Terraform, Pulumi, Ansible), οι αγωγοί συνεχούς ολοκλήρωσης/συνεχούς ανάπτυξης (CI/CD) και τα προηγμένα συστήματα ελέγχου εκδόσεων (Git), η μελέτη έχει ως στόχο να φέρει την επανάσταση στις παροδοσιακές πρακτικές διαχείρισης του κύκλου ζωής λογισμικού. Συνολικά ο πρακτικός πειραματισμός και η θεωρητική ανάλυση, επιδιώκει να αποκαλύψει νέες στρατηγικές για την βελτιστοποίηση των διαδικασιών κατά την ανάπτυξη του λογισμικού, την ενίσχυση της αξιοπιστίας του συστήματος και την επιτάχυνση του χρόνου διάθεσης στην αγορά. Συνεπώς, η έρευνα στοχεύει να συμβάλει στην εξέλιξη των πρακτικών του software engineering και να ανοίξει το δρόμο για μελλοντικές καινοτομίες στον τομέα.
Περίληψη
This diploma thesis focuses on innovative methodologies for software systems lifecycle management. More specifically, it delves into the concept of ”code everything”, explores new approaches to software development as well as maintenance. By adopting cutting-edge techniques and tools, such as infrastructure as code (IaC), continuous integration/continuous development (CI/CD) pipelines, and advanced version control systems (Git), the study aims to revolutionize traditional software lifecycle management practices. Overall practical experimentation and theoretical analysis, it seeks to uncover new strategies to optimize processes during software development, enhance system reliability and accelerate time to market. Therefore, the research aims to contribute to the evolution of software engineering practices and pave the way for future innovations in the field.