<!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 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="http://planet.apache.org/cloudstack/" target="_blank">Planet</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://lanyrd.com/topics/apache-cloudstack/" 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="downloads.html#archives">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">
            <h2 id="i-classicon-cloudi-understanding-apache-cloudstack"><i class="icon-cloud"></i> Understanding Apache CloudStack</h2>

<p><img src="/cloudstack/images/cloudstack-oss-architecture.png" class="illustration" width="294" height="333" /> 
Apache CloudStack is open source software that forms the foundation for infrastructure clouds. Data center operators can quickly and easily build cloud services within their existing infrastructure to offer on-demand, elastic cloud services. Enterprises can use CloudStack to take on hybrid workloads, making it easier to manage legacy workloads while spinning up workloads that take advantage of the cloud model.</p>

<p>CloudStack users can take full advantage of cloud computing to deliver higher efficiency, limitless scale and faster deployment of new services and systems to the end-user. CloudStack allows user to coordinate virtualized servers, networking and network storage to provide infrastructure-as-a-service (IaaS) just like hosting providers – but on their own hardware.</p>

<p>CloudStack is an open source cloud operating system which delivers public cloud computing similar to Amazon EC2 but using your own hardware. CloudStack provides orchestration of your virtualized resources into one homogeneous environment where you can delegate the creation to users of the virtual machines using the self-service CloudStack portal.</p>

<p>CloudStack provides powerful features for enabling a secure multi-tenant cloud computing environment. With one click virtual servers can be deployed from a pre-defined template. Virtualized instances can be shutdown, paused and restarted via the web interface, the command line or by calling the extensive CloudStack API.</p>

<p>CloudStack can be used for multiple purposes:</p>

<ul>
  <li>Service Providers can offer virtualized hosting in an elastic cloud computing configuration</li>
  <li>Enterprises can stage development, testing and production in a consistent way easing the development and publishing processes for applications</li>
  <li>Web content providers can deploy scalable, elastic web infrastructure that can adapt to meet the demand of their readership</li>
  <li>Software-as-a-Service providers can offer true multi-tenant software hosting while securing each user's environments</li>
</ul>

<p>All these capabilities are a result of years of development and collaboration by the Cloudstack development team with cloud computing users to deploy some of the largest, most scalable private and public cloud computing environments in the world.</p>

<h3 id="key-features">Key Features</h3>

<ul>
  <li><strong>One Cloud, Multiple Hypervisors</strong> - With CloudStack, a single cloud deployment can run multiple hypervisor implementations of multiple types. Based on a pluggable architecture, CloudStack software works with a variety of hypervisors including KVM, vSphere and Citrix XenServer to give customers complete freedom to choose the right hypervisor for their workload.</li>
  <li><strong>Massively scalable infrastructure management</strong> - CloudStack lets you manage tens of thousands of servers across geographically distributed datacenters through a linearly scalable, centralized management server that eliminates the need for intermediate cluster-level management servers. No single component failure can cause cluster or cloud-wide outage, enabling downtime-free management server maintenance and reducing the workload of managing a large-scale cloud deployment.</li>
  <li><strong>Easy-To-Use Web Interface</strong> - CloudStack makes it simple to manage your cloud infrastructure with a feature-rich user interface implemented on top of the CloudStack API. Fully AJAX-based and compatible with most popular web browsers, the solution can be easily integrated with your existing portal for seamless administration. A real-time view of the aggregated storage, IP pools, CPU, memory and other resources in use gives you better visibility and control over your cloud.</li>
  <li><strong>Robust RESTful API</strong> - CloudStack implements industry-standard APIs on top of a low-level CloudStack API with its own unique and innovative features. Although the CloudStack API is documented, maintained and supported, CloudStack does not assert it as your only option! We also have support for the EC2/S3 API and may implement other cloud API standards as they become available.</li>
</ul>

<p>For a full list of features, see <a href="/features.html">our feature list</a>.</p>

<h3 id="benefits">Benefits</h3>

<ul>
  <li>CloudStack empowers users to "serve themselves" - giving IT the opportunity to remove roadblocks from speedy service delivery and to focus on solving business problems.</li>
  <li>CloudStack automates previously labor intensive tasks, helping to reduce IT operations costs and deliver services more quickly.</li>
  <li>Allows IT to provide standardized workloads, which ensure consistency with application and service delivery.</li>
  <li>Enhances visibility into resource allocation and the business usage of services.</li>
  <li>Increases the server/admin ratio and delivers benefits of scale: Even if deployed globally!</li>
</ul>

<h3 id="download-now">Download Now</h3>

<p>You can get started with CloudStack immediately. See our <a href="/downloads.html">downloads page</a> for source code and convenience binaries.</p>


            <footer>
                <p>Copyright © 2016 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>
