-
Notifications
You must be signed in to change notification settings - Fork 0
/
storage.tex
117 lines (101 loc) · 4.69 KB
/
storage.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
\label{part_storage}
\part{Storage}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Storage}
\framesubtitle{What is storage?}
\begin{itemize}
\item In this context, "virtualized" storage
\item Place to store your data in the cloud
\item Two distinctive types of storage
\begin{description}
\item[block storage] \hfill\\
local block devices connected to
virtual machines, file system based
\item[object storage] \hfill\\
remote, network-accessible and file based
\end{description}
\item Different applications and underlying technologies
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Storage}
\framesubtitle{Block storage}
\begin{itemize}
\item Indistinguishable from ordinary physical drives
\item Connected directly to a virtual machine; emulating \textit{IDE},
\textit{SCSI} or \textit{SATA}
\item Easier to integrate and use, no need to change the application
\item Option to (dis)connect devices at runtime
\item Ideal for short-term storage (input data \& results) or caching
\item \textbf{NOT} intended for long-term storage or large
amounts of data
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Storage}
\framesubtitle{Object storage}
\begin{itemize}
\item Remote storage accessible via a management protocol
(\textit{CDMI}, \textit{S3}, Swift, \dots)
\item File-oriented approach, each file available as
an independent object
\item Ideal for mid-term to long-term storage, large
amounts of data
\item Option to share data between users or groups
(e.g. read-only public access)
\item Direct use requires support in applications
\end{itemize}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Storage}
\framesubtitle{Examples I.}
\begin{description}
\item[Problem] My application works with a considerable amount of disposable data. Read/write random access to files is required.
\item[Solution] Use on-the-fly created block storage. It's designed to accommodate random read/write access to files. Your data
is disposable by nature, there is no need to move it somewhere at the end of virtual machine's life-cycle.
\end{description}
\hfill \\
\begin{description}
\item[Problem] My application works with structured data in a database. Data is persistent by nature.
\item[Solution] Use persistent block storage. Configure the database to store its data files in a separately mounted block device.
\end{description}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Storage}
\framesubtitle{Examples II.}
\begin{description}
\item[Problem] My application requires a large read-only data set. Data is the same across multiple instances and
organized into a smaller number of large files. Random access is not required. Small parts of the data set
are needed for specific actions.
\item[Solution] Use object storage to eliminate data duplication. Keep images small. On-demand access to data for every instance.
\end{description}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Storage}
\framesubtitle{Examples III.}
\begin{description}
\item[Problem] I need to store the results of my computation and possibly share them with my colleagues. Data should be stored
for a longer period of time and still accessible.
\item[Solution] Use object storage. After your computation is finished, store the resulting files and terminate all running instances.
\end{description}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Storage}
\framesubtitle{Examples IV.}
\begin{description}
\item[Problem] I have a complex application requiring a random read/write access to a large data set. Changes are disposable
by nature. Results are stored separately. A single "run" takes a long time.
\item[Solution] Use a combination of block and object storage. Start instances with larger amounts of local block storage,
pull data from object storage and cache it locally. Store results in object storage after you are done.
\end{description}
\end{frame}
%%% Local Variables:
%%% TeX-master: "2014-05-23_Best_Practices"
%%% End: