diff options
Diffstat (limited to 'src/talks/fallacy.hbs')
-rw-r--r-- | src/talks/fallacy.hbs | 228 |
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> | ||