From 5ebb3a4ae5e832be5c518f4c150df00ef0546841 Mon Sep 17 00:00:00 2001 From: Alex Auvolat Date: Wed, 22 Jun 2022 17:55:13 +0200 Subject: Most things done for stack talk --- doc/talks/2022-06-23-stack/talk.tex | 155 +++++++++++++++++++++++++++++------- 1 file changed, 128 insertions(+), 27 deletions(-) (limited to 'doc/talks/2022-06-23-stack/talk.tex') diff --git a/doc/talks/2022-06-23-stack/talk.tex b/doc/talks/2022-06-23-stack/talk.tex index b9e034d4..206af43a 100644 --- a/doc/talks/2022-06-23-stack/talk.tex +++ b/doc/talks/2022-06-23-stack/talk.tex @@ -8,6 +8,7 @@ \usepackage{multirow} \usetheme{boxes} \usepackage{graphicx} +\usepackage{adjustbox} %\useoutertheme[footline=authortitle,subsection=false]{miniframes} %\useoutertheme[footline=authorinstitute,subsection=false]{miniframes} \useoutertheme{infolines} @@ -54,6 +55,56 @@ Matrix channel: \texttt{\#garage:deuxfleurs.fr} \end{frame} +\begin{frame} + \frametitle{Who we are} + \begin{columns}[t] + \begin{column}{.2\textwidth} + \centering + \adjincludegraphics[width=.4\linewidth, valign=t]{assets/alex.jpg} + \end{column} + \begin{column}{.6\textwidth} + \textbf{Alex Auvolat}\\ + PhD at Inria, team WIDE; co-founder of Deuxfleurs + \end{column} + \begin{column}{.2\textwidth} + ~ + \end{column} + \end{columns} + \vspace{1em} + + \begin{columns}[t] + \begin{column}{.2\textwidth} + ~ + \end{column} + \begin{column}{.6\textwidth} + \textbf{Quentin Dufour}\\ + PhD at Inria, team WIDE; co-founder of Deuxfleurs + \end{column} + \begin{column}{.2\textwidth} + \centering + \adjincludegraphics[width=.5\linewidth, valign=t]{assets/quentin.jpg} + \end{column} + \end{columns} + \vspace{2em} + + \begin{columns}[t] + \begin{column}{.2\textwidth} + \centering + \adjincludegraphics[width=.5\linewidth, valign=t]{assets/deuxfleurs.pdf} + \end{column} + \begin{column}{.6\textwidth} + \textbf{Deuxfleurs}\\ + A non-profit self-hosting collective,\\ + member of the CHATONS network + \end{column} + \begin{column}{.2\textwidth} + \centering + \adjincludegraphics[width=.7\linewidth, valign=t]{assets/logo_chatons.png} + \end{column} + \end{columns} + +\end{frame} + \begin{frame} \frametitle{Our objective at Deuxfleurs} @@ -191,6 +242,14 @@ \end{center} \end{frame} +\begin{frame} + \frametitle{Overview} + \begin{center} + \only<1>{\includegraphics[width=.45\linewidth]{assets/garage2a.drawio.pdf}}% + \only<2>{\includegraphics[width=.45\linewidth]{assets/garage2b.drawio.pdf}}% + \end{center} +\end{frame} + \begin{frame} \frametitle{Garage is \emph{location-aware}} \begin{center} @@ -271,26 +330,18 @@ } \end{frame} -\begin{frame} - \frametitle{Storing and retrieving files} - \begin{center} - \only<1>{\includegraphics[width=.45\linewidth]{assets/garage2a.drawio.pdf}}% - \only<2>{\includegraphics[width=.45\linewidth]{assets/garage2b.drawio.pdf}}% - \end{center} -\end{frame} - \begin{frame} \frametitle{Garage's internal data structures} \centering \includegraphics[width=.75\columnwidth]{assets/garage_tables.pdf} \end{frame} -\begin{frame} - \frametitle{Garage's architecture} - \begin{center} - \includegraphics[width=.35\linewidth]{assets/garage.drawio.pdf} - \end{center} -\end{frame} +%\begin{frame} +% \frametitle{Garage's architecture} +% \begin{center} +% \includegraphics[width=.35\linewidth]{assets/garage.drawio.pdf} +% \end{center} +%\end{frame} \begin{frame} \frametitle{Garage is \emph{coordination-free}:} @@ -305,13 +356,6 @@ $\to$ less sensitive to higher latencies between nodes \end{frame} -\begin{frame} - \frametitle{Impact on performances} - \begin{center} - \includegraphics[width=.8\linewidth]{assets/endpoint-latency-dc.png} - \end{center} -\end{frame} - \begin{frame} \frametitle{Consistency model} \begin{itemize} @@ -322,6 +366,13 @@ \end{itemize} \end{frame} +\begin{frame} + \frametitle{Impact on performances} + \begin{center} + \includegraphics[width=.8\linewidth]{assets/endpoint-latency-dc.png} + \end{center} +\end{frame} + \begin{frame} \frametitle{An ever-increasing compatibility list} @@ -361,16 +412,66 @@ \end{frame} \begin{frame} - \frametitle{Get Garage now!} + \frametitle{Aerogramme data model} \begin{center} - \includegraphics[width=.3\linewidth]{../../logo/garage_hires.png}\\ + \only<1>{\includegraphics[width=.4\linewidth]{assets/aerogramme_datatype.drawio.pdf}}% + \only<2->{\includegraphics[width=.9\linewidth]{assets/aerogramme_keys.drawio.pdf}\vspace{1em}}% + \end{center} + \visible<3->{Aerogramme encrypts all stored values for privacy\\ + (Garage server administrators can't read your mail)} +\end{frame} + +\begin{frame} + \frametitle{Different deployment scenarios} + \begin{center} + \only<1>{\includegraphics[width=.9\linewidth]{assets/aerogramme_components1.drawio.pdf}}% + \only<2>{\includegraphics[width=.9\linewidth]{assets/aerogramme_components2.drawio.pdf}}% + \end{center} +\end{frame} + +\begin{frame} + \frametitle{A new model for building resilient software} + \begin{itemize} + \item Design a data model suited to K2V\\ + {\footnotesize (see Cassandra docs on porting SQL data models to Cassandra)} + \vspace{1em} + \begin{itemize} + \item Use CRDTs or other eventually consistent data types (see e.g. Bayou) + \vspace{1em} + \item Store opaque binary blobs to provide End-to-End Encryption\\ + \end{itemize} + \vspace{1em} + \item Store big blobs (files) in S3 + \vspace{1em} + \item Let Garage manage sharding, replication, failover, etc. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Research perspectives} + \begin{itemize} + \item Write about Garage's global architecture \emph{(paper in progress)} + \vspace{1em} + \item Measure and improve Garage's performances + \vspace{1em} + \item Discuss the optimal layout algorithm, provide proofs + \vspace{1em} + \item Write about our proposed architecture for (E2EE) apps over K2V+S3 + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Where to find us} + \begin{center} + \includegraphics[width=.25\linewidth]{../../logo/garage_hires.png}\\ \vspace{-1em} \url{https://garagehq.deuxfleurs.fr/}\\ - Matrix channel: \texttt{\#garage:deuxfleurs.fr} + \url{mailto:garagehq@deuxfleurs.fr}\\ + \texttt{\#garage:deuxfleurs.fr} on Matrix - \vspace{2em} - \includegraphics[width=.09\linewidth]{assets/rust_logo.png} - \includegraphics[width=.2\linewidth]{assets/AGPLv3_Logo.png} + \vspace{1.5em} + \includegraphics[width=.06\linewidth]{assets/rust_logo.png} + \includegraphics[width=.13\linewidth]{assets/AGPLv3_Logo.png} \end{center} \end{frame} -- cgit v1.2.3