-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChapter_06.tex
16 lines (15 loc) · 3.01 KB
/
Chapter_06.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
\chapter{Conclusion}\label{cha:conclusions}
Writing scalable applications is writing with credit of effort that will pay back when the applications grow. The price may be high and it is important to keep balance between the effort of making the application scalable with the progress of development. Google App Engine used in the present thesis has provided a wonderful sandbox for experiments as well as, eventually, the development of application called SmartNotes. The advantage of the infrastructure provided by Google added to the experience a truly practical value. As a matter of fact, Google has built infrastructure elements exposed to wide usage by Google App Engine, with harmony of gradual growth.
Conclusions will be presented by summarizing the completion of aims set in Chapter~\ref{sec:Introduction} each at a time:
\begin{itemize}
\item{\textbf{Clarify the scalability term.} Section~\ref{sec:scalability} pointed central problems regarding the understanding the term of scalability, as well as it presented an accessible definition.}
\item{\textbf{Write a Python application with scalability in mind.} The fundamental idea of application has been shaped by research done for similar projects and available tools that could be utilized for implementation. These were presented in Chapter~\ref{sec:related_work}. Sections~\ref{subsec:scalability_on_gae} and~\ref{sec:hg_on_gae} were uncovering some of SmartNotes' implementation details with special attention paid to scalability. Then, the application presented in Chapter~\ref{chap:eval} reached a functional state but still further development will be continued.}
\item{\textbf{Form best practice for writing scalable applications.} Using the experience of professional Google App Engine developers \cite{gae_best_practices, mike_malone_quote} the author can state the following points that have helped to reach the SmartNotes scalability guidelines:
\begin{itemize}
\item{Cashing. This technique might have a double positive effect on the system once improving system performance by shortening the response times twice thus allowing to reduce the number of reads and writes. Therefore, it is a way to reduce data contention generated by high rate writes to the system.}
\item{Data sharing. Data sharing proves to be a frequent case when not entire data is necessary to be editable to the users. The application should become designed in a way that allows to optimally fit the needs, the same regarding writes allowing to bypass the bottleneck of writing to single point.}
\item{Minimizing excess code overhead. Performance-critical system elements should use especially well-suited tools. While flexibility is generally desirable, the fundaments should be rather more solid realizing only destined tasks.}
\item{Entire system concept. Even the subsystems designed in the most effective way will fail to be useful or deliver required parameters if they cannot cooperate well together. Therefore, a complete system vision remains absolutely necessary for the success of the project.}
\end{itemize}
}
\end{itemize}