Appian, piattaforma condivisa oppure dedicata?

In questo articolo discutiamo la necessità di dove posizionare una nuova applicazione appian, se condivisa o dedicata, considerando le nuove feature introdotte con la versione 21.3.

Abbiamo già introdotto la piattaforma nei suoi elementi più essenziali. In questo articolo fornirò la mia personalissima opinione sulla necessità di dove posizionare una nuova applicazione appian, in un ambiente ad-hoc oppure l’installazione in un ambiente preesistente.

Scenario

Il cliente ci chiede lo sviluppo di una nuova applicazione appian. Abbiamo già un ambiente di produzione in cui abbiamo già diverse applicazioni installate e funzionanti.

L’immagine è esemplificativa: vogliamo aggiungere l’Application 3 e vogliamo capire se scalare orizzontalmente o meno.

In generale dobbiamo domandarci:

  1. In caso di fault entro quanto la mia applicazione deve ritornare disponibile?
  2. Quale range temporale dati posso “permettermi” di perdere in caso di fault?
  3. I dati di questa nuova applicazione necessitano di segregazione rispetto alle altre applicazioni?
  4. Gli utenti che utilizzeranno la nuova applicazione utilizzeranno anche le applicazioni preesistenti? il dominio dei dati è strettamente correlato alla nuova utenza?

Per le domande 1 e 2, dobbiamo considerare se la nuova applicazione si discosta da quelle già presenti: è ragionevole clusterizzare le applicazioni che hanno gli stessi requisiti di alta affidabilità (HA). Sarebbe discutibile installare un’applicazione “critica” in un ambiente in cui le applicazioni preesistenti non lo sono.

La domanda 3 apre un tema in cui il prodotto si evolvendo : precedentemente alla versione 21.3 la segregazione è possibile impostando origini dati alternative e quindi utilizzando database diversi. Dalla versione 21.4 è possibile creare nuovi schemi sulla stessa instanza del database a cui le applicazioni possono accedere. Tratterò questo argomento in un futuro (stay tuned!).

La domanda 4 apre molteplici scenari: da un punto di vista della sicurezza, spesso nelle aziende la divisione dei dati è adottata come misura precauzionale per mitigare il rischio di rilascio incontrollato di informazioni, da un punto di vista prestazionale dobbiamo curare l’approccio in base al numero di utenti che verranno introdotti sulla piattaforma. Verranno aggiunti un numero non trascurabile di nuovi utenti. Per affrontare il tema dobbiamo considerare se le risorse allocate su appian sono sufficienti a sostenere l’ingresso dei nuovi utenti: in alternativa potremmo aver abbiamo bisogno fare scaling della piattaforma.

Appian riassume così i requisiti minini :

Tipologia di utilizzoUtenti
concorrenti
RAM (GB)CPU
Applicazione singola< 100304
Uso dipartimentale100 – 1,000608
Utilizzo Aziendale> 1,00024032
Raccomandazioni sizing piattaforma appian per utenti/tipologia di utilizzo


Avere un bacino d’utenza ampio è un chiaro segnale di un requisito inespresso di HA. Considero difficile che a fronte di una moltidine di utenti (quindi costi non trascurabili) fruitori non corrisponda un requisito particolare di High Availability, di fatto stiamo torniamo alla considerazione che risponde alla domanda 1 e 2.

Verranno aggiunti un numero trascurabile di utenti

In questo caso è difficile ipotizzare che si è obbligati a segregare gli ambienti: come già abbiamo visto per la domanda 3 la segregazione dei dati è ottenibile restando sulla stessa piattaforma. L’unico fattore che ci resta da considerare sono i requisiti di HA, per cui o abbiamo già requisiti molto più stringenti oppure bisogna prepararsi a requisiti molto più stringenti.

Considerazioni finali

Appian, escludendo casi particolari, consiglia l’ambiente condiviso.

I vantaggi dell’ambiente condiviso sono molteplici, cito tra i più importanti:

  1. Possiamo riutilizzare le componenti scritte migliorando la manutenibilità dell’applicazione stessa e delle applicazioni parallele.
  2. Velocità di sviluppo maggiore in virtù del punto 1 e dal riutilizzo delle configurazioni adottate nelle applicazioni parallele.
  3. Maggiore economicità, creare un nuovo ambiente per un’applicazione comporta costi aggiuntivi per la manutenzione dell’instanza della piattaforma dedicata, suddivisi invece nell’ambiente condiviso.

Tra i punti di attenzione più importanti abbiamo:

  1. Configurazione puntuale degli utenti della piattaforma : per avere una giusta segregazione dei dati abbiamo bisogno di configurare puntualmente le modalità di accesso alla piattaforma, configurazione che può diventare costosa specialmente se non eseguita in precedenza.
  2. Bisogna prestare attenzione alle applicazioni preesistenti : gli sviluppatori devono essere formati a lavorare su una piattaforma condivisa affinché non effettuino modifiche incontrollate su elementi condivisi.

Arrivederci al prossimo articolo!

Bibliografia:

https://community.appian.com/w/the-appian-playbook/895/when-to-consider-exceptions-to-an-appian-shared-environment

https://docs.appian.com/suite/help/21.4/System_Requirements.html

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *