04-en-production.html 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243
  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>reveal.js - The HTML Presentation Framework</title>
  6. <meta name="description" content="A framework for easily creating beautiful presentations using HTML">
  7. <meta name="author" content="Hakim El Hattab" />
  8. <meta name="apple-mobile-web-app-capable" content="yes" />
  9. <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
  10. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
  11. <link rel="stylesheet" href="css/reveal.min.css">
  12. <link rel="stylesheet" href="css/theme/osi.css" id="theme">
  13. <!-- For syntax highlighting -->
  14. <link rel="stylesheet" href="lib/css/zenburn.css" />
  15. <!-- If the query includes 'print-pdf', use the PDF print sheet -->
  16. <script>
  17. document.write( '<link rel="stylesheet" href="css/print/' + ( window.location.search.match( /print-pdf/gi ) ? 'pdf' : 'paper' ) + '.css" type="text/css" media="print">' );
  18. </script>
  19. <!--[if lt IE 9]>
  20. <script src="lib/js/html5shiv.js"></script>
  21. <![endif]-->
  22. </head>
  23. <body>
  24. <div class="reveal">
  25. <!-- Any section element inside of this container is displayed as a slide -->
  26. <div class="slides">
  27. <section>
  28. <img src="osinet.png" class="cover-img" style="height: 150px;" />
  29. <div class="cover-osi">
  30. <h1>Drupal en production</h1>
  31. <p></p>
  32. </div>
  33. </section>
  34. <section>
  35. <section>
  36. <h2>Hosting</h2>
  37. <h4 class="left">Besoins spécifiques de Drupal</h4>
  38. <ul class="left">
  39. <li>PHP : APC cache d'opcodes, mémoire, ligne de commande</li>
  40. <li>SGBD : charge, serveurs supportés, master/slave vs multi-master, backup</li>
  41. <li>Accès fichier : Web servers, SGBD</li>
  42. <li>Caches : Varnish, Memcached, APC User, CDN</li>
  43. <li>Serveurs additionnels : recherche (SOLR et autres), NoSQL (MongoDB / Redis)</li>
  44. </ul>
  45. </section>
  46. <section>
  47. <h3>Hosting</h3>
  48. <h4 class="left">Besoins liés au professionnel</h4>
  49. <ul class="left">
  50. <li>Poste Dév</li>
  51. <li>Intégration</li>
  52. <li>Préproduction</li>
  53. <li>Production</li>
  54. <li>Instance volatiles (tests)</li>
  55. </ul>
  56. </section>
  57. <section>
  58. <h3>Hosting</h3>
  59. <h4 class="left">Typologie</h4>
  60. <ul class="left">
  61. <li>Low-cost : mutualisé, VPS</li>
  62. <li>Cloud public : IaaS (AWS, Rackspace, Heroku), PaaS (Acquia Drupal, Pantheon)</li>
  63. <li>Professionnel : dédié, cloud privé, cloud hybride, infra propre</li>
  64. </ul>
  65. <h4 class="left">Prestataires pro</h4>
  66. <ul class="left">
  67. <li>Hébérgeur : MIPS connecté, transit (redondance), climatisation, électricité</li>
  68. <li>Infogérant : bon fonctionnement, support middleware</li>
  69. <li>CDN</li>
  70. </ul>
  71. </section>
  72. </section>
  73. <section>
  74. <section>
  75. <h2>Garantie ou maintenance</h2>
  76. <h4 class="left">Garantie</h4>
  77. <ul class="left">
  78. <li>Généralement incluse
  79. <ul>
  80. <li>CAPEX</li>
  81. <li>Pas obligatoire entre pros</li>
  82. <li>Couramment 30–90 jours</li>
  83. </ul>
  84. </li>
  85. <li>Contenu :
  86. <ul>
  87. <li>Corrections anomalies</li>
  88. <li>Compatibilité MAJ mineures core + contrib</li>
  89. <li>N'inclut pas les MAJ core + contrib</li>
  90. </ul>
  91. </li>
  92. </ul>
  93. </section>
  94. <section>
  95. <h3>Garantie ou maintenance</h3>
  96. <h4 class="left">Maintenance</h4>
  97. <ul class="left">
  98. <li>Optionnelle : OPEX, récurrent</li>
  99. <li>Contenu
  100. <ul>
  101. <li>Réactif : minimum les MÀJ de sécurité et comptabilité, courant toutes les MÀJ mineures</li>
  102. <li>Proactif : monitoring (baseline, quantitatif, projectif)</li>
  103. <li>Évolutif : MÀJ majeures (7.x &rarr; 8.x), branches n+1, refactoring</li>
  104. </ul>
  105. </li>
  106. <li>Réassurance
  107. <ul>
  108. <li>Contact du marché</li>
  109. <li>Formalisation</li>
  110. <li>Entretien des sources</li>
  111. <li>Entretien de la doc</li>
  112. </ul>
  113. </li>
  114. </ul>
  115. </section>
  116. </section>
  117. <section>
  118. <section>
  119. <h2>Après la V1</h2>
  120. <h4 class="left">Les MÀJ Drupal</h4>
  121. <ul class="left">
  122. <li>Security Advisories</li>
  123. <li>Releases ordinaires D7</li>
  124. <li>Contributions (Dev en dév, stable en prod)</li>
  125. <li>D7 &rarr; D8</li>
  126. </ul>
  127. </section>
  128. <section>
  129. <h3>Après la V1</h3>
  130. <h4 class="left">Suivi</h4>
  131. <ul class="left">
  132. <li>Intégrité : fingerprinting</li>
  133. <li>Métriques techniques : baseline, alertes</li>
  134. <li>SEO : Analytics
  135. <ul>
  136. <li>Vanity Metrics !</li>
  137. <li>Conversions, CA ...</li>
  138. <li>Tiers</li>
  139. </ul>
  140. </li>
  141. </ul>
  142. </section>
  143. <section>
  144. <h3>Après la V1</h3>
  145. <h4 class="left">Changer</h4>
  146. <ul class="left">
  147. <li>Révolution</li>
  148. <li>Incrémental</li>
  149. <li>A/B</li>
  150. <li>Feature flip</li>
  151. <li>Git à la rescousse</li>
  152. </ul>
  153. </section>
  154. </section>
  155. <section>
  156. <img src="osinet.png" class="cover-img" style="height: 150px;" />
  157. <div class="cover-osi">
  158. <h3>Merci !</h3>
  159. <img src="images/druplicon-glow.png" class="cover-img" style="height: 200px;" />
  160. </div>
  161. </section>
  162. <section>
  163. <h2 class="people" style="text-align: center; margin-bottom: 0.8em;">L'équipe OSInet</h2>
  164. <table class="people">
  165. <tr class="blue">
  166. <td>Frédéric G. Marand</td>
  167. <td class="td-middle">Outi Munter</td>
  168. <td>Brigitte Taïeb</td>
  169. </tr>
  170. <tr>
  171. <td><img src="images/fgm-dublin.jpg" class="cover-img"></td>
  172. <td class="td-middle"><img src="images/outi-2.jpg" class="cover-img"></td>
  173. <td><img src="images/brigitte.jpg" class="cover-img"></td>
  174. </tr>
  175. <tr style="font-size: 0.78em; opacity: 0.8;">
  176. <td>Cofondateur et gérant – et spécialiste en programmation système et réseau</td>
  177. <td class="td-middle">Chef de projet, graphiste et thémeuse</td>
  178. <td>Directrice commerciale</td>
  179. </tr>
  180. </table>
  181. <p style="text-align: center;"><a href="http://www.osinet.fr" style="font-size: 1.05em; margin-left: 0;">www.osinet.fr</a></p>
  182. </section>
  183. </div>
  184. <div class="footer"><img src="osinet.png" alt="logo" class="logo" height="70"><span class="footnote">Drupal en production / DGTD / © 2013 OSInet / Licence CC-BY-SA 2.0 France</span></div>
  185. </div>
  186. <script src="lib/js/head.min.js"></script>
  187. <script src="js/reveal.min.js"></script>
  188. <script>
  189. // Full list of configuration options available here:
  190. // https://github.com/hakimel/reveal.js#configuration
  191. Reveal.initialize({
  192. controls: true,
  193. progress: true,
  194. history: true,
  195. center: false,
  196. theme: Reveal.getQueryHash().theme, // available themes are in /css/theme
  197. transition: Reveal.getQueryHash().transition || 'default', // default/cube/page/concave/zoom/linear/fade/none
  198. // Optional libraries used to extend on reveal.js
  199. dependencies: [
  200. { src: 'lib/js/classList.js', condition: function() { return !document.body.classList; } },
  201. { src: 'plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
  202. { src: 'plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
  203. { src: 'plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } },
  204. { src: 'plugin/zoom-js/zoom.js', async: true, condition: function() { return !!document.body.classList; } },
  205. { src: 'plugin/notes/notes.js', async: true, condition: function() { return !!document.body.classList; } }
  206. ]
  207. });
  208. </script>
  209. </body>
  210. </html>