Skip to content

Commit 3591c7d

Browse files
committed
Syllabus porting DONE.
1 parent 0220a2e commit 3591c7d

40 files changed

+1652
-0
lines changed

application_components_201.rst

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
Application Components 201
2+
**************************
3+
4+
Message Brokers
5+
===============
6+
7+
RabbitMQ
8+
--------
9+
10+
Apache ActiveMQ
11+
---------------
12+
13+
Memory Caches
14+
=============
15+
16+
Memcached
17+
---------
18+
19+
Redis
20+
-----
21+
22+
Specialized Caches
23+
==================
24+
25+
Varnish
26+
-------
27+
28+
nginx+memcached
29+
---------------
30+

architecture_101.rst

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
Architecture 101
2+
****************
3+
4+
How to make good architecture decisions
5+
=======================================
6+
7+
Patterns and anti-patterns
8+
==========================
9+
10+
Introduction to availability
11+
============================
12+
13+
Introduction to scalability
14+
===========================
15+
16+

architecture_201.rst

+57
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
Architecture 201
2+
****************
3+
4+
Service Oriented Architectures
5+
==============================
6+
7+
Fault tolerance, fault protection, masking, dependability fundamentals
8+
======================================================================
9+
10+
Fail open, fail closed
11+
----------------------
12+
13+
Perspective: node, network, cluster, application
14+
------------------------------------------------
15+
16+
Caching Concerns
17+
================
18+
19+
Static assets
20+
-------------
21+
22+
Data
23+
----
24+
25+
Eviction and replacement policies and evaluation
26+
------------------------------------------------
27+
28+
Approaches
29+
----------
30+
(TTL, purge-on-write, no-purge versioning, constantly churning cache versus
31+
contained, working set sizing)
32+
33+
Crash only
34+
==========
35+
36+
Synchronous vs. Asynchronous
37+
============================
38+
39+
Business continuity vs. Disaster Recovery
40+
=========================================
41+
42+
Designing for Scalability: Horizontal, Vertical
43+
===============================================
44+
45+
Simplicity
46+
==========
47+
48+
Performance
49+
===========
50+
51+
Tiered architectures
52+
====================
53+
54+
MTTR > MTBF
55+
===========
56+
57+
http://www.kitchensoap.com/2010/11/07/mttr-mtbf-for-most-types-of-f/

backups.rst

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
Backups
2+
*******
3+
4+
Online/Offline backups
5+
======================
6+
7+
Designing a backup policy
8+
=========================
9+
10+
Deciding what to backup
11+
-----------------------
12+
13+
Backup type and frequency
14+
-------------------------
15+
16+
Retention periods and budgeting
17+
-------------------------------
18+
19+
Offsite backups
20+
---------------
21+
22+
Ensuring and monitoring backup integrity and completeness
23+
=========================================================
24+
25+
Your RAID is not a backup (and neither is your cluster duplication)
26+
===================================================================
27+
28+
Legal implications of having backups
29+
====================================
30+
31+
Security implications of having backups
32+
=======================================
33+
34+
Recovery basics
35+
===============
36+
37+
Secure data destruction
38+
=======================
39+
40+

capacity_planning.rst

+56
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
Capacity Planning
2+
*****************
3+
4+
(Seems reasonable to have the Statistics for Engineers course be a pre-req for
5+
this course)
6+
7+
Fundamentals of capacity planning
8+
=================================
9+
10+
Resource usage investigation and exploration
11+
---------------------------------------------
12+
13+
* Examples: CPU:req/sec ratio, memory footprint:req/sec ratio, disk consumption
14+
per user/per sale/per widget, etc.
15+
* Application:Infrastructure metric relationships
16+
* 2nd order capacity (logging,
17+
metrics+monitoring systems, ancillary systems)
18+
19+
Finding ceilings
20+
----------------
21+
22+
* Discovering resource limits
23+
* Comparing different hardware/instance profiles - production load versus
24+
synthetic
25+
26+
* Benchmarking: pitfalls, limitations, pros/cons
27+
* http://www.contextneeded.com/system-benchmarks
28+
29+
* Multivariate infra limits (multiple resource peak-driven usage) Ex: web+image
30+
uploads, caching storage+processing, etc.
31+
* Architecture analysis (anticipating the next bottleneck)
32+
33+
Forecasting
34+
============
35+
36+
Linear and nonlinear trending and forecasting (“steering by your wake”)
37+
-----------------------------------------------------------------------
38+
39+
Details of automatic forecasting and scaling
40+
--------------------------------------------
41+
42+
Seasonality and future events
43+
-----------------------------
44+
45+
* Organic growth approaches (bottom-up infra driven, top-down app driven)
46+
* inorganic growth events (new feature launch, holiday effects, “going viral”,
47+
major public announcement)
48+
* Provisioning effects on timelines, financial tradeoffs
49+
50+
Diagonal scaling
51+
================
52+
53+
(vertically scaling your already horizontal architecture)
54+
55+
Reprovisioning and legacy system usage tradeoffs
56+
------------------------------------------------

common_services.rst

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
Common services
2+
***************
3+
4+
.. todo::
5+
Introduction to RFCs
6+
7+
.. toctree::
8+
system_daemons_101
9+
dns_101
10+
dns_201
11+
dhcp
12+
http_101
13+
http_201
14+
smtp_101
15+
smtp_201

config_management.rst

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
Configuration Management 101
2+
****************************
3+
4+
Idempotency
5+
===========
6+
7+
Convergent and Congruent systems
8+
================================
9+
10+
Direct and Indirect systems: ansible, capistrano
11+
================================================
12+
13+
Chef
14+
====
15+
16+
Chef (adam: I’m biased here, but I would do Chef in 101, puppet and cfengine in
17+
201, but it’s because I want junior admins to get better at scripting, not just
18+
because I’m a dick.)
19+
(Magnus: this goes back to why Ruby will be so much more for new guys coming in
20+
today like Perl was for a lot of us in the 90’s)
21+
22+
Configuration Management 201
23+
****************************
24+
25+
Puppet
26+
======
27+
28+
Cfengine 3
29+
==========
30+
31+

databases_101.rst

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
Databases 101 (Relational databases)
2+
************************************
3+
4+
SQL shell
5+
=========
6+
7+
Creating databases
8+
==================
9+
10+
Creating users
11+
==============
12+
13+
Granting privileges
14+
===================
15+
16+
Basic normalized schema design
17+
==============================
18+
19+
Select, Insert, Update and Delete
20+
=================================
21+
22+
23+

databases_201.rst

+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
Databases 201
2+
*************
3+
4+
Database Theory
5+
===============
6+
7+
ACID
8+
----
9+
10+
CAP theorem
11+
-----------
12+
13+
High Availability
14+
-----------------
15+
16+
Document Databases
17+
==================
18+
19+
MongoDB
20+
-------
21+
22+
CouchDB
23+
-------
24+
25+
Hadoop
26+
------
27+
28+
Key-value Stores
29+
================
30+
31+
Riak
32+
----
33+
34+
Cassandra
35+
---------
36+
37+
Dynamo
38+
------
39+
40+
BigTable
41+
--------
42+
43+
Graph Databases
44+
===============
45+
46+
FlockDB
47+
-------
48+
49+
Neo4j
50+
-----
51+
52+

datacenters_101.rst

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
Datacenters 101
2+
***************
3+
4+
Power budgets
5+
=============
6+
7+
A/B power and cascading outages
8+
-------------------------------
9+
10+
Cooling budgets
11+
===============
12+
13+
You will be judged by the tidiness of your rack
14+
===============================================
15+
16+
Machine and cable labeling
17+
==========================
18+
19+
Traditional naming conventions
20+
==============================

datacenters_201.rst

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
Datacenters 201
2+
***************
3+
4+
Networking many racks
5+
=====================
6+
7+
Power
8+
=====
9+
10+
N+1, N+2 power
11+
--------------
12+
13+
Fused vs usable
14+
---------------
15+
16+
calculations
17+
------------
18+
19+
Cooling
20+
=======
21+
22+
N+1, N+2
23+
---------
24+
25+
Physical security and common security standards compliance requirements
26+
=======================================================================
27+
28+
Suggested practices
29+
===================

0 commit comments

Comments
 (0)