Skip to content
This repository was archived by the owner on Mar 10, 2025. It is now read-only.

Commit ed46d3a

Browse files
committed
Dave's syllabus ideas
High-level topics at beginning make parts of the course useful for everyone. Added lots of projects that can be used like recipes.
1 parent 0f58ecc commit ed46d3a

File tree

1 file changed

+71
-35
lines changed

1 file changed

+71
-35
lines changed

README.md

+71-35
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# DevOps Course Outline
22

3+
## Introduction
4+
35
You have an app running locally that lets people explore data. Great. How will anyone find it, though? You can't serve this off your laptop.
46

57
And if they do happen to find your app running on your laptop somehow, your localhost don't scale!
@@ -12,36 +14,84 @@ We'll also cover basic terminology and concepts.
1214
* Sysops
1315
* Secops/infosec
1416

17+
## Responsibilities, tools and analytics
18+
19+
* Typical day
20+
* Launch day
21+
* Doomsday
22+
23+
## Intro to command line
24+
1525
## Version Control
1626

1727
See the GitHub for Journalism material.
1828

19-
## Tests & Continuous Integration
29+
## Testing and Continuous integration (TravisCI, CircleCI)
2030

21-
Are these topics going to be covered in each app-building course?
31+
## Error logging (?OSS, Sentry)
2232

23-
## Deployment
33+
## Performance (Graphite, NewRelic)
2434

25-
What does "deploying an app" mean? Explainer TK.
35+
## Deployment
2636

27-
### Options
37+
* What does "deploying an app" mean? Explainer TK.
38+
* Intro to VirtualBox, vagrant, docker, salt and other provisioning tools:
39+
* How they work together
40+
* What to use and why
2841

29-
* capistrano (ruby)
30-
* fab (python)
31-
* rpm/deb
42+
## Basic projects
43+
* Host static site on GitHub
44+
* Host static site on S3
45+
* Local env setup with Vagrant for one lang
46+
* Single-server Heroku hello worlds for Node, Sinatra, Rails, Flask, Django, Clojure
47+
* Single server Heroku with databases of your choosing
3248

33-
### Strategies
49+
## Strategy and Project Managmeent
3450

3551
* Scheduled releases
3652
* Continuous deployment
3753

54+
## Monitoring
55+
56+
Things you can monitor:
57+
58+
* system load/CPU/memory with things like monit, upstart
59+
* services (nginx, MySQL, etc) again with monit, upstart or similar
60+
* apps (memory usage, exceptions)
61+
* response times (internal or external ways like pingdom)
62+
63+
## Scaling
64+
65+
* manual vs auto
66+
* horizontal (throw more machines at it)
67+
* optimization
68+
3869
## Caching
3970

4071
* in memory
4172
* persistent
4273
* headers
4374
* template or data fragments, entire pages
4475

76+
### persistent
77+
78+
* database / inc redis
79+
* filesystem
80+
81+
### invalidation
82+
83+
* 2 hard problems
84+
* busting
85+
* w/o causing pile up
86+
87+
### some of the many levels
88+
89+
* local
90+
* in app
91+
* in request like http headers
92+
* external like varnish
93+
* layers to cache on and what to cache at each
94+
4595
### Software
4696

4797
* [http](https://github.com/rtomayko/rack-cache)
@@ -50,33 +100,19 @@ What does "deploying an app" mean? Explainer TK.
50100
* [varnish](https://www.varnish-cache.org/)
51101
* [nginx](http://nosql.mypopescu.com/post/17651985814/high-performance-rails-caching-with-redis-and-nginx)
52102

53-
* persistent
54-
* database / inc redis
55-
* filesystem
56-
57-
* invalidation
58-
* 2 hard problems
59-
* busting
60-
* w/o causing pile up
103+
## Intermediate projects
61104

62-
* some of the many levels
63-
* local
64-
* in app
65-
* in request like http headers
66-
* external like varnish
67-
* layers to cache on and what to cache at each
105+
* Deploy PANDA on EC2
106+
* Two-server Heroku with manual deployments and data migrations
107+
* Two-server Heroku with CI from master and stable branches
108+
* Add caching and CDN
109+
* Deploy app on VPS via Salt+Docker
68110

69-
## Monitoring
111+
## Case studies
70112

71-
Things you can monitor:
72-
73-
* system load/CPU/memory with things like monit, upstart
74-
* services (nginx, MySQL, etc) again with monit, upstart or similar
75-
* apps (memory usage, exceptions)
76-
* response times (internal or external ways like pingdom)
77-
78-
## Scaling
113+
* Election 2012
114+
* Sochi 2014
115+
* SEA
79116

80-
* manual vs auto
81-
* horizontal (throw more machines at it)
82-
* optimization
117+
# Advanced project:
118+
? Walk through an active deployment to look at logs and analytics then create new stack and move app ?

0 commit comments

Comments
 (0)