feat: update bibliography with new references and enhance Docker section in Tesi.tex
All checks were successful
Build LaTeX Document / build_latex (push) Successful in 2m55s
All checks were successful
Build LaTeX Document / build_latex (push) Successful in 2m55s
This commit is contained in:
50
Tesi.tex
50
Tesi.tex
@@ -595,14 +595,14 @@ Perciò abbiamo deciso di creare un sistema di test automatizzato che possa ripr
|
||||
Per verificare le affermazioni degli sviluppatori di PeerTube, abbiamo deciso di:
|
||||
|
||||
\begin{itemize}
|
||||
\item Creare un'automazione per riprodurre i test descritti nell'articolo
|
||||
\item Creare un'automazione per riprodurre indipendentemente i test descritti nell'articolo
|
||||
\item Raccogliere metriche più dettagliate rispetto a quelle presentate nell'articolo originale
|
||||
\item Analizzare aspetti non considerati, come latenza, qualità dell'esperienza utente e comportamento in condizioni di rete non ideali
|
||||
\item Analizzare i dati raccolti per valutare le prestazioni del sistema P2P di PeerTube
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Stack tecnologico per i test}
|
||||
|
||||
Per i nostri test abbiamo utilizzato:
|
||||
Per i nostri test abbiamo utilizzato una combinazione di tecnologie open source per creare un sistema di test automatizzato che sfrutta le seguenti tecnologie:
|
||||
|
||||
\begin{itemize}
|
||||
\item \textbf{Docker}: Per creare ambienti isolati e facilmente riproducibili
|
||||
@@ -610,10 +610,51 @@ Per i nostri test abbiamo utilizzato:
|
||||
\item \textbf{MongoDB}: Per l'archiviazione strutturata dei dati raccolti
|
||||
\item \textbf{Python}: Come linguaggio principale per l'automazione
|
||||
\item \textbf{Selenium}: Per simulare browser reali che guardano lo stream
|
||||
\item \textbf{webrtc-internals-exporter}: Per raccogliere metriche dettagliate sulle connessioni WebRTC
|
||||
\item \textbf{webrtc-internals-exporter}: Una estensione del browser creata per raccogliere metriche dettagliate sulle connessioni WebRTC
|
||||
\item \textbf{Hetzner Cloud}: Per distribuire i test su macchine virtuali in diverse regioni geografiche
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Docker}
|
||||
|
||||
Docker è una piattaforma open source che semplifica la creazione, la distribuzione e l'esecuzione di applicazioni in contenitori. I contenitori Docker sono degli ambienti isolati che simulano un sistema operativo completo, come le macchine virtuali, consentendo di eseguire applicazioni in modo consistente su qualsiasi ambiente.
|
||||
|
||||
La differeneza tra docker e una macchina virtuale è che i container Docker condividono il kernel del sistema operativo host, riducendo l'overhead e migliorando le prestazioni, senza dover ricorrere ad un `Hypervisor' per la virtualizzazione.
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[width=350pt]{images/docker-engine.png}
|
||||
\caption{Docker Engine.}
|
||||
\end{figure}
|
||||
|
||||
In se Docker è composto da 4 componenti principali:
|
||||
\begin{itemize}
|
||||
\item \textbf{Docker Engine}: Il core del sistema, responsabile della creazione e gestione dei container nonché il pricesso demone eseguito sulla macchina host. Fornisce l'accesso a tutte le funzionalità e i
|
||||
servizi messi a disposizione da Docker. Mette a disposizione un insieme di comandi per la gestione dei container, delle immagini e dei volumi.
|
||||
\item \textbf{Docker Client}: Interfaccia da riga di comando e `API' per interagire con Docker Engine.
|
||||
\item \textbf{Docker Image}: Un `template' di sola lettura che contiene e definisce i parametri di una applicazione da eseguire in un container a runtime. Le immagini vengono create e organizzate per livelli `stateless' e immutabil.
|
||||
\item \textbf{Docker Container}: Un'istanza in esecuzione di un'immagine Docker. Un container è un ambiente isolato che esegue un'applicazione specifica e include tutto il necessario per eseguire l'applicazione, come il codice, le librerie, le variabili d'ambiente e le dipendenze. Il `filesystem' del container è l'ultimo livello che viene aggiunto al quale vi è possibile accedere sia in lettura che in scrittura. I contenitori, inoltre, possono essere associati a dei volumi per la persistenza dei dati, i quali fornisono un metodo semplice e immediato per condivuidere dati tra i container e l'host.\\La comunicazione tra container avviene tramite la creazione di `network' o reti separate che vengono connesse ai singoli container, abilitando così una sorta di LAN interna tra un insieme di container. Per far, invece, comunicare i container con il mondo esterno bisogna invece utilizzare i `port mapping' tra una porta della macchina host e una porta del container.
|
||||
\end{itemize}
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[width=200pt]{images/0_ukWqRD74ltfb5Uaz.png}
|
||||
\caption{Docker Overview.}
|
||||
\end{figure}
|
||||
|
||||
Approfondendo il discordo del `networking', Docker mette a disposizione varti tipi di `network' per la comunicazione tra container, i 3 principali sono:
|
||||
\begin{itemize}
|
||||
\item \textbf{Bridge}: È il `network' di default che viene creato quando si installa Docker. I container connessi a questo `network' possono comunicare tra loro e con il host, ma non possono comunicare con i container in altri `network'.
|
||||
\item \textbf{Host}: I container connessi a questo `network' condividono la rete dell'host, quindi non hanno bisogno di fare il `port mapping' per comunicare con il mondo esterno.
|
||||
\item \textbf{None}: I container connessi a questo `network' non hanno accesso alla rete, quindi non possono comunicare con altri container o con l'esterno.
|
||||
\end{itemize}
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[width=\textwidth]{images/Docker-network-1.png}
|
||||
\caption{Docker Networking.}
|
||||
\end{figure}
|
||||
\cite{AzureFunctions} \cite{geeksforgeeksContainerizationUsing} \cite{geeksforgeeksDockerNetworking}
|
||||
|
||||
\subsection{Architettura del sistema di test}
|
||||
|
||||
Il nostro sistema di test è composto da:
|
||||
@@ -665,6 +706,7 @@ Per ciascuno scenario, abbiamo variato il numero di spettatori (10, 30, 50, 100)
|
||||
|
||||
\nocite{*}
|
||||
\printbibliography
|
||||
\sloppy
|
||||
\addcontentsline{toc}{chapter}{Bibliografia}
|
||||
|
||||
\end{document}
|
Reference in New Issue
Block a user