apatriarca ha scritto:Personalmente vedo diversi problemi in un progetto di questo tipo.
1. Ti manca un'idea precisa di quello che vorresti ottenere. Rischi di rimanere bloccato nel tentativo di dare una forma alla tesi. Te lo dico per esperienza. Sono andato avanti diversi mesi nella mia tesi magistrale senza sapere cosa volessi effettivamente dire, avevo anche scritto alcuni capitoli, ma cambiare argomento è stata alla fine la decisione migliore che potessi fare.
2. Il progetto mi sembra troppo generico e impegnativo per una tesi triennale. Entrambe le parti, costruire una pipeline DevOps per un progetto e applicare algoritmi di machine learning, mi sembrano già sufficienti per una tesi e più raggiungibili come obiettivi.
3. Simulare lo sviluppo e la vita di un progetto è qualcosa di decisamente difficile da fare. Un progetto prende spesso una "vita propria" una volta che viene rilasciato in quanto potrebbe venire utilizzato in modi molto diversi da quelli inizialmente pensati dagli sviluppatori. Inoltre nuove priorità potrebbero presentarsi e cambiare la direzione intrapresa fino a quel momento.
4. Gli algoritmi di machine learning richiedono spesso molti dati per essere applicati. Ottenere questi dati e dare loro una forma adatta ad essere analizzata richiede spesso molto tempo e sperimentazione. Non sono algoritmi che applichi come "black box" e che magicamente funzionano come vorresti. A volte le soluzioni ottenute potrebbero anche stupire..
Per quanto riguarda Jenkins direi che va bene. Non è un tool complicato. Di fatto è semplicemente un server che automatizza una serie di task. La complessità delle task e della pipeline dipende da te, ma pipeline semplici sono abbastanza facili da configurare. Per applicare i tuoi algoritmi di machine learning hai inoltre bisogno di avere la possibilità di configurare in modo automatico le tue task in base al risultato del tuo algoritmo ed è un tipo di utilizzo che è sinceramente più complicato della media dei progetti.. Anche di quelli seri e grossi (che potrebbero avere una pipeline molto più semplice di quello che ti aspetti..).
Intanto grazie per la risposta.
Ad alcune di queste cose che hai scritto ci avevo già pensato, e non hai torto.
Per la questione machine learning, ammetto di non essere ancora competente in materia, ho visto solo qualche corso introduttivo online, ma in linea di massima ho capito come funziona, so che ci vogliono un sacco di dati per avere delle buone predizioni, ovviamente in un progetto del genere difficilmente riuscirò ad ottenere un sacco di dati (essendo una cosa simulata).
In ogni caso, proprio perchè si tratta di una simulazione e soprattutto considerando che si tratta di una tesi per una laurea triennale, non devo fare niente di esagerato e anche se i risultati finali non saranno particolarmente buoni, non ci fa niente. Devo fare solo qualche esempio di integrazione tra le due cose, senza aspettarmi risultati finali eclatanti, in questo link ci sono alcuni consigli su qualcosa che si potrebbe fare:
https://www.quora.com/How-is-machine-learning-used-in-DevOpsAlla luce di questo che ti ho detto, e dalla tua esperienza, pensi che non sia fattibile una tesi del genere?
Grazie ancora.