-
Notifications
You must be signed in to change notification settings - Fork 0
/
apresentacao-uber.tex
119 lines (113 loc) · 4.58 KB
/
apresentacao-uber.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
\documentclass{beamer}
\usetheme{Berlin}
\usecolortheme{crane}
\usepackage[brazilian]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\title{Estudo de Caso da infraestrutura de banco de dados da Uber}
\author[Athos, Lais]{Athos Castro Moreno \and Lais Brazil Peixoto Macedo}
\institute{Universidade Tecnológica Federal do Paraná}
\titlegraphic{\includegraphics[scale=0.15]{utfpr-logo}}
\date{\today}
\begin{document}
\begin{frame}
\titlepage
\end{frame}
\begin{frame}
\frametitle{Introdução}
\begin{itemize}
\item Importância da internet;
\begin{itemize}
\item Dois terços das empresas no mundo tem alguma presença online;
\item A internet contribui mais para o PIB de uma nação do que a agricultura, energia e outros;
\end{itemize}
\item Arquitetura de software;
\begin{itemize}
\item Monolítico e microserviços;
\end{itemize}
\item Empresa estudada.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Microserviços}
\begin{itemize}
\item Conceito;
\item Necessidade;
\item Vantagens;
\item Desafios.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Docker}
\begin{itemize}
\item Conceito;
\item Como utilizar;
\item Vantagens.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Projeto \textit{Mezzanine} e \textit{Schemaless}}
\begin{itemize}
\item Migração do PostgreSQL para o MySQL;
\item Monolítica para microserviços;
\item Utilização do Docker com MySQL;
\item \textit{Schemaless}.
\begin{itemize}
\item Necessidade do projeto;
\item Resultados esperados;
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{\textit{Schemaless}}
O que era esperado da nova plataforma:
\begin{itemize}
\item \textit{Sharding} (capacidade de armazenar dados em vários locais diferentes);
\item Escrita \textit{append-only}, ou seja, os dados são apenas adicionados e nunca atualizados;
\item \textit{Indexes} secundários em múltiplos locais (através do \textit{sharding});
\item \textit{Buffered writes}: Se o local que um dado precisa ser gravado está lento, este dado é gravado em outro servidor disponível até a disponibilidade do primeiro acontecer.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Resultados e analise}
\begin{itemize}
\item Ferramenta GUI para gestão;
\item Sem interação direta com \textit{hosts};
\item 1500 servidores Docker e 2500 servidores MySQL;
\item Armazenamento de viagens dobrado sem \textit{downtime};
\item Melhorias em performance;
\item Utilização em outros serviços dentro da Uber.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Resultados e analise}
\begin{itemize}
\item \url{https://eng.uber.com}
\item Projeto complexo de implementação;
\item Abertura de informações corporativas;
\item Bom planejamento;
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Lições aprendidas}
\begin{itemize}
\item Sempre utilizar UUIDs;
\item Manter a camada de dados simples;
\item Irá existir uma curva de aprendizado;
\item Terminar a migração o mais rápido possível;
\item Tentativa e erro será inevitável;
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Conclusão}
\begin{itemize}
\item Importância da arquitetura de software;
\item Aplicações escaláveis;
\item Diferença entre teoria e prática.
\end{itemize}
\end{frame}
\begin{frame}
\titlepage
\end{frame}
\end{document}