summaryrefslogtreecommitdiff
path: root/src/talks/fallacy.hbs
diff options
context:
space:
mode:
authorMonty Taylor <mordred@inaugust.com>2016-06-02 05:03:32 +0300
committerMonty Taylor <mordred@inaugust.com>2016-06-06 13:29:27 +0200
commitc1b76e1235a1a0f1bd5e4f1e501db80bd0adb56e (patch)
treed501a1870d1d351b827bcd283013ce4138ca9fc3 /src/talks/fallacy.hbs
parent8983bf26be1431afb9c68585d9725c427e99aecc (diff)
Add cloud native fallacy talk
Diffstat (limited to 'src/talks/fallacy.hbs')
-rw-r--r--src/talks/fallacy.hbs228
1 files changed, 228 insertions, 0 deletions
diff --git a/src/talks/fallacy.hbs b/src/talks/fallacy.hbs
new file mode 100644
index 0000000..bf8936d
--- /dev/null
+++ b/src/talks/fallacy.hbs
@@ -0,0 +1,228 @@
1<!doctype html>
2<html lang="en">
3
4 <head>
5 <meta charset="utf-8">
6
7 <title>The Cloud Native Fallacy: You are not Google, or How to Stop Worrying and Learn to Love your Servers</title>
8
9 </head>
10 <body>
11
12 <section id="who-am-i-ibm" class="slide level2">
13 <h1>Who am I?</h1>
14 <img style="float:right; margin-right:24pt" src="/images/ibm-logo.png"/>
15 <p> Distinguished Engineer </p>
16 <p> IBM Cloud </p>
17 </section>
18
19 <section id="who-am-i-openstack" class="slide level2">
20 <h1>Who am I?</h1>
21 <img style="float:right; margin-right:24pt" src="/images/openstack-cloud-software-vertical-large.png" />
22 <p>Technical Committee</p>
23 <p>Foundation Board of Directors</p>
24 <p>Developer Infrastructure Core Team</p>
25 </section>
26
27 <section class="slide level2">
28 <img src="/images/Slim-pickens_riding-the-bomb_enh-lores.jpg"
29 alt="Slim Pickens Rides Bomb" />
30 </section>
31
32 <section class="slide level2">
33 <h1>Is Cloud Native good?</h1>
34 <h2 class='fragment'>yes</h2>
35 </section>
36
37 <section class="slide level2">
38 <h1>Is not-Cloud Native bad?</h1>
39 <h2 class='fragment'>no</h2>
40 </section>
41
42 <section class="slide level2">
43 <h1>Do you need to write Cloud Native apps to use cloud?</h1>
44 <h2 class='fragment'>no</h2>
45 </section>
46
47 <section class="slide level2">
48 <h1>Are you a bad person if don't write Cloud Native apps?</h1>
49 <h2 class='fragment'>no</h2>
50 </section>
51
52 <section class="slide level2">
53 <h1>What is Cloud Native?</h1>
54 </section>
55
56 <section class="slide level2">
57 <p>Cloud-native applications are meant to function "in a world of cloud
58 computing that is ubiquitous and flexible." Applications can be
59 developed on a cloud platform, then deployed to different clouds where
60 supporting software stacks will help them run at scale.</p>
61 <p><em>Information Week - Jul 30, 2015</em></p>
62 </section>
63
64 <section class="slide level2">
65 <p>The Cloud Native Computing Foundation will harmonize emerging
66 technologies and foster innovation in container packaged, dynamically
67 scheduled, and microservices based application development and
68 operations.</p>
69 </section>
70
71 <section class="slide level2">
72 <h1>Cloud Native Is ... </h1>
73 <ul>
74 <li>Architectural and operational approach</li>
75 <li>Assume cloud</li>
76 <li>Assume failures</li>
77 <li>Microservices</li>
78 <li>Containerized?</li>
79 </ul>
80 </section>
81
82 <section class="slide level2">
83 <img src="/images/Cloud-Native-Architecture.png"
84 alt="Pivotal Cloud Native Architecture" />
85 </section>
86
87 <section class="slide level2">
88 <h1>12 Factor Application</h1>
89 <h3>I. Codebase - One codebase tracked in revision control, many deploys</h3>
90 <h3>II. Dependencies - Explicitly declare and isolate dependencies</h3>
91 <h3>III. Config - Store config in the environment</h3>
92 <h3>IV. Backing services - Treat backing services as attached resources</h3>
93 <h3>V. Build, release, run - Strictly separate build and run stages</h3>
94 <h3>VI. Processes - Execute the app as one or more stateless processes</h3>
95 <h3>VII. Port binding - Export services via port binding</h3>
96 <h3>VIII. Concurrency - Scale out via the process model</h3>
97 <h3>IX. Disposability - Maximize robustness with fast startup and graceful shutdown</h3>
98 <h3>X. Dev/prod parity - Keep development and production as similar as possible</h3>
99 <h3>XI. Logs - Treat logs as event streams</h3>
100 <h3>XII. Admin processes - Run admin/management tasks as one-off processes</h3>
101 </ul>
102 </section>
103
104 <section class="slide level2" data-transition='zoom'>
105 <h1>This is awesome</h1>
106 </section>
107
108 <section class="slide level2" data-transition='zoom'>
109 <h1>Except for III</h1>
110 <h2>I use config files</h2>
111 </section>
112
113 <section class="slide level2" data-transition='zoom'>
114 <h1>VI. Stateless</h1>
115 <h2>If /dev/null is fast in web scale I will use it. Is it web scale?</h2>
116 <h3 class="fragment">Use a service to store your data - like a database</h3>
117 <h3 class="fragment">Is that database service web scale?</h3>
118 </section>
119
120 <section class="slide level2">
121 <h1>Go google and watch "MongoDB is Web Scale"</h1>
122 </section>
123
124 <section class="slide level2">
125 <h1>A Foolish Consistency is the Hobgoblin of Little Minds</h1>
126 </section>
127
128 <section class="slide level2">
129 <h1>Cloud Native / 12 Factor is **A** great approach</h1>
130 <h2>You still have to think.</h2>
131 </section>
132
133 <section class="slide level2">
134 <p>As an application developer,<br />
135 I want to deploy and run an application on the internet
136 so that my customers all over the world can consume it.</p>
137 </section>
138
139 <section class="slide level2">
140 <p>As an operator,<br />
141 I want to deploy the application across multiple clouds
142 so that my service survives issues in any one of them.</p>
143 </section>
144
145 <section class="slide level2">
146 <h1>THIS WORKS</h1>
147 <h3>I'm doing it myself as we speak</h3>
148 <img style="float:right; margin-right:24pt" src="/images/graphite.openstack.org.png"/>
149 <p class='fragment'>10-20k VMs per-day</p>
150 <p class='fragment'>10 Cloud Regions in 7 clouds</p>
151 <p class='fragment'>Only using OpenStack APIs</p>
152 </section>
153
154 <section id="openstack-infra" data-transition='zoom'>
155 <h1>OpenStack Infra</h1>
156 </section>
157
158 <section id="tooling-automation-and-ci-for-openstack-project" class="slide level2" data-transition='zoom'>
159 <h1>Tooling, Automation and CI for OpenStack Project</h1>
160 </section>
161
162 <section id="our-vms-are-everywhere" class="slide level2">
163 <h1>Our VMs are everywhere</h1>
164 <ul>
165 <li>Rackspace: Dallas, Chicago, DC</li>
166 <li>Internap: New York</li>
167 <li>OpenStack Innovation Center: San Antonio</li>
168 <li>OVH: Strassbourg, Gravelines</li>
169 <li>Vexxhost: Montreal</li>
170 <li>Blue Box: San Jose</li>
171 <li>Red Hat: Phoenix</li>
172 </ul>
173 </section>
174
175 <section id="we-also-have-servers" class="slide level2">
176 <h1>We also have servers</h1>
177 <h2>Infra Cloud - Hardware donated by HPE</h2>
178 </section>
179
180 <section id="architecture" class="slide level2">
181 <h1>Architecture</h1>
182 <p><img src="/images/infra_architecture.jpg" alt="image" /></p>
183 </section>
184
185 <section class="slide level2">
186 <h1>Gerrit</h1>
187 <ul>
188 <li class="fragment">
189 Traditional 'Enterprise' Java Application</li>
190 <li class="fragment">Nova VM, Cinder Volume, Trove DB</li>
191 <li class="fragment">Scale out farm of git replicas</li>
192 </ul>
193 </section>
194
195 <section class="slide level2">
196 <h1>nodepool</h1>
197 <ul>
198 <li class="fragment">Cloud Native</li>
199 <li class="fragment">Purpose built in Python</li>
200 <li class="fragment">Keeps a pool of ready to go nodes</li>
201 <li class="fragment">Multi-cloud</li>
202 <li class="fragment">Fully elastic - responds to demand</li>
203 </ul>
204 </section>
205
206 <section class="slide level2">
207 <h1>Run what you want</h1>
208 <p class='fragment'>12-factor application on Kubernetes with Kuryr</p>
209 <p class='fragment'>Traditional Java web application behind NAT with a Floating IP</p>
210 <p class='fragment'>Kerberos Server on the Internet with Fixed IP and Reverse DNS </p>
211 <p class='fragment'>Baremetal for hardware enabled transcoding via Ironic</p>
212 </section>
213
214 <section class="slide level2">
215 <img src="/images/Cloud-Native-Architecture.png"
216 alt="Pivotal Cloud Native Architecture" />
217 </section>
218
219 <section class="slide level2">
220 <h1>DevOps recognizes the need for Dev and Ops to collaborate</h1>
221 </section>
222
223 <section class="slide level2">
224 <h1>Rigid devotion to any guidelines without judgement is deadly</h1>
225 </section>
226
227 </body>
228</html>