Skip to content

Commit

Permalink
add scale
Browse files Browse the repository at this point in the history
  • Loading branch information
snowme34 committed Apr 12, 2019
1 parent c35f1c7 commit bcb40d6
Show file tree
Hide file tree
Showing 3 changed files with 60 additions and 1 deletion.
4 changes: 3 additions & 1 deletion cspell_dict_bash.txt
Original file line number Diff line number Diff line change
Expand Up @@ -561,4 +561,6 @@ UDPPORT

Rickard

untracked
untracked

cloudflare
1 change: 1 addition & 0 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,7 @@ The organization of this site is as following:
reference/devops/set-up-debian-server-on-digital-ocean
reference/devops/debian-firewall-nftables-and-iptables
reference/devops/bind-dns-server-setup
reference/devops/scale


.. toctree::
Expand Down
56 changes: 56 additions & 0 deletions docs/source/reference/devops/scale.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# Scale

## Complexity

Less is more.

Reduce complexity at all costs.

Over-engineering is one common sources of complexity.

* over-complicated solutions
* over-complicated designs (too many classes and objects)
* trying to predict the future
* ...

Keep scalability in mind when designing, developing, and deploying.

## Scale Cube

[The Scale Cube | AKF Partners](https://akfpartners.com/growth-blog/scale-cube)

![](https://upload.wikimedia.org/wikipedia/commons/8/82/AKF_Scale_Cube.gif)

* x-axis: duplication, such as application code and database
* easiest to achieve, just make copies
* y-axis: split by verbs and nouns
* focus on the "final" verbs that operate on the data directly
* z-axis: split by properties of things, like hash-value of data
* data of users from region A are stored in a database near region A

## Vertical or Horizontal Scaling

* Vertical: scale up
* add more resources to an system
* Horizontal: scale out
* add more machines

Prefer scale-out

Use more and cheap devices.

* Cheaper to maintain
* Easier to scale
* Less time to fix

Use more multiple data centers.

* Consider load balancing, disaster recovery, networking, speed, cost
* [What is a Data Center? | Cloudflare](https://www.cloudflare.com/learning/cdn/glossary/data-center/)
* [Backup site - Wikipedia](https://en.wikipedia.org/wiki/Backup_site#Hot_Sites)

Use cloud smartly. Easy to set up and shut down as soon as we are done.

* QA
* batch processing
* pike load

0 comments on commit bcb40d6

Please sign in to comment.