diff --git a/docs/latex/references.bib b/docs/latex/references.bib
index 9d425d86284d7a66ff9561668527d2375c0c6870..7b7bf2e88419fed2f12eed25055aa15a555a1904 100644
--- a/docs/latex/references.bib
+++ b/docs/latex/references.bib
@@ -47,7 +47,19 @@ note = {Accessed: 2019-06-20}
  isbn = {1491941200, 9781491941201},
  edition = {1st},
  publisher = {O'Reilly Media, Inc.}
-} 
+}
+
+@InBook{openstack-idm-book-1,
+ author = {Martinelli, Steve and Nash, Henry and Topol, Brad},
+ title = {Identity, Authentication, and Access Management in OpenStack: Implementing and Deploying Keystone},
+ year = {2015},
+ edition = {1st},
+ isbn = {1491941200, 9781491941201},
+ chapter = {1 Fundamental Keystone Topics},
+ pages = {13},
+ publisher = {O'Reilly Media, Inc.}
+}
+
 
 @InBook{openstack-deploying-book,
  author = {Pepple, Ken},
@@ -238,6 +250,43 @@ howpublished = {\url{https://www.openstack.org/marketplace/distros/}},
 note = {Accessed: 2019-07-05}
 }
 
+@Misc{openstack-nova-architecture,
+title = {{Nova System Architecture}},
+author = {{Openstack}},
+howpublished = {\url{https://docs.openstack.org/nova/latest/user/architecture.html}},
+note = {Accessed: 2019-07-05}
+}
+
+@Misc{openstack-glance-architecture,
+title = {{Basic architecture}},
+author = {{Openstack}},
+howpublished = {\url{https://docs.openstack.org/glance/queens/contributor/architecture.html}},
+note = {Accessed: 2019-07-05}
+}
+
+@Misc{openstack-container-networking,
+title = {{Container networking}},
+author = {{Openstack}},
+howpublished = {\url{https://docs.openstack.org/openstack-ansible/rocky/reference/architecture/container-networking.html}},
+note = {Accessed: 2019-07-05}
+}
+
+@Misc{openstack-networking-architecture,
+title = {{Network architectures}},
+author = {{Openstack}},
+howpublished = {\url{https://docs.openstack.org/openstack-ansible/stein/user/network-arch/example.html}},
+note = {Accessed: 2019-07-05}
+}
+
+@Misc{openstack-container-networking,
+title = {{Appendix E: Container networking}},
+author = {{Openstack}},
+howpublished = {\url{https://docs.openstack.org/project-deploy-guide/openstack-ansible/ocata/app-networking.html#network-diagrams}},
+note = {Accessed: 2019-07-05}
+}
+
+
+
 @Misc{openstack-selinux-fix-1,
 title = {{AIO Build Fails on SELinux File Context Tasks}},
 author = {{Openstack}},
@@ -287,6 +336,13 @@ howpublished = {\url{https://access.redhat.com/documentation/en-US/Red_Hat_Enter
 note = {Accessed: 2019-06-20}
 }
 
+@Misc{redhat-cinder,
+title = {{Openstack Block Storage (Cinder)}},
+author = {{Red Hat}},
+howpublished = {\url{https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux_OpenStack_Platform/6/html/Component_Overview/section-blockStorage.html}},
+note = {Accessed: 2019-06-20}
+}
+
 @Misc{arch-lxc,
 title = {{Linux Containers}},
 author = {{ArchLinux}},
diff --git a/docs/latex/report.pdf b/docs/latex/report.pdf
index e2f7302f97050263c52d5a1bab2b6bff1566d5dc..9c6ea17c669cc3963ec2391e362f3dec00a3afe3 100644
Binary files a/docs/latex/report.pdf and b/docs/latex/report.pdf differ
diff --git a/docs/latex/report.tex b/docs/latex/report.tex
index 29ceeb11f703df14a12af8067a6e327fad7454b5..a66eadb250d50992831e2d69ff9d51157d374c62 100644
--- a/docs/latex/report.tex
+++ b/docs/latex/report.tex
@@ -99,7 +99,7 @@ La implementación de esta tecnología se da mediante los denominados \textbf{hi
 \begin{figure}[H]
 	\centering
 		\includegraphics[width=0.4\columnwidth]{hypervisors}
-	\caption{Hipervisores}
+	\caption{Hipervisores. Extraída de \cite{redhat-virtualization}.}
 	\label{hiper}
 \end{figure}
 
@@ -119,7 +119,7 @@ Si bien tanto contenedores como máquinas virtuales tienen como fin aislar y com
 \begin{figure}[H]
 	\centering
 		\includegraphics[width=0.8\columnwidth]{containers}
-	\caption{Virtualización vs Contenerización}
+	\caption{Virtualización vs Contenerización. Extraída de \cite{redhat-lxc}.}
 	\label{containers}
 \end{figure}
 
@@ -189,7 +189,7 @@ Keystone es el servicio de identidad que utiliza Openstack para la autenticació
 \begin{figure}[H]
 	\centering
 		\includegraphics[width=1.0\columnwidth]{keystone}
-	\caption{Servicios y backends soportados por Keystone}
+	\caption{Servicios y backends soportados por Keystone. Extraída de \cite{openstack-idm-book-1}.}
 	\label{keystone}
 \end{figure}
 
@@ -225,7 +225,7 @@ Un dato relevante sobre los componentes de nova es que pueden ser escalados hori
 \begin{figure}[H]
 	\centering
 		\includegraphics[width=1.0\columnwidth]{nova}
-	\caption{Principales componentes de Nova}
+	\caption{Principales componentes de Nova. Extraída de \cite{openstack-nova-architecture}.}
 	\label{nova}
 \end{figure}
 
@@ -257,7 +257,7 @@ Este servicio se presenta como una API REST que se encarga de realizar un seguim
 \begin{figure}[H]
 	\centering
 		\includegraphics[width=0.9\columnwidth]{neutron}
-	\caption{Arquitectura de Neutron}
+	\caption{Arquitectura de Neutron. Extraída de \cite{openstack-networking-book-1}.}
 	\label{neutron}
 \end{figure}
 
@@ -303,7 +303,7 @@ La implementación del servicio Glance se basa en una arquitectura cliente-servi
 \begin{figure}[H]
 	\centering
 		\includegraphics[width=0.9\columnwidth]{glance}
-	\caption{Componentes del módulo Glance}
+	\caption{Componentes del módulo Glance. Extraída de \cite{openstack-glance-architecture}.}
 	\label{glance}
 \end{figure}
 
@@ -321,7 +321,7 @@ Cuando se lanza una VM, en general y a grandes rasgos se llevan a cabo los sigui
 \begin{figure}[H]
 	\centering
 		\includegraphics[width=0.8\columnwidth]{glance2}
-	\caption{}
+	\caption{Extraída de \cite{openstack-images-instances}.}
 	\label{glance2}
 \end{figure}
 
@@ -356,7 +356,7 @@ A continuación se muestra la arquitectura de alto nivel de los componentes de C
 \begin{figure}[H]
 	\centering
 		\includegraphics[width=0.8\columnwidth]{cinder}
-	\caption{Principales componentes de Cinder}
+	\caption{Principales componentes de Cinder. Extraído de \cite{redhat-cinder}.}
 	\label{cinder}
 \end{figure}
 
@@ -385,7 +385,7 @@ La siguiente imagen ilustra la arquitectura del servicio Swift, en la cual se pu
 \begin{figure}[H]
 	\centering
 		\includegraphics[width=0.6\columnwidth]{swift}
-	\caption{Arquitectura del módulo Swift. Extraída de \cite{openstack-storage-components}}
+	\caption{Arquitectura del módulo Swift. Extraída de \cite{openstack-storage-components}.}
 	\label{swift}
 \end{figure}
 
@@ -470,7 +470,7 @@ El método de instalación OSA emplea LXC para desplegar los servicios de Openst
 \begin{figure}[H]
 	\centering
 		\includegraphics[width=0.6\columnwidth]{network-components}
-	\caption{Componentes de red en Openstack}
+	\caption{Componentes de red en Openstack. \cite{openstack-container-networking}.}
 	\label{network-components}
 \end{figure}
 
@@ -492,7 +492,7 @@ Como se mencionó en OSA se pueden tener diversas configuraciones dependiendo de
 \begin{figure}[H]
 	\centering
 		\includegraphics[width=1.0\columnwidth]{interfaces}
-	\caption{Diagrama de múltiples interfaces de red}
+	\caption{Diagrama de múltiples interfaces de red. Extraída de \cite{openstack-networking-architecture}.}
 	\label{interfaces}
 \end{figure}
 
@@ -501,7 +501,7 @@ En la figura \ref{interfaces} se utilizan dos interfaces simples, subdivididas m
 \begin{figure}[H]
 	\centering
 		\includegraphics[width=1.0\columnwidth]{bonded-interfaces}
-	\caption{Diagrama de bonds de múltiples interfaces de red}
+	\caption{Diagrama de bonds de múltiples interfaces de red. Extraída de \cite{openstack-networking-architecture}.}
 	\label{bonded-interfaces}
 \end{figure}
 
@@ -514,7 +514,7 @@ A continuación se presenta un diseño que ilustra servicios desplegados en cont
 \begin{figure}[H]
 	\centering
 		\includegraphics[width=1.0\columnwidth]{containers-deploy}
-	\caption{Despliegue de servicios Openstack en contenedores}
+	\caption{Despliegue de servicios Openstack en contenedores. Extraída de \cite{openstack-container-networking}.}
 	\label{containers-deploy}
 \end{figure}