Nuove tendenze dei prossimi cinque anni
Bill Gates ha detto che tendiamo a sovrastimare gli avanzamenti tecnologici dei prossimi due anni e a sottostimare quelle dei prossimi dieci.
Al momento ci sono due forze opposte nel mondo dell'IT:
- Da un lato i provider cloud, i container (=K8s per intenderci) sembrano portare verso un mondo di servizi agili e leggeri. In Java l'application server sta concettualmente morendo, se ne parla sempre meno e sa di "vecchio". Le mesh di reti coordinate con K8s possono fare tutto quello che faceva un application server, e scalare molto di più. I server in cloud non bruciano né si rompono, e la loro capacity può essere regolata in modo elastico (entro certi limiti).
- Dall'altro lato AMD ha sdoganato nel mondo consumer una CPU da 64 processori e 128 thread, che benché sia sbilanciata sulla potenza computazionale pura renderà sempre più economico avere un server in casa piuttosto che affittarne uno sul cloud. Questo perché AMD sta tenendo il costo per thread intorno ai 30$.
Il software però si trova stretto in una certezza: il numero di CPU aumenterà in modo significativo (nell'ordine delle decine, almeno) e quindi bisognerà adeguarsi sempre di più a questo nuovo contesto. Le soluzioni basate su micro-servizi promettono di poter scalare in ogni direzione, ma il peso sull'architettura software è immenso: in particolare le nuove architetture richiedono una serie di servizi infrastrutturali complessi come:
- Bilanciamento e ribilanciamento automatico (da evolvere in service mesh, vedi Istio)
- Sistema di consolidamento del logging (logstash, kibana ecc)
- Sistema di metrica real time (es Prometheus)
L'incertezza sui futuri trend è massima.