mirror of
https://github.com/schoebel/mars
synced 2025-03-11 07:47:41 +00:00
doc: explain scalability examples
This commit is contained in:
parent
e3c837747a
commit
3e69a70143
@ -1119,12 +1119,7 @@ name "chap:Important-Concepts"
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
This chapter is
|
||||
\emph on
|
||||
short
|
||||
\emph default
|
||||
.
|
||||
Recommended reading for
|
||||
Recommended reading for
|
||||
\emph on
|
||||
everyone
|
||||
\emph default
|
||||
@ -1197,11 +1192,11 @@ Second-order ignorance
|
||||
enterprise-critical
|
||||
\series default
|
||||
areas.
|
||||
You can also risk your
|
||||
You may also put your
|
||||
\series bold
|
||||
carreer
|
||||
\series default
|
||||
.
|
||||
in risk.
|
||||
\end_layout
|
||||
|
||||
\begin_layout Section
|
||||
@ -5867,6 +5862,37 @@ name "sec:What-is-Scalability"
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
If you know the zones from the following picture, you may skip this section:
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset VSpace defskip
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\noindent
|
||||
\align center
|
||||
\begin_inset Graphics
|
||||
filename images/principle-scalability.fig
|
||||
width 100col%
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset VSpace defskip
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\noindent
|
||||
The term
|
||||
\begin_inset Quotes eld
|
||||
\end_inset
|
||||
@ -5875,7 +5901,7 @@ scalability
|
||||
\begin_inset Quotes erd
|
||||
\end_inset
|
||||
|
||||
is
|
||||
can be
|
||||
\series bold
|
||||
\emph on
|
||||
dangerous
|
||||
@ -6223,7 +6249,7 @@ more CPUs
|
||||
\begin_inset Quotes erd
|
||||
\end_inset
|
||||
|
||||
depends on the already deployed hardware.
|
||||
depends on already deployed hardware.
|
||||
HDD or SSD addition is possible during operations, provided you have bought
|
||||
some enclosures with hot-swappable free slots.
|
||||
RAM or CPU power requires more preparations.
|
||||
@ -6340,6 +6366,48 @@ scalability
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Plain Layout
|
||||
\begin_inset Graphics
|
||||
filename images/MatieresCorrosives.png
|
||||
lyxscale 50
|
||||
scale 17
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\series bold
|
||||
Scalability isn't for free.
|
||||
|
||||
\series default
|
||||
Mixup of terms and their meaning can easily endanger your company.
|
||||
We will see an example later.
|
||||
So: what does
|
||||
\begin_inset Quotes eld
|
||||
\end_inset
|
||||
|
||||
scalability
|
||||
\begin_inset Quotes erd
|
||||
\end_inset
|
||||
|
||||
or their fuzzy marketing descendants like
|
||||
\begin_inset Quotes eld
|
||||
\end_inset
|
||||
|
||||
planet scalability
|
||||
\begin_inset Quotes erd
|
||||
\end_inset
|
||||
|
||||
|
||||
\emph on
|
||||
really
|
||||
\emph default
|
||||
mean?
|
||||
\end_layout
|
||||
|
||||
\begin_layout Plain Layout
|
||||
\noindent
|
||||
\begin_inset Graphics
|
||||
filename images/MatieresCorrosives.png
|
||||
lyxscale 50
|
||||
@ -6725,6 +6793,344 @@ prediction
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\noindent
|
||||
\begin_inset Flex Custom Color Box 2
|
||||
status open
|
||||
|
||||
\begin_layout Plain Layout
|
||||
\begin_inset Argument 1
|
||||
status open
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
\series bold
|
||||
Example: Fork Bombs and OOM Killer
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
When
|
||||
\begin_inset Quotes eld
|
||||
\end_inset
|
||||
|
||||
unlimited scalability
|
||||
\begin_inset Quotes erd
|
||||
\end_inset
|
||||
|
||||
would be possible, then it
|
||||
\emph on
|
||||
must
|
||||
\emph default
|
||||
be possible to literally
|
||||
\begin_inset Quotes eld
|
||||
\end_inset
|
||||
|
||||
run a fork bomb
|
||||
\begin_inset Foot
|
||||
status open
|
||||
|
||||
\begin_layout Plain Layout
|
||||
Besides classical attacks via fork bombs, there may exist
|
||||
\emph on
|
||||
valid use cases
|
||||
\emph default
|
||||
for your customers or websurfers for running an
|
||||
\emph on
|
||||
application
|
||||
\emph default
|
||||
which behaves
|
||||
\emph on
|
||||
similar to
|
||||
\emph default
|
||||
a fork bomb.
|
||||
Details are out of scope here.
|
||||
By ruling out such-alike
|
||||
\begin_inset Quotes eld
|
||||
\end_inset
|
||||
|
||||
applications
|
||||
\begin_inset Quotes erd
|
||||
\end_inset
|
||||
|
||||
e.g.
|
||||
via customer contract, you can avoid much of the adverse effects.
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\begin_inset Quotes erd
|
||||
\end_inset
|
||||
|
||||
on your system, whether it runs at a NUMA box providing
|
||||
\begin_inset Quotes eld
|
||||
\end_inset
|
||||
|
||||
vertical scalability
|
||||
\begin_inset Quotes erd
|
||||
\end_inset
|
||||
|
||||
, or on a BigCluster providing
|
||||
\begin_inset Quotes eld
|
||||
\end_inset
|
||||
|
||||
horizontal scalability
|
||||
\begin_inset Quotes erd
|
||||
\end_inset
|
||||
|
||||
, or any combination, or whatever else.
|
||||
\end_layout
|
||||
|
||||
\begin_layout Plain Layout
|
||||
\begin_inset Graphics
|
||||
filename images/MatieresCorrosives.png
|
||||
lyxscale 50
|
||||
scale 17
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\series bold
|
||||
Infiniteness
|
||||
\series default
|
||||
or
|
||||
\series bold
|
||||
|
||||
\begin_inset Quotes eld
|
||||
\end_inset
|
||||
|
||||
unlimited
|
||||
\begin_inset Quotes erd
|
||||
\end_inset
|
||||
|
||||
|
||||
\series default
|
||||
is a
|
||||
\emph on
|
||||
very bold claim
|
||||
\emph default
|
||||
.
|
||||
Do not promise suchalike.
|
||||
Otherwise, you may need to explain why something does not work as expected,
|
||||
e.g.
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Itemize
|
||||
when your
|
||||
\series bold
|
||||
Linux kernel
|
||||
\series default
|
||||
reacts with customer-visible major slowdown, or with OOM Killer = Out Of
|
||||
Memory Killer), and/or
|
||||
\end_layout
|
||||
|
||||
\begin_layout Itemize
|
||||
when your
|
||||
\series bold
|
||||
BigCluster
|
||||
\series default
|
||||
is very quickly running out of capacity, and/or
|
||||
\end_layout
|
||||
|
||||
\begin_layout Itemize
|
||||
when your
|
||||
\series bold
|
||||
network
|
||||
\series default
|
||||
is running out of capacity, and/or
|
||||
\end_layout
|
||||
|
||||
\begin_layout Itemize
|
||||
when your
|
||||
\series bold
|
||||
budget
|
||||
\series default
|
||||
is running out of capacity, and/or
|
||||
\end_layout
|
||||
|
||||
\begin_layout Itemize
|
||||
when your customers can
|
||||
\series bold
|
||||
sue
|
||||
\series default
|
||||
you for unmet contracts, and/or
|
||||
\end_layout
|
||||
|
||||
\begin_layout Itemize
|
||||
other
|
||||
\series bold
|
||||
relevant topics
|
||||
\series default
|
||||
.
|
||||
\end_layout
|
||||
|
||||
\begin_layout Plain Layout
|
||||
Consequence: you might be forced to admit that
|
||||
\begin_inset Quotes eld
|
||||
\end_inset
|
||||
|
||||
arbitrary scalability
|
||||
\begin_inset Quotes erd
|
||||
\end_inset
|
||||
|
||||
or
|
||||
\begin_inset Quotes eld
|
||||
\end_inset
|
||||
|
||||
planet scalability
|
||||
\begin_inset Quotes erd
|
||||
\end_inset
|
||||
|
||||
(or whatever you name it)
|
||||
\emph on
|
||||
cannot exist
|
||||
\emph default
|
||||
.
|
||||
\end_layout
|
||||
|
||||
\begin_layout Plain Layout
|
||||
\noindent
|
||||
\begin_inset Graphics
|
||||
filename images/MatieresCorrosives.png
|
||||
lyxscale 50
|
||||
scale 17
|
||||
|
||||
\end_inset
|
||||
|
||||
Another type of boldness: do not argue at
|
||||
\emph on
|
||||
architectural layer
|
||||
\emph default
|
||||
that one of the above
|
||||
\emph on
|
||||
examples
|
||||
\emph default
|
||||
(e.g.
|
||||
an OOM killer) would
|
||||
\begin_inset Quotes eld
|
||||
\end_inset
|
||||
|
||||
show
|
||||
\begin_inset Quotes erd
|
||||
\end_inset
|
||||
|
||||
that
|
||||
\begin_inset Quotes eld
|
||||
\end_inset
|
||||
|
||||
horizontal scaling
|
||||
\begin_inset Quotes erd
|
||||
\end_inset
|
||||
|
||||
would be better than
|
||||
\begin_inset Quotes eld
|
||||
\end_inset
|
||||
|
||||
vertical scaling
|
||||
\begin_inset Quotes erd
|
||||
\end_inset
|
||||
|
||||
, or would even
|
||||
\begin_inset Quotes eld
|
||||
\end_inset
|
||||
|
||||
prove
|
||||
\begin_inset Quotes erd
|
||||
\end_inset
|
||||
|
||||
the opposite, etc.
|
||||
It is simply
|
||||
\emph on
|
||||
unfair
|
||||
\emph default
|
||||
to compare
|
||||
\emph on
|
||||
incomparable
|
||||
\begin_inset Foot
|
||||
status open
|
||||
|
||||
\begin_layout Plain Layout
|
||||
Even some more or less
|
||||
\begin_inset Quotes eld
|
||||
\end_inset
|
||||
|
||||
comparable
|
||||
\begin_inset Quotes erd
|
||||
\end_inset
|
||||
|
||||
solutions like
|
||||
\family typewriter
|
||||
nginx
|
||||
\family default
|
||||
vs
|
||||
\family typewriter
|
||||
Apache
|
||||
\family default
|
||||
, or mismatches like solutions vs solution
|
||||
\emph on
|
||||
classes
|
||||
\emph default
|
||||
like Docker-based
|
||||
\family typewriter
|
||||
AppEngine
|
||||
\family default
|
||||
s vs
|
||||
\emph on
|
||||
whatever
|
||||
\emph default
|
||||
, should not be used for an
|
||||
\emph on
|
||||
architectural
|
||||
\emph default
|
||||
argumentation.
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
solutions
|
||||
\emph default
|
||||
with each other, e.g.
|
||||
by presenting
|
||||
\emph on
|
||||
examples
|
||||
\emph default
|
||||
of some operational incidents, or similar.
|
||||
\end_layout
|
||||
|
||||
\begin_layout Plain Layout
|
||||
\noindent
|
||||
\begin_inset Graphics
|
||||
filename images/lightbulb_brightlit_benj_.png
|
||||
lyxscale 9
|
||||
scale 5
|
||||
|
||||
\end_inset
|
||||
|
||||
Always take
|
||||
\series bold
|
||||
important given context
|
||||
\series default
|
||||
(like the use case, your workload, etc) into account, as well as
|
||||
\series bold
|
||||
all relevant parameters
|
||||
\series default
|
||||
like TCO etc.
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset VSpace defskip
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
@ -6796,7 +7202,7 @@ generic information
|
||||
|
||||
\begin_layout Standard
|
||||
\noindent
|
||||
Here is a picture of the important
|
||||
Once again, here is the picture of the important
|
||||
\series bold
|
||||
Zones of Scalability
|
||||
\series default
|
||||
|
@ -1,4 +1,4 @@
|
||||
#FIG 3.2 Produced by xfig version 3.2.8a
|
||||
#FIG 3.2 Produced by xfig version 3.2.7a
|
||||
Landscape
|
||||
Center
|
||||
Metric
|
||||
@ -19,18 +19,21 @@ Single
|
||||
4725 675 4725 2475
|
||||
2 1 1 4 20 7 50 -1 -1 4.000 0 0 -1 0 0 2
|
||||
2475 675 2475 2475
|
||||
3 2 0 3 0 7 50 -1 -1 0.000 0 1 0 9
|
||||
3 2 0 3 0 7 50 -1 -1 0.000 0 1 0 8
|
||||
0 0 1.00 60.00 120.00
|
||||
450 2475 900 2025 1800 1125 2160 945 2475 900 3285 900
|
||||
4140 900 4770 900 5940 1170
|
||||
4140 900 4770 900
|
||||
0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
|
||||
0.000
|
||||
3 2 0 3 0 7 50 -1 -1 0.000 2 0 0 3
|
||||
4770 900 5040 945 5760 1170
|
||||
0.000 -0.500 0.000
|
||||
3 2 2 3 0 7 50 -1 -1 6.000 2 0 0 3
|
||||
5760 1170 5985 1575 6120 2025
|
||||
0.000 0.000 0.000
|
||||
4 0 0 50 -1 18 12 0.0000 4 150 105 270 720 y\001
|
||||
4 1 0 50 -1 18 12 0.0000 4 180 705 1125 1125 Scaling\001
|
||||
4 1 0 50 -1 18 12 0.0000 4 150 465 1125 1365 Zone\001
|
||||
4 1 0 50 -1 18 12 0.0000 4 150 465 5400 1800 Zone\001
|
||||
4 1 0 50 -1 18 12 0.0000 4 150 705 3555 1575 Limited\001
|
||||
4 1 0 50 -1 18 12 0.0000 4 180 1050 5355 1530 Regression\001
|
||||
4 0 0 50 -1 18 12 0.0000 4 105 105 5940 2655 x\001
|
||||
4 1 0 50 -1 18 12 0.0000 4 150 480 2160 1395 Satu-\001
|
||||
4 1 0 50 -1 18 12 0.0000 4 150 540 2160 1620 ration\001
|
||||
@ -40,3 +43,6 @@ Single
|
||||
4 1 31 50 -1 0 12 0.0000 4 135 2040 3555 2835 |<-C. "limited scalable"->\001
|
||||
4 1 20 50 -1 0 12 0.0000 4 135 1620 5535 2835 |<-B. "unscalable"->\001
|
||||
4 1 4 50 -1 18 11 1.5708 4 180 1350 2700 1665 Scalability Limit\001
|
||||
4 1 0 50 -1 18 12 0.0000 4 180 1050 5310 1620 Regression\001
|
||||
4 1 0 50 -1 18 12 0.0000 4 150 465 5265 1890 Zone\001
|
||||
4 1 4 50 -1 18 30 0.0000 4 270 270 6120 2160 x\001
|
||||
|
Loading…
Reference in New Issue
Block a user