<!doctype html>
<html>  
  <head>
    <title>Apache CloudStack: Open Source Cloud Computing</title>

    <meta name="description" content="CloudStack is open source cloud computing software for creating, managing, and deploying infrastructure cloud services">

    <meta itemprop="name" content="Apache Cloudstack">
    <meta itemprop="description" content="CloudStack is open source cloud computing software for creating, managing, and deploying infrastructure cloud services">
    <meta itemprop="image" content="https://cloudstack.apache.org/images/monkey-144.png">

    <meta property="og:title" content="Apache Cloudstack">
    <meta property="og:description" content="CloudStack is open source cloud computing software for creating, managing, and deploying infrastructure cloud services">
    <meta property="og:site_name" content="Apache Cloudstack"/>
    <meta property="og:image" content="https://cloudstack.apache.org/images/monkey-144.png">

    <meta name="twitter:card" content="summary">
    <meta name="twitter:title" content="Apache Cloudstack">
    <meta name="twitter:description" content="CloudStack is open source cloud computing software for creating, managing, and deploying infrastructure cloud services">
    <meta name="twitter:image:src" content="https://cloudstack.apache.org/images/monkey-144.png">

    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=1">

    <link href="stylesheets/bootstrap.css" rel="stylesheet" media="screen">
    <link href="stylesheets/font-awesome.css" rel="stylesheet">
    <link href="stylesheets/bootswatch.min.css" rel="stylesheet">
    <link href="stylesheets/custom.css" rel="stylesheet">

    <link rel="shortcut icon" href="images/favicon.ico">
    <link rel="icon" href="images/favicon.ico">

<!-- Commenting out this template stuff until we figure out how to make it work with middleman
    {% if headers.atom %}
      <link rel="alternate" href="{{ headers.atom.url }}"
            type="application/atom+xml" title="{{ headers.atom.title }}" />
    {% endif %}

    {% if headers.base %}<base href="{{ headers.base }}" />{% endif %}
-->
<!--    {% if headers.notice %}{{ headers.notice }}{% endif %} -->
        <!-- Twitter Bootstrap and jQuery after this line. -->
        <script src="https://code.jquery.com/jquery-latest.js"></script>
        <script src="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
        <script>
            $('.dropdown-toggle').dropdown();
            $('.nav-collapse').collapse();
        </script>
  </head>
  <body>
    <div class="navbar navbar-default navbar-fixed-top">
        <div class="container">
            <div class="navbar-header">
                <a href="index.html" class="navbar-brand"><img class="" src="images/new-logo-sm.png" style="width: 200px" alt="Apache Cloudstack"></a>
                <button class="navbar-toggle collapsed" type="button" data-toggle="collapse" data-target="#navbar-main">
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
            </div>
            <div class="navbar-collapse collapse" id="navbar-main">
                <ul class="nav navbar-nav">
            <li class="dropdown">
              <a class="dropdown-toggle" data-toggle="dropdown" href="#" id="about">About <span class="caret"></span></a>
              <ul class="dropdown-menu" aria-labelledby="about">
                <li><a tabindex="-1" href="about.html">About</a></li>
                <li class="divider"></li>
                <li><a tabindex="-1" href="https://blogs.apache.org/cloudstack/" target="_blank">Blog<span class="glyphicon glyphicon-share-alt pull-right"></span></a></li>
                <li><a tabindex="-1" href="history.html">History</a></li>
                <li><a tabindex="-1" href="features.html">Features</a></li>
                <li><a tabindex="-1" href="cloudstack-faq.html">FAQ</a></li>
                <li><a tabindex="-1" href="who.html">Who We Are</a></li>
                <li><a tabindex="-1" href="security.html">Security</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a class="dropdown-toggle" data-toggle="dropdown" href="#" id="community">Community <span class="caret"></span></a>
              <ul class="dropdown-menu" aria-labelledby="community">
                <li><a tabindex="-1" href="contribute.html">Get Involved</a></li>
                <li><a tabindex="-1" href="developers.html">Developers</a></li>
                <li><a tabindex="-1" href="mailing-lists.html">Mailing Lists</a></li>
                <li><a tabindex="-1" href="http://cloudstackcollab.org/" target="_blank">Events &amp; Meetups <span class="glyphicon glyphicon-share-alt pull-right"></span></a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a class="dropdown-toggle" data-toggle="dropdown" href="#" id="users">Users <span class="caret"></span></a>
              <ul class="dropdown-menu" aria-labelledby="users">
                <li><a tabindex="-1" href="users.html">Known Users</a></li>
                <li><a tabindex="-1" href="https://cwiki.apache.org/confluence/display/CLOUDSTACK/Case+Studies" target="_blank">Case Studies <span class="glyphicon glyphicon-share-alt pull-right"></span></a></li>
                <li><a tabindex="-1" href="survey.html">Take Survey</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a class="dropdown-toggle" data-toggle="dropdown" href="#" id="docs">Documentation <span class="caret"></span></a>
              <ul class="dropdown-menu" aria-labelledby="docs">
                <li><a tabindex="-1" href="http://docs.cloudstack.apache.org" target="_blank">Getting Started Docs</span></a></li>
                <li><a tabindex="-1" href="http://docs.cloudstack.apache.org/projects/cloudstack-installation" target="_blank">Installation Docs</a></li> 
                <li><a tabindex="-1" href="http://docs.cloudstack.apache.org/projects/cloudstack-administration" target="_blank">Administration Docs</a></li>
                <li><a tabindex="-1" href="http://docs.cloudstack.apache.org/projects/cloudstack-release-notes" target="_blank">Release Notes</a></li>
                <li><a tabindex="-1" href="https://cwiki.apache.org/confluence/display/CLOUDSTACK/Home" target="_blank">Wiki</a></li>
                <li><a tabindex="-1" href="https://cwiki.apache.org/confluence/display/CLOUDSTACK/CloudStack+Books" target="_blank">Books</a></li>
                <li><a tabindex="-1" href="api.html">API Documentation</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a class="dropdown-toggle" data-toggle="dropdown" href="#" id="download">Download <span class="caret"></span></a>
              <ul class="dropdown-menu" aria-labelledby="download">
                <li><a tabindex="-1" href="downloads.html">CloudStack Releases</a></li>
                <li><a tabindex="-1" href="downloads.html#cloudmonkey">CloudMonkey</a></li>
                <li><a tabindex="-1" href="archives.html">Release Archive</a></li>
              </ul>
            </li>
			<li class="dropdown">
              <a class="dropdown-toggle" data-toggle="dropdown" href="#" id="apache">Apache <span class="caret"></span></a>
              <ul class="dropdown-menu" aria-labelledby="apache">
				<li><a tabindex="-1" href="http://apache.org">Apache Software Foundation</a></li>
                <li><a tabindex="-1" href="http://www.apache.org/licenses/">License</a></li>
                <li><a tabindex="-1" href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
                <li><a tabindex="-1" href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
              </ul>
            </li>
          </ul>
            </div>
        </div>
    </div>
    <div class="container">
        <div class="bs-docs-section">
            <div class="row">

<div class="col-lg-12">

<div class="page-header">

<h1 id="indicators">Apache CloudStack Users</h1>

</div>

</div>

</div>

<p>The following organisations are known users of Apache CloudStack (or a commercial distribution of CloudStack)</p>

<p>Our users include many major service providers running CloudStack to offer public cloud services, product vendors who incorporate or integrate with Cloudstack in their own products, organisations who have used Cloudstack to build their own private clouds, and systems integrators that offer CloudStack related services.</p>

<p><strong>Are you using CloudStack ?</strong></p>

<p>If you are using CloudStack in your organisation and your company is not listed here, please complete our brief adoption <a href="survey.html">survey</a>. We’re happy to keep your company name anonymous if you require.</p>

<p><strong>Noticed Something wrong ?</strong></p>

<p>If you noticed something wrong  with your entry here (or if you’d like us to remove it), please complete our adoption <a href="survey.html">survey</a>. We will use the information you give us in this survey to update the contents of this page</p>

<ul>
  <li><a href="http://www.actonmagic.com">ActOnMagic</a></li>
  <li><a href="http://www.appcore.com">Appcore</a></li>
  <li><a href="http://axiomio.com">AxiomIO</a></li>
  <li><a href="http://www.ayaline.com">Ayaline</a></li>
  <li><a href="http://www.bautzen-it.de">BIT.Group GmbH</a></li>
  <li><a href="http://btcloud.bt.com">BT</a></li>
  <li><a href="http://www.cloudops.com">CloudOps</a></li>
  <li><a href="http://www.codero.com">Codero</a></li>
  <li><a href="http://www.companycloud.nl">DATACENTER Services</a></li>
  <li><a href="http://www.datacentrix.co.za">DataCentrix</a></li>
  <li><a href="http://www.datapipe.com">Datapipe</a></li>
  <li><a href="http://www.dataways.gr">DATAWAYS SA</a></li>
  <li><a href="https://www.delimiter.com/">Delimiter Corp</a></li>
  <li><a href="http://www.enlanube.com.co">En La Nube</a></li>
  <li><a href="https://www.evry.com">EVRY</a></li>
  <li><a href="http://www.exaserve.com">Exaserve</a></li>
  <li><a href="http://www.fibercloud.com">FiberCloud</a></li>
  <li><a href="http://www.fortacloud.co">FortaCloud</a></li>
  <li><a href="http://www.heinlein-support.de">Heinlein Support GmbH</a></li>
  <li><a href="http://www.imperial.ac.uk/computing">Imperial College</a></li>
  <li><a href="http://www.inhouseit.com">InhouseIT</a></li>
  <li><a href="http://inria.fr">INRIA</a></li>
  <li><a href="http://kumo.com.co">Kumo</a></li>
  <li><a href="http://m5cloud.com">M5 Hosting Inc</a></li>
  <li><a href="http://nectar.org.au">Melbourne University</a></li>
  <li><a href="http://www.miriadis.com">Miriadis</a></li>
  <li><a href="http://neobitti.fi">Neobitti</a></li>
  <li><a href="http://www.openminds.be">Openminds</a></li>
  <li><a href="http://stacksquare.com">Overweb srl</a></li>
  <li><a href="http://polcom.com.pl">Polcom</a></li>
  <li><a href="http://www.reliablenetworks.com">Reliable Networks</a></li>
  <li><a href="http://www.redbridge.se">Redbridge</a></li>
  <li><a href="https://www.safeswisscloud.ch">SafeSwiss Cloud</a></li>
  <li><a href="http://www.sjcloud.cn/index.xhtml">SJC Inc</a></li>
  <li><a href="http://www.telia.lv">Telia Latvia</a></li>
  <li><a href="http://www.tqhosting.com">Tranquil Hosting</a></li>
  <li><a href="http://www.liquidns.com">Treestle BV</a></li>
  <li><a href="http://tucha.ua">Tucha</a></li>
  <li><a href="http://rrzk.uni-koeln.de/">University of Cologne</a></li>
  <li><a href="http://www.upcnet.es">UPCnet</a></li>
  <li><a href="http://www.vdispace.com">VDI Space, Inc</a></li>
  <li><a href="http://www.wirenc.com">wirenc.com</a></li>
  <li><a href="http://youngsoft.com">Youngsoft Inc</a></li>
  <li>
    <p><a href="http://zeromachine.net">Zeromachine</a></p>
  </li>
  <li>1 degreenorth</li>
  <li>5th Planet</li>
  <li>Accudata Systems</li>
  <li>Acentrix</li>
  <li>ActiveEon</li>
  <li>Add Value</li>
  <li>Alcatel-Lucent</li>
  <li>Amdocs</li>
  <li>Amysta</li>
  <li>Angani</li>
  <li>Anolim</li>
  <li>Apalia</li>
  <li>Appcara Inc.</li>
  <li>Appcore</li>
  <li>Appdel</li>
  <li>AppFirst</li>
  <li>Apple</li>
  <li>AppSphere</li>
  <li>Ascenty</li>
  <li>ASG</li>
  <li>AST Modular</li>
  <li>Autodesk</li>
  <li>AXEKA</li>
  <li>Axelaris</li>
  <li>Backbone Technology</li>
  <li>Bechtle AG</li>
  <li>Bell Canada</li>
  <li>BigREDGroup</li>
  <li>British Telecom (BT)</li>
  <li>BT Cloud</li>
  <li>BT Engage IT</li>
  <li>Business Connexion</li>
  <li>CA Technologies</li>
  <li>CANCOM</li>
  <li>Caringo</li>
  <li>Centracon</li>
  <li>CentralWay</li>
  <li>China Telecom</li>
  <li>Citrix Systems</li>
  <li>Clavis IT</li>
  <li>Cloud3</li>
  <li>CloudCentral</li>
  <li>Cloudera</li>
  <li>Cloudian, Inc.</li>
  <li>CloudOps</li>
  <li>Cloudsoft Corporation</li>
  <li>Colt</li>
  <li>COMBIS</li>
  <li>COMLINE Computer + Softwarelösungen</li>
  <li>COMPAREX</li>
  <li>Comping</li>
  <li>Computer Services Group</li>
  <li>Contegix</li>
  <li>Control Circle</li>
  <li>Convergence Group</li>
  <li>CumuLogic, Inc</li>
  <li>Datacentrix</li>
  <li>Datapipe</li>
  <li>DBR360</li>
  <li>Dell</li>
  <li>Digital China Advanced Systems</li>
  <li>Disney</li>
  <li>DU</li>
  <li>e-Contact</li>
  <li>Edmunds.com</li>
  <li>Encloud</li>
  <li>Ennit</li>
  <li>EnterpriseDB</li>
  <li>Entisys Solutions</li>
  <li>EXA Serve</li>
  <li>Exoscale</li>
  <li>Experteq IT Services</li>
  <li>FPG Technologies &amp; Solutions</li>
  <li>Fritz &amp; Macziol</li>
  <li>Fujitsu FIP Corporation</li>
  <li>GigaSpaces Technologies</li>
  <li>Globo.com</li>
  <li>GreenQloud</li>
  <li>Gridstore</li>
  <li>Haaga Helia</li>
  <li>Hillstone Networks, Inc</li>
  <li>Hokkaido University</li>
  <li>Homeaway</li>
  <li>Host.net</li>
  <li>Hostbill</li>
  <li>Huawei</li>
  <li>IDC Frontier</li>
  <li>Ikoula</li>
  <li>IndiQus Technologies</li>
  <li>InMobi</li>
  <li>Interoute</li>
  <li>ISWest</li>
  <li>Janz IT</li>
  <li>Joe’s Cloud Computing</li>
  <li>Juniper Networks</li>
  <li>KDDI</li>
  <li>KIVBF</li>
  <li>KocSistem</li>
  <li>Kommunale Informatoinsverarbeitung Baden-Franken</li>
  <li>KT/Korea Telecom</li>
  <li>Kumo</li>
  <li>Kyuden Infocom</li>
  <li>Kyushu University</li>
  <li>LCS</li>
  <li>LeaseWeb</li>
  <li>Logicworks</li>
  <li>Makro Factory oHG</li>
  <li>MCPc</li>
  <li>Microland Ltd</li>
  <li>MittelstandsCLOUD</li>
  <li>MK Netzdienste</li>
  <li>NAMU Tech</li>
  <li>NEOS</li>
  <li>NetStandard</li>
  <li>Networkers AG</li>
  <li>Nokia</li>
  <li>NTT</li>
  <li>NVision Group</li>
  <li>OpenERP</li>
  <li>Opscode  (now Chef)</li>
  <li>Orange</li>
  <li>OverBright</li>
  <li>Ozona Consulting</li>
  <li>PCextreme</li>
  <li>PosAm</li>
  <li>PPTV</li>
  <li>PromonLogicalis</li>
  <li>Proteus</li>
  <li>Quality Software (Hostbill)</li>
  <li>RealCloud (PKN)</li>
  <li>Redapt</li>
  <li>RedBridge</li>
  <li>RightScale, Inc.</li>
  <li>Royal Melbourne Institute of Technology (RMIT)</li>
  <li>Safe Swiss Cloud</li>
  <li>SAP</li>
  <li>Scalr</li>
  <li>Schuberg Philis</li>
  <li>ScienceLogic, Inc.</li>
  <li>SCSK</li>
  <li>sepago GmbH</li>
  <li>ShapeBlue</li>
  <li>Shopzilla</li>
  <li>Slovak Telekom</li>
  <li>SoftLayer</li>
  <li>SoftwareONE</li>
  <li>SolidFire</li>
  <li>SSI</li>
  <li>StackIQ</li>
  <li>Stratosec</li>
  <li>SunGard AS</li>
  <li>SwiftStack</li>
  <li>SWISS TXT</li>
  <li>Taiwan Mobile</li>
  <li>Targus Technologies</li>
  <li>Tata</li>
  <li>Tendril</li>
  <li>TNTG Limited</li>
  <li>TomTom</li>
  <li>Trader Media Group</li>
  <li>TrendMicro/TCloud Computing</li>
  <li>UniSystems</li>
  <li>University of Melbourne</li>
  <li>University of Sao Paolo</li>
  <li>UShareSoft</li>
  <li>Verio</li>
  <li>Verizon</li>
  <li>Vision Solutions, Inc.</li>
  <li>VMTurbo</li>
  <li>WebMD</li>
  <li>X-IO Technologies</li>
  <li>Xtendsys</li>
  <li>Zajil Telecom</li>
  <li>Zenoss</li>
  <li>Zynga</li>
</ul>


            <footer>
                <p>Copyright © 2017 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br/>
                "Apache", "CloudStack", "Apache CloudStack", the Apache CloudStack logo, the Apache CloudStack Cloud Monkey logo and the Apache feather logos are registered trademarks or trademarks of The Apache Software Foundation.</p>
                <p><a href="/trademark-guidelines.html">Apache CloudStack Trademark Usage</a> - <a href="/bylaws.html">Apache CloudStack Community ByLaws</a></p>
            </footer>

        </div>
    </div>
</div>
  </body>
</html>
