Un sistema in produzione deve raggiungere obiettivi precisi: prestazioni, affidabilità, sicurezza e conformità, tracciabilità, gestibilità, flessibilità, costi. Per ottenerli si lavora su due livelli, prima ancora di entrare nelle funzioni dell'applicazione.
Il solution architect definisce l'architettura dei servizi: quali servizi cloud usare e come collegarli per raggiungere quegli obiettivi. Microsoft lo descrive come chi consiglia gli stakeholder e traduce i requisiti di business in progetti tecnici, insieme a sviluppatori, amministratori ed esperti di sicurezza e di dati.
Il software architect definisce le regole software comuni che fanno funzionare quelle scelte: come ogni componente scrive i log e usa gli strumenti di monitoraggio, come usa i servizi, come gestisce errori e configurazione.
I due livelli non bastano l'uno senza l'altro. Il monitoraggio va previsto nell'architettura, ma i dati utili arrivano solo se anche lo sviluppo segue regole precise. Con accesso limitato alla produzione è evidente: davanti a un'anomalia si può contare solo su ciò che è stato previsto prima.
Esperienza cloud →
Per entrambi i ruoli questi servizi e queste regole sono quasi sempre da valutare: formano una base, quasi un framework a sé stante, per un progetto che sfrutta l'ambiente cloud, può crescere e si può monitorare.
Fatto questo si entra nel singolo progetto, capendo cosa serve davvero. Il software architect sceglie quale architettura sviluppare, per esempio se usare la Clean Architecture, e definisce le regole di sviluppo; insieme si scelgono i servizi e i pattern cloud adatti al caso. Secondo la situazione si parte da un prototipo (proof of concept) che verifica il rispetto di queste regole, poi si passa allo sviluppo vero e proprio.
Come organizzo il codice →
Anche le esigenze del progetto possono cambiare la base: dati regolamentati o volumi elevati possono richiedere servizi diversi.
Non sono titoli standard. Nelle organizzazioni grandi si aggiunge l'enterprise architect, che lavora sull'insieme dei sistemi e sulla strategia tecnologica, non sul singolo progetto.
Il ruolo non nasce con il cloud, ma oggi i due temi si incontrano quasi sempre. Nel cloud l'infrastruttura non si compra una volta: si sceglie tra molti servizi, si descrive in file versionati e si paga ogni mese. Una scelta di architettura diventa anche una scelta di costi, di rischi e di dipendenza da un fornitore.