Skip to content

Files

Latest commit

1f69d73 · May 26, 2020

History

History

environments

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

Ambienti di esecuzione del corso di Architettura dei Sistemi Software

Questa sezione del repository contiene il codice (infrastructure-as-code) di alcuni ambienti di esecuzione distribuiti virtuali. Ogni sottosezione (sottocartella) è relativa a un diverso ambiente di esecuzione.

Attualmente non sono presenti tutti gli ambienti. Verranno aggiunti a questo repository durante lo svolgimento del corso.

Questi ambienti di esecuzione possono essere utilizzati per eseguire i progetti delle applicazioni distribuite definiti nella cartella projects/ del repository.

Preparazione

Per usare delle versioni più recenti del software di sviluppo (come JDK e Gradle) potrebbe essere necessario modificare le prime righe dei relativi script di installazione (ad esempio, asw/shared/scripts/setup-gradle.sh per Gradle), indicando il numero della versione da utilizzare.

Utilizzo degli ambienti di esecuzione

Ogni ambiente di esecuzione è composto da uno o più macchine virtuali, collegate in una rete privata.

Ogni ambiente è rappresentato da una diversa cartella di questa sezione del repository. Si veda il file README.md di una cartella per la descrizione del relativo ambiente.

Gli ambienti vengono creati con Vagrant, e possono essere tutti gestiti allo stesso modo.

Per gestire un ambiente bisogna:

  1. usare una shell (per esempio, Git) del proprio PC

  2. posizionarsi nella cartella dell'ambiente di interesse (ad esempio, asw/environments/developer)

  3. per avviare o creare l'ambiente di esecuzione, usare il comando vagrant up

  4. per collegarsi con SSH a una macchina virtuale VM dell'ambiente, usare il comando vagrant ssh VM

E' anche possibile:

  • arrestare l'ambiente di esecuzione, con il comando vagrant halt

  • distruggere l'ambiente di esecuzione, con il comando vagrant destroy -f

Ambienti

  • developer: per la compilazione e l'assemblaggio (build) dei progetti definiti nella cartella projects/ del repository, nonché per l'esecuzione di semplici applicazioni Java; i progetti (in questo e, anche negli altri ambienti) potranno essere trovati nella cartella /home/asw/projects/ oppure nella cartella projects/ dell'utente di default

  • workstation: un ambiente alternativo a developer per la compilazione e l'assemblaggio (build) dei progetti e per la loro esecuzione; rispetto a developer ha una configurazione più potente in termini di memoria e processore (dunque richiede maggiori risorse nel computer host), per consentire anche l'esecuzione concorrente di molteplici applicazioni; inoltre, ha anche Docker oltre al software di sviluppo per Java

  • kube-cluster: un ambiente costituito da un cluster di nodi Kubernetes più un nodo per la compilazione dei progetti e per la costruzione delle immagini dei contenitori Docker; richiede notevoli risorse nel computer host