Skip to content

Instantly share code, notes, and snippets.

@ryanj
Created June 8, 2014 01:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ryanj/f56d71a31d59bd6b0f00 to your computer and use it in GitHub Desktop.
Save ryanj/f56d71a31d59bd6b0f00 to your computer and use it in GitHub Desktop.
OpenShift Cartridge Authoring Workshop
<section>
<section>
<img style="disply:block;border:none;background:none;" alt='OpenShift-logo' src='../shared/img/OpenShift_Horizontal_RGB_Reverse.png'/>
<h1>Cartridge Authoring</h1>
<h1>WorkShop</h1
<br/>
<p><a href='http://bit.ly/1jAgPYh'>bit.ly/1jAgPYh</a></p>
</section>
<section id='presented-by'>
<div>presented by</div>
<br/>
<div><a href='http://ryanjarvinen.com/'>ryan jarvinen</a> / <a href='http://twitter.com/ryanj/'>@ryanj</a></div>
</section>
<section data-state="blackout">
<div>
<div>Open Source Evangelist</div>
<div>at</div>
<div>Red Hat</div>
<br/>
<div>ryanj@redhat.com</div>
</div>
</section>
</section>
<section>
<section id='agenda'>
<h3>Agenda</h3>
<ol>
<li class='fragment roll-in'><a href="#/setup">Set up an OpenShift VM for local development and testing</a></li>
<li class='fragment roll-in'><a href="#/basics">The HOW and WHY of Cartridge Authoring on OpenShift</a></li>
<li class='fragment roll-in'><a href="#/testing">Testing your changes locally</a></li>
<li class='fragment roll-in'><a href="#/cart-reflector">Testing with OpenShift Online and the Cart Reflector</a></li>
<li class='fragment roll-in'><a href="#/index">Share your work in the Origin.ly cartridge index</a></li>
</ol>
</section>
</section>
<section>
<section id="setup">
<h2>Cloud Setup / Rain Dance</h2>
<p>You'll need a local VM or your own private OpenShift deployment to follow along.</p>
<ul class='fragment'>
<li>Grab a fresh VM from <a href='https://origin.openshift.com/'>Origin.openshift.com</a>, and then follow the <a href='http://openshift.github.io/documentation/oo_deployment_guide_vm.html'>Origin VM deployment guide</a></li>
<li>Or - start with a clean Fedora 19 minimal, RHEL 6.4 minimal, or CentOS 6.5 minimal image - then run the install scripts from <a href='https://install.openshift.com/'>Install.openshift.com</a></li>
</ul>
</section>
</section>
<section>
<section id='basics'>
<h2>Intro to Cartridges</h2>
<p>on</p>
<h2>OpenShift</h2>
</section>
<section>
<h3>OpenShift is&hellip;</h3>
<br/>
<h2 class="fragment roll-in">OPEN SOURCE</h2>
<h3 class="fragment roll-in">hosting,</h3>
<h3 class="fragment roll-in">build,</h3>
<p class="fragment roll-in"><i>and</i></p>
<h3 class="fragment roll-in">auto-scaling</h3>
<p class="fragment roll-in">for applications</p>
</section>
<section>
<p>providing instant access to all of this, and more:</p>
<img src='../shared/img/PaaS-landscape.png'/>
</section>
<section>
<p>these technolgies are bundled / made available as</p>
<h3>Cartridges</h3>
<img style='width:50%' alt='OpenShift Cartridge' src='../shared/img/Openshift-Cartridge.png'/>
<div class='fragment roll-in'><pre><code contenteditable>rhc cartridge list</code></pre></div>
</section>
<section>
<p>On OpenShift, your application environment is securely incapsulated within a '<i>Gear</i>', providing guaranteed access to system resources</p>
<img src='../shared/img/gear.png' />
<div class='fragment roll-in'>using <a href='http://en.wikipedia.org/wiki/Security-Enhanced_Linux'>SELinux</a>, and <a href='http://en.wikipedia.org/wiki/Cgroups'>Cgroups</a></div>
</section>
<section>
<h4>OpenShift provides a peaceful environment for Devs AND SysAdmins to work together in</h4>
<img width="300" height="303" src="../shared/img/DarthLuke.png">
<ul>
<li class="fragment"><strong>Operations care about stability and performance</strong></li>
<li class="fragment"><strong>Developers just want environments without waiting</strong></li>
<li class="fragment"><strong>And neither one wants to have to fight the other to get their work done</strong></li>
</ul>
</section>
</section>
<section>
<section id='development'>
<h2>Cartridge Development Resources</h2>
<ul>
<li><a href='https://github.com/pmorie/presentations'>Pmorie's presentation from DevNation</a></li>
<li><a href='http://openshift.github.io/documentation/oo_cartridge_developers_guide.html'>OpenShift Origin Cartridge Developer’s Guide</a></li>
</ul>
</section>
</section>
<section>
<section id='testing'>
<h2>V2 Cartridge testing on OpenShift</h2>
<p><a href='https://www.openshift.com/developers/extend'>Extend OpenShift</a></p>
<ol>
<li><a href='https://www.openshift.com/blogs/new-openshift-cartridge-format-part-1'>V2 Cart Authoring Part1</a></li>
<li><a href='https://www.openshift.com/blogs/new-openshift-cartridge-format-part-2'>V2 Cart Authoring Part2</a></li>
<li><a href='https://www.openshift.com/blogs/new-openshift-cartridge-format-part-3'>V2 Cart Authoring Part3</a></li>
</ol>
</section>
</section>
<section>
<section id='cart-reflector'>
<h2>Downloadable Cartridges</h2>
<p>Test your downloadable cartridges on OpenShift Online using the Cart Reflector</p>
<p><a href='https://www.openshift.com/developers/download-cartridges'>Downloadable Cartridges and the OpenShift Cart reflector</a></p>
</section>
</section>
<section>
<section id='index'>
<h2>Community Cartridge Index</h2>
<p>Visit <a href='https://origin.ly`'>Origin.ly</a> to see what existing carts are available, or to add your open source carts to our community index of apps and services</p>
</section>
</section>
<section>
<section data-state="blackout" id='fin'>
<h2>Want to learn more?</h2>
<ul>
<li>Come hang out with us on IRC: <a href='http://webchat.freenode.net/'>#openshift-dev on Freenode</a></li>
<li>Link to these slides: <a href='http://bit.ly/1jAgPYh'>bit.ly/1jAgPYh</a></li>
<li>Free OpenShift hosting: <a href="https://openshift.redhat.com/app/account/new?web_user[promo_code]=SCALE12">OpenShift Online</a></li>
<li>OpenShift on GitHub: <a href="http://openshift.github.io/">OpenShift.GitHub.io</a></li>
<li>OpenShift Cartridge Index: <a href="https://origin.ly">Origin.ly Cartridges and Quickstarts</a></li>
</ul>
<br/>
<br/>
<p>presented by:</p>
<div><a href='http://ryanjarvinen.com/'>ryan jarvinen</a> / <a href='http://twitter.com/ryanj/'>@ryanj</a></div>
</section>
</section>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment