<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    

    <meta name="author" content="The Apache Software Foundation">

    
      <meta name="keywords" content="conferences,apachecon,ccna,presentations" />
    

    
      <title>ApacheCon and CloudStack Collaboration conference presnetations | Apache Libcloud</title>
    

    <!-- fav icons -->
    <link rel="shortcut icon" href="/images/favicon.png" />
    <link rel="apple-touch-icon" href="/images/apple-touch-icon.png" />
    <link rel="apple-touch-icon-precomposed" href="/images/apple-touch-icon.png" />

    <link href="/blog/atom.xml" type="application/atom+xml" rel="alternate" title="Apache Libcloud Blog Feed" />

    <!-- Facebook OpenGraph tags -->
    <meta content="Apache Libcloud" property="og:site_name">
    
      <meta content="ApacheCon and CloudStack Collaboration conference presnetations" property="og:title">
    

    

    

    
      <meta content="article" property="og:type">
    

    
      <meta content="https://libcloud.apache.org/blog/2014/04/15/libcloud-at-apachecon.html" property="og:url">
    
    
      <meta content="2014-04-15T00:00:00+00:00" property="article:published_time">
      <meta content="https://libcloud.apache.org/about.html" property="article:author">
    

    
      
      <meta content="conferences" property="article:tag">
      
      <meta content="apachecon" property="article:tag">
      
      <meta content="ccna" property="article:tag">
      
      <meta content="presentations" property="article:tag">
      
    

    <link href='/assets/global-49923225b15584efebd7a337daac5102.css' rel='stylesheet' type='text/css' />
  </head>

  <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
    <nav class="navbar navbar-fixed-top navbar-inverse" role="navigation">
      <div class="container">
        <div class="navbar-header">
          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <a class="navbar-brand" href="/index.html"><img src="/images/libcloud_logo.png" class="navbar-logo" /> Apache Libcloud</a>
        </div>
        <div class="collapse navbar-collapse navbar-ex1-collapse">
          <ul class="nav navbar-nav">
            
            
              
              <li ><a href="/" >Home</a></li>
            
              
              <li ><a href="/about.html" >About</a></li>
            
              
              <li ><a href="/getting-started.html" >Quick Start</a></li>
            
              
              <li ><a href="https://libcloud.readthedocs.org/en/stable/" target="_blank">Documentation</a></li>
            
              
              <li ><a href="/downloads.html" >Downloads</a></li>
            
              
              <li ><a href="/community.html" >Community</a></li>
            
              
              <li ><a href="/blog/" >Blog</a></li>
            
          </ul>

          <div class="material-switch pull-right">
              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
              <label for="theme-switch" class="label-default"></label>
              <span id="theme-toggle" class="theme-switch">Dark mode</span>
          </div>

        </div><!-- /.navbar-collapse -->
      </div><!-- /.container -->
    </nav>

    <div class="container main-container">
      <div class="row section page-content">
  <div class="col-lg-8 col-lg-offset-2">
    
<div class="post">
  
    <h2>ApacheCon and CloudStack Collaboration conference presnetations</h2>
  
  <span class="post-date-author">By Tomaz Muraus on Apr 15, 2014</span>

  <div class="post-content">
    <p>Last week <a href="http://events.linuxfoundation.org/events/apachecon-north-america">ApacheCon North America</a> and <a href="http://events.linuxfoundation.org/events/cloudstack-collaboration-conference-north-america">CloudStack Collaboration
Conference</a> took place in Denver, Colorado.</p>

<div class="imginline">
  <p><a href="http://events.linuxfoundation.org/events/apachecon-north-america" target="_blank">
  <img src="/images/apachecon_denver.png" class="img-responsive inline" />
  </a></p>
</div>

<p>During that week multiple presentations about Libcloud took place. In
this post I’m including links to the slides of some of those
presentations:</p>

<ul>
  <li><a href="http://www.slideshare.net/sebastiengoasguen/apache-libcloud">Apache Libcloud by Sebastien Goasguen</a> - Sebastien had a great introductory
presentation about Libcloud. His presentation also included a great demo
of using Libcloud’s deploy_node functionality to deploy a Worpdress blog on
Exoscale.</li>
  <li><a href="https://www.mist.io">Mobile, multi-cloud management on top of libcloud by Dimitris Moraitis</a> -
Dimitris presented how they utilize Libcloud at <a href="https://www.mist.io">mist.io</a>.</li>
</ul>

<div class="imginline">
  <p><img src="/images/posts/sacon.jpg" class="img-responsive inline" /></p>
  <p>Sebastien delivering his talk.</p>
</div>

<p><em>I was also supposed to deliver a presentation about Libcloud’s history,
evolution and lessons learned, but due to severe tonsillitis which has been
strecthing for over 3 weeks, I sadly had to cancel my talk.</em></p>


  </div>

  <div class="row section post-meta">
    <div class="col-md-12 post-tags">
      <p>Tags: <a href="/blog/tags/conferences.html" rel="tag">conferences</a>, <a href="/blog/tags/apachecon.html" rel="tag">apachecon</a>, <a href="/blog/tags/ccna.html" rel="tag">ccna</a>, <a href="/blog/tags/presentations.html" rel="tag">presentations</a></p>
    </div>
  </div>
</div>

Share : <a href="https://twitter.com/share" class="twitter-share-button"{count} data-via="libcloud" data-size="large" data-hashtags="cloud">Tweet</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>

  </div>
</div>


      <hr />

      <footer>
        <div class="row">
          <div class="col-lg-12 text-center">
            <div class="footer-links">
  <p><a href="http://www.apache.org/licenses/">License</a> | <a
  href="/security.html">Security</a> | <a
  href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
  <a href="http://www.apache.org/foundation/thanks.html">Thanks</a> |
  <a href="/credits.html">Credits</a> | <a href="/media.html">Media</a>
</div>

<div class="footer-text">
  <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
  <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
  <p class="">Site last updated on 2022-03-29 22:17:41 +0000</p>
</div>

          </div>
        </div>
      </footer>

    </div><!-- /.container -->

    <!-- JavaScript -->
    <script src='/assets/global-23549af89e29254587a07d91b7eb9749.js' type='text/javascript'></script>

    

    <script type="text/javascript">
  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-23580482-1']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();
</script>

  </body>
</html>
