diff options
| author | Monty Taylor <mordred@inaugust.com> | 2016-06-02 05:03:32 +0300 |
|---|---|---|
| committer | Monty Taylor <mordred@inaugust.com> | 2016-06-06 13:29:27 +0200 |
| commit | c1b76e1235a1a0f1bd5e4f1e501db80bd0adb56e (patch) | |
| tree | d501a1870d1d351b827bcd283013ce4138ca9fc3 /src/talks/fallacy.hbs | |
| parent | 8983bf26be1431afb9c68585d9725c427e99aecc (diff) | |
Add cloud native fallacy talk
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> | ||
