Kubernetes ed i problemi di un progetto gigante: una lista di duemila TODO
La vertiginosa evoluzione di Kubernetes porta con se oltre che innovazioni costanti anche qualche problema. È infatti impensabile avere cicli di release così serrati, con una minor-release ogni tre mesi, senza dover rinunciare a qualcosa in termini di qualità. Il bilanciamento perfetto non può esistere.
Ne sanno qualcosa i ragazzi di AirBnb che nel corso dell’ultima Kubecon hanno descritto la loro esperienza in merito alla risoluzione di alcuni problemi di performance, molto specifici, relativi ad alcuni Pod dei loro deployment. La cosa interessante è vedere come, alla fine, oltre alle specifiche configurazioni sia stata necessaria anche una patch.
Il caso è rilevante per presentare quanto riassunto nel titolo di questo articolo: quanto impatta il costante incremento del codice alla base di Kubernetes sulla qualità generale delle cose, sposato alla velocità di evoluzione di cui si parlava in apertura?
Una domanda a cui i ragazzi di medium.com hanno cercato di rispondere, realizzando un progetto che conta i TODO (ossia i technical debt, le cose in sospeso, il “cosa rimane da fare”) del progetto.
A livello intorduttivo sono molto interessanti i numeri citati in apertura relativi al codice attuale di Kubernetes, che danno la dimensione del progetto.
- Più di 86 mila commit.
- Più di 2 mila contributor.
- Più di 2 mila open issue.
- Più di mille Pull Request aperte.
- Più di 61 mila star (ossia like).
- Il software
scc
, utilizzato per i conteggi del codice, per il progetto racconta di più di 4,3 milioni di linee di codice go (su più di 5,2M totali) e più di 3 milioni di linee di codice effettivo contro 700 mila linee di commenti.
Insomma, se ci fossero dubbi, i numeri sono quelli di un grande progetto. Ma la parte interessante arriva con l’analisi dei cosiddetti TODO:
- Ci sono 2.380 TODO totali distribuiti su 1.230 file suddivisi in 363 autori
- 460 TODO sono assegnati a qualcuno
- 489 TODO sono stati aggiunti nel 2019
- La media dell’età dei TODO è di 860 days (or 2,3 anni)
Di nuovo, numeri da progetto importante, ed il dato che fa riflettere è relativo ai TODO aggiunti nell’ultimo anno, comparato a quello dei precedenti:
- 34 nel 2014
- 249 nel 2015
- 523 nel 2016
- 650 nel 2017
- 435 nel 2018
- 489 nel 2019
Dall’esplosione successiva al 2014 quindi, la crescita è attestata ogni anno su una media di TODO parecchio alta e, al momento, in crescita.
In conclusione, cosa raccontano questi numeri? Certamente che Kubernetes è un progetto enorme, e che, altrettanto certamente, per i coordinatori del progetto la prossima sfida sarà sicuramente fare in modo che il numero costante ed elevato di TODO non vada ad inficiare la qualità del prodotto.
Se vuoi sostenerci, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che abbiamo nel nostro sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul nostro negozio online, quelle mancanti possono essere comunque richieste, e su cui trovi anche PC, NAS e il ns ServerOne. Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!
Hai dubbi o problemi? Ti aiutiamo noi!
Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.