1
1
# DevOps Course Outline
2
2
3
+ ## Introduction
4
+
3
5
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.
4
6
5
7
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.
12
14
* Sysops
13
15
* Secops/infosec
14
16
17
+ ## Responsibilities, tools and analytics
18
+
19
+ * Typical day
20
+ * Launch day
21
+ * Doomsday
22
+
23
+ ## Intro to command line
24
+
15
25
## Version Control
16
26
17
27
See the GitHub for Journalism material.
18
28
19
- ## Tests & Continuous Integration
29
+ ## Testing and Continuous integration (TravisCI, CircleCI)
20
30
21
- Are these topics going to be covered in each app-building course?
31
+ ## Error logging (?OSS, Sentry)
22
32
23
- ## Deployment
33
+ ## Performance (Graphite, NewRelic)
24
34
25
- What does "deploying an app" mean? Explainer TK.
35
+ ## Deployment
26
36
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
28
41
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
32
48
33
- ### Strategies
49
+ ## Strategy and Project Managmeent
34
50
35
51
* Scheduled releases
36
52
* Continuous deployment
37
53
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
+
38
69
## Caching
39
70
40
71
* in memory
41
72
* persistent
42
73
* headers
43
74
* template or data fragments, entire pages
44
75
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
+
45
95
### Software
46
96
47
97
* [ http] ( https://github.com/rtomayko/rack-cache )
@@ -50,33 +100,19 @@ What does "deploying an app" mean? Explainer TK.
50
100
* [ varnish] ( https://www.varnish-cache.org/ )
51
101
* [ nginx] ( http://nosql.mypopescu.com/post/17651985814/high-performance-rails-caching-with-redis-and-nginx )
52
102
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
61
104
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
68
110
69
- ## Monitoring
111
+ ## Case studies
70
112
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
79
116
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