From be3b1d8f91b7e9a42dee9083ee0e9ebf52bbc57f Mon Sep 17 00:00:00 2001 From: LUXEY Adrien Date: Fri, 30 Apr 2021 10:21:15 +0200 Subject: created doc/talks subfolder and added my talk and the previous one done at the wide team --- doc/20201202_talk/.gitignore | 12 - doc/20201202_talk/Makefile | 6 - doc/20201202_talk/img/Amazon-S3.jpg | Bin 45617 -> 0 bytes doc/20201202_talk/img/cloud.png | Bin 19631 -> 0 bytes doc/20201202_talk/img/consistent_hashing_1.svg | 301 --------------- doc/20201202_talk/img/consistent_hashing_2.svg | 334 ---------------- doc/20201202_talk/img/consistent_hashing_3.svg | 358 ------------------ doc/20201202_talk/img/consistent_hashing_4.svg | 377 ------------------- doc/20201202_talk/img/dc.jpg | Bin 368854 -> 0 bytes doc/20201202_talk/img/death.jpg | Bin 40176 -> 0 bytes doc/20201202_talk/img/garage_distributed.svg | 404 -------------------- doc/20201202_talk/img/garage_tables.svg | 502 ------------------------- doc/20201202_talk/img/rustacean-flat-happy.png | Bin 33061 -> 0 bytes doc/20201202_talk/img/shh.jpg | Bin 87684 -> 0 bytes doc/20201202_talk/img/sync.png | Bin 6283 -> 0 bytes doc/20201202_talk/talk.pdf | Bin 815667 -> 0 bytes doc/20201202_talk/talk.tex | 247 ------------ 17 files changed, 2541 deletions(-) delete mode 100644 doc/20201202_talk/.gitignore delete mode 100644 doc/20201202_talk/Makefile delete mode 100644 doc/20201202_talk/img/Amazon-S3.jpg delete mode 100644 doc/20201202_talk/img/cloud.png delete mode 100644 doc/20201202_talk/img/consistent_hashing_1.svg delete mode 100644 doc/20201202_talk/img/consistent_hashing_2.svg delete mode 100644 doc/20201202_talk/img/consistent_hashing_3.svg delete mode 100644 doc/20201202_talk/img/consistent_hashing_4.svg delete mode 100644 doc/20201202_talk/img/dc.jpg delete mode 100644 doc/20201202_talk/img/death.jpg delete mode 100644 doc/20201202_talk/img/garage_distributed.svg delete mode 100644 doc/20201202_talk/img/garage_tables.svg delete mode 100644 doc/20201202_talk/img/rustacean-flat-happy.png delete mode 100644 doc/20201202_talk/img/shh.jpg delete mode 100644 doc/20201202_talk/img/sync.png delete mode 100644 doc/20201202_talk/talk.pdf delete mode 100644 doc/20201202_talk/talk.tex (limited to 'doc/20201202_talk') diff --git a/doc/20201202_talk/.gitignore b/doc/20201202_talk/.gitignore deleted file mode 100644 index a5e8d18b..00000000 --- a/doc/20201202_talk/.gitignore +++ /dev/null @@ -1,12 +0,0 @@ -* - -!img - -!.gitignore -!*.svg -!*.png -!*.jpg -!*.tex -!Makefile -!.gitignore -!talk.pdf diff --git a/doc/20201202_talk/Makefile b/doc/20201202_talk/Makefile deleted file mode 100644 index 27dbf788..00000000 --- a/doc/20201202_talk/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -talk.pdf: talk.tex img/garage_distributed.pdf img/consistent_hashing_1.pdf img/consistent_hashing_2.pdf img/consistent_hashing_3.pdf img/consistent_hashing_4.pdf img/garage_tables.pdf - pdflatex talk.tex - -img/%.pdf: img/%.svg - inkscape -D -z --file=$^ --export-pdf=$@ - diff --git a/doc/20201202_talk/img/Amazon-S3.jpg b/doc/20201202_talk/img/Amazon-S3.jpg deleted file mode 100644 index a9501973..00000000 Binary files a/doc/20201202_talk/img/Amazon-S3.jpg and /dev/null differ diff --git a/doc/20201202_talk/img/cloud.png b/doc/20201202_talk/img/cloud.png deleted file mode 100644 index d95b2ae3..00000000 Binary files a/doc/20201202_talk/img/cloud.png and /dev/null differ diff --git a/doc/20201202_talk/img/consistent_hashing_1.svg b/doc/20201202_talk/img/consistent_hashing_1.svg deleted file mode 100644 index f8d24fd8..00000000 --- a/doc/20201202_talk/img/consistent_hashing_1.svg +++ /dev/null @@ -1,301 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - 1 - - - - 2 - - - - 3 - - - - 4 - - - - 5 - - - - 6 - - - - diff --git a/doc/20201202_talk/img/consistent_hashing_2.svg b/doc/20201202_talk/img/consistent_hashing_2.svg deleted file mode 100644 index 5ac8faf6..00000000 --- a/doc/20201202_talk/img/consistent_hashing_2.svg +++ /dev/null @@ -1,334 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - 1 - - - - 2 - - - - 3 - - - - 4 - - - - 5 - - - - 6 - - - - - - - - - - - - diff --git a/doc/20201202_talk/img/consistent_hashing_3.svg b/doc/20201202_talk/img/consistent_hashing_3.svg deleted file mode 100644 index fdfd3efc..00000000 --- a/doc/20201202_talk/img/consistent_hashing_3.svg +++ /dev/null @@ -1,358 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - 1 - - - - 2 - - - - 3 - - - - 4 - - - - 5 - - - - 6 - - - - - - - - - - - - - - diff --git a/doc/20201202_talk/img/consistent_hashing_4.svg b/doc/20201202_talk/img/consistent_hashing_4.svg deleted file mode 100644 index 95ed0e02..00000000 --- a/doc/20201202_talk/img/consistent_hashing_4.svg +++ /dev/null @@ -1,377 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - 1 - - - - 2 - - - - 3 - - - - 4 - - - - 5 - - - - 6 - - - - - - - - - - - - - - - - - - - diff --git a/doc/20201202_talk/img/dc.jpg b/doc/20201202_talk/img/dc.jpg deleted file mode 100644 index 52cb1e70..00000000 Binary files a/doc/20201202_talk/img/dc.jpg and /dev/null differ diff --git a/doc/20201202_talk/img/death.jpg b/doc/20201202_talk/img/death.jpg deleted file mode 100644 index 2ffa9180..00000000 Binary files a/doc/20201202_talk/img/death.jpg and /dev/null differ diff --git a/doc/20201202_talk/img/garage_distributed.svg b/doc/20201202_talk/img/garage_distributed.svg deleted file mode 100644 index 2db03626..00000000 --- a/doc/20201202_talk/img/garage_distributed.svg +++ /dev/null @@ -1,404 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/doc/20201202_talk/img/garage_tables.svg b/doc/20201202_talk/img/garage_tables.svg deleted file mode 100644 index fc3d8fc5..00000000 --- a/doc/20201202_talk/img/garage_tables.svg +++ /dev/null @@ -1,502 +0,0 @@ - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - Object - - - - - - bucket - - - - - - file path - - - - - - Version 1 - deleted - - - - - - - Version 2 - id - - size - MIME type - ... - - - - - - Version - - id - h(block 1) - h(block 2) - ... - - - - - Data block - - hash - data - - - - Objects table - Versions table - Blocks table - - diff --git a/doc/20201202_talk/img/rustacean-flat-happy.png b/doc/20201202_talk/img/rustacean-flat-happy.png deleted file mode 100644 index ebce1a14..00000000 Binary files a/doc/20201202_talk/img/rustacean-flat-happy.png and /dev/null differ diff --git a/doc/20201202_talk/img/shh.jpg b/doc/20201202_talk/img/shh.jpg deleted file mode 100644 index ad4689ce..00000000 Binary files a/doc/20201202_talk/img/shh.jpg and /dev/null differ diff --git a/doc/20201202_talk/img/sync.png b/doc/20201202_talk/img/sync.png deleted file mode 100644 index d0404996..00000000 Binary files a/doc/20201202_talk/img/sync.png and /dev/null differ diff --git a/doc/20201202_talk/talk.pdf b/doc/20201202_talk/talk.pdf deleted file mode 100644 index b27eca29..00000000 Binary files a/doc/20201202_talk/talk.pdf and /dev/null differ diff --git a/doc/20201202_talk/talk.tex b/doc/20201202_talk/talk.tex deleted file mode 100644 index 1acda842..00000000 --- a/doc/20201202_talk/talk.tex +++ /dev/null @@ -1,247 +0,0 @@ -%\nonstopmode -\documentclass[aspectratio=169]{beamer} -\usepackage[utf8]{inputenc} -% \usepackage[frenchb]{babel} -\usepackage{amsmath} -\usepackage{mathtools} -\usepackage{breqn} -\usepackage{multirow} -\usetheme{Luebeck} -\usepackage{graphicx} -%\useoutertheme[footline=authortitle,subsection=false]{miniframes} - -\beamertemplatenavigationsymbolsempty -\setbeamertemplate{footline} -{% - \leavevmode% - \hbox{\begin{beamercolorbox}[wd=.15\paperwidth,ht=2.5ex,dp=1.125ex,leftskip=.3cm,rightskip=.3cm plus1fill]{author in head/foot}% - \usebeamerfont{author in head/foot} \insertframenumber{} / \inserttotalframenumber - \end{beamercolorbox}% - \begin{beamercolorbox}[wd=.2\paperwidth,ht=2.5ex,dp=1.125ex,leftskip=.3cm plus1fill,rightskip=.3cm]{author in head/foot}% - \usebeamerfont{author in head/foot}\insertshortauthor - \end{beamercolorbox}% - \begin{beamercolorbox}[wd=.65\paperwidth,ht=2.5ex,dp=1.125ex,leftskip=.3cm,rightskip=.3cm plus1fil]{title in head/foot}% - \usebeamerfont{title in head/foot}\insertshorttitle~--~\insertshortdate - \end{beamercolorbox}}% - \vskip0pt% -} - -\usepackage{tabu} -\usepackage{multicol} -\usepackage{vwcol} -\usepackage{stmaryrd} -\usepackage{graphicx} - -\usepackage[normalem]{ulem} - -\title[Garage : jouer dans la cour des grands quand on est un hébergeur associatif]{Garage : jouer dans la cour des grands \\quand on est un hébergeur associatif} -\subtitle{(ou pourquoi on a décidé de réinventer la roue)} -\author[Q. Dufour \& A. Auvolat]{Quentin Dufour \& Alex Auvolat} -\date[02/12/2020]{Mercredi 2 décembre 2020} - -\begin{document} - -\begin{frame} - \titlepage -\end{frame} - -\begin{frame} - \frametitle{La question qui tue} - - \begin{center} - \includegraphics[scale=3]{img/sync.png} \\ - \Huge Pourquoi vous n'hébergez pas vos fichiers chez vous ? \\ - \end{center} - -\end{frame} - -\begin{frame}[t] - \frametitle{La cour des grands} - - \begin{columns}[t] - \begin{column}{0.5\textwidth} - {\huge Le modèle du cloud...} - - \begin{center} - \includegraphics[scale=0.08]{img/cloud.png} - \end{center} - - + \underline{intégrité} : plus de perte de données - - + \underline{disponibilité} : tout le temps accessible - - + \underline{service} : rien à gérer - - \vspace{0.15cm} - \textbf{changement des comportements} - \end{column} - \pause - \begin{column}{0.5\textwidth} - {\huge ...et son prix} - - \begin{center} - \includegraphics[scale=0.07]{img/dc.jpg} - \end{center} - - - matériel couteux et polluant - - - logiciels secrets - - - gestion opaque - - \vspace{0.2cm} - \textbf{prisonnier de l'écosystème} - \end{column} - \end{columns} -\end{frame} - -\begin{frame}[t] - \frametitle{Garage l'imposteur} - - \begin{columns}[t] - \begin{column}{0.5\textwidth} - {\huge Ressemble à du cloud...} - - \begin{center} - \includegraphics[scale=0.5]{img/shh.jpg} - \end{center} - - + \underline{compatible} avec les apps existantes - - + \underline{fonctionne} avec le mobile - - + \underline{s'adapte} aux habitudes prises - - - \end{column} - - \pause - \begin{column}{0.5\textwidth} - {\huge ...fait du P2P} - - \begin{center} - \includegraphics[scale=1]{img/death.jpg} - \end{center} - - \vspace{0.4cm} - - + \underline{contrôle} de l'infrastructure - - + \underline{transparent} code libre - - + \underline{sobre} fonctionne avec de vieilles machines à la maison - \end{column} - \end{columns} - -\end{frame} - - -\graphicspath{{img/}} - -\begin{frame} - \frametitle{Mais donc, c'est quoi Garage ?} - - \begin{columns}[t] - \begin{column}{0.5\textwidth} - \centering - \textbf{Un système de stockage distribué} - \vspace{1em} - - \includegraphics[width=.7\columnwidth]{img/garage_distributed.pdf} - \end{column} - \pause - - \begin{column}{0.5\textwidth} - \centering - \textbf{qui implémente l'API S3} - \vspace{2em} - - \includegraphics[width=.7\columnwidth]{img/Amazon-S3.jpg} - \end{column} - \end{columns} -\end{frame} - -\begin{frame} - \frametitle{Consistent Hashing (DynamoDB)} - \textbf{Comment répartir les fichiers sur les différentes machines ?} - \vspace{1em} - - \centering - - \only<1>{\includegraphics[width=.55\columnwidth]{img/consistent_hashing_1.pdf}}% - \only<2>{\includegraphics[width=.55\columnwidth]{img/consistent_hashing_2.pdf}}% - \only<3>{\includegraphics[width=.55\columnwidth]{img/consistent_hashing_3.pdf}}% - \only<4>{\includegraphics[width=.55\columnwidth]{img/consistent_hashing_4.pdf}}% -\end{frame} - -\begin{frame} - \frametitle{Garage Internals : 3 niveaux de consistent hashing} - \centering - \includegraphics[width=.85\columnwidth]{img/garage_tables.pdf} -\end{frame} - -\begin{frame} - \frametitle{Modèles de cohérence} - Garage utilise un modèle de cohérence relativement faible : - \vspace{1em} - - \begin{itemize} - \item Objets répliqués 3 fois, quorum de 2 pour les lectures et les écritures\\ - $\to$ cohérence \textbf{``read your writes''} - \vspace{1em} - \item<2-> Types de donnée CRDT + mécanisme d'anti-entropie\\ - $\to$ cohérence \textbf{à terme} (eventual consistency) - \vspace{1em} - \item<3-> Cela s'applique pour chaque fichier individuellement :\\ - pas de linéarisabilté ou de cohérence causale entre les opérations\\ - sur des fichiers différents - \vspace{1em} - \item<4-> \textbf{Avantage :} convient bien à un déploiement géodistribué (multi-datacenter) - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Rust : retour d'expérience} - - \begin{columns} - \begin{column}{0.55\textwidth} - Garage est entièrement écrit en Rust ! - \vspace{2em} - - \textbf{Points forts :} - \vspace{.5em} - \begin{itemize} - \item Langage compilé, très rapide - \vspace{.5em} - \item Typage fort, beaucoup de sécurités - \vspace{.5em} - \item Le meilleur de plusieurs paradigmes: - fonctionnel, orienté objet, impératif - \vspace{.5em} - \item Un écosytème de librairies très complet: - serialisation, async/await, http, ... - \end{itemize} - \end{column} - - \begin{column}{0.45\textwidth} - \begin{centering} - \hspace{2em}\includegraphics[width=0.55\columnwidth]{img/rustacean-flat-happy.png} - \end{centering} - - \vspace{2em} - \textbf{Points faibles :} - \vspace{.5em} - \begin{itemize} - \item Les temps de compilation... - \vspace{.5em} - \item Compliqué à apprendre - \end{itemize} - \vspace{2em} - \end{column} - \end{columns} - -\end{frame} - -\end{document} - -%% vim: set ts=4 sw=4 tw=0 noet spelllang=fr : -- cgit v1.2.3