<!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">CloudStack Documentation</span></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>
                <li class="divider"></li>
                <li><a tabindex="-1">Archived Documentation</a></li>
                <li><a tabindex="-1" href="http://docs.cloudstack.apache.org/projects/archived-cloudstack-getting-started" target="_blank">&nbsp;&nbsp;&nbsp;Getting Started Docs</span></a></li>
                <li><a tabindex="-1" href="http://docs.cloudstack.apache.org/projects/archived-cloudstack-installation" target="_blank">&nbsp;&nbsp;&nbsp;Installation Docs</a></li> 
                <li><a tabindex="-1" href="http://docs.cloudstack.apache.org/projects/archived-cloudstack-administration" target="_blank">&nbsp;&nbsp;&nbsp;Administration Docs</a></li>
                <li><a tabindex="-1" href="http://docs.cloudstack.apache.org/projects/archived-cloudstack-release-notes" target="_blank">&nbsp;&nbsp;&nbsp;Release Notes</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">
            <h2 id="i-classicon-cloudi-apache-cloudstack-features"><i class="icon-cloud"></i> Apache CloudStack Features</h2>

<p>As a mature and turnkey Infrastructure-as-a-Service (IaaS) platform, Apache CloudStack has a comprehensive set of features. This is an extensive, but not exhaustive, set of features.</p>

<p>Have a feature request? We'd invite you to <a href="mailing-lists.html">bring it up on the mailing list</a>, and consider <a href="https://issues.apache.org/jira/browse/CLOUDSTACK">filing a feature request in our bug tracker</a>.</p>

<table id="features" style="width: 100%;" border="1" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td class="head-left">
<h2><strong>Feature</strong></h2>
</td>
<td class="head-right">
<h2><strong>Description</strong></h2>
</td>
</tr>
<tr>
<td><strong>Rich Management User Interface</strong></td>
<td>CloudStack provides a feature-rich out-of-the-box <strong>user interface</strong> implemented on top of the CloudStack <strong>API</strong> to manage the cloud infrastructure. It is a fully AJAX based solution compatible with most of the latest internet browsers and can also be easily integrated with your existing portal.</td>
</tr>
<tr>
<td><strong>Brand-able Self Service User Interface</strong></td>
<td>Our out-of-the-box <strong>user interface</strong> was built using standard HTML and CSS with jQuery as our standard JavaScript library. It can be <strong>easily customized</strong> and branded to mirror your company’s existing look and feel.</td>
</tr>
<tr>
<td><strong><strong>Secure AJAX Console Access</strong></strong></td>
<td>A VNC AJAX client that allows users to access their virtual machine using any of the latest internet browsers without the need of any external add-on such as a JRE, ActiveX, or Flash.</td>
</tr>
<tr>
<td style="width: 200px; text-align: left;"><strong>Powerful <strong>API</strong></strong></td>
<td style="width: 518px;">Easily build, integrate, and use applications built on top of the CloudStack <strong>API</strong>. The CloudStack API is well-documented and extensible. CloudStack also includes support for the Amazon EC2 and S3 APIs.</td>
</tr>
<tr>
<td style="width: 200px; text-align: left;"><strong><strong>Secure Single Sign On</strong></strong></td>
<td style="width: 518px;">Aggregate and integrate your existing applications with our management <strong>user interface</strong> via our secure single sign-on for a better user experience.</td>
</tr>
<tr>
<td style="width: 200px; text-align: left;"><strong><strong>Multi-role Support</strong></strong></td>
<td style="width: 518px;">Three distinct account roles for <strong>user interface</strong> and <strong>API</strong> access are supported out-of-the-box:
<ul>
<li><strong>Admin:</strong> can manage both the virtual and physical resources of the cloud</li>
<li><strong>Domain-Admin:</strong> can manage only the virtual resources owned by the accounts within their domain</li>
<li><strong>User:</strong> can manage their own virtual resources</li>
</ul>
</td>
</tr>
<tr>
<td style="width: 200px; text-align: left;"><strong>On Demand Virtual Data center Hosting</strong></td>
<td style="width: 518px;">Provides users with virtually unlimited amount of computing resources – on demand, as required and billed by actual usage.</td>
</tr>
<tr>
<td style="width: 200px; text-align: left;"><strong><strong>Dynamic Workload Management</strong></strong></td>
<td style="width: 518px;">Completely automates the distribution of compute, network, and storage resource across the physical infrastructure while adhering to defined policies on load balancing, data security, and compliance.</td>
</tr>
<tr>
<td style="width: 200px; text-align: left;"><strong>Broad network Virtualization Capabilities</strong></td>
<td style="width: 518px;">Support for embedded software-based network management as well as <strong>VLAN</strong>. Our Direct Attached IP enables you to integrate with a virtual network architecture that best fits your needs.</td>
</tr>
<tr>
<td style="width: 200px; text-align: left;"><strong><strong>MPLS</strong> Support in the Cloud</strong></td>
<td style="width: 518px;">CloudStack allows you to dedicate an entire <strong>VLAN</strong> to a specific account for <strong>MPLS</strong> support between network nodes.</td>
</tr>
<tr>
<td style="width: 200px; text-align: left;"><strong>Secure Cloud Deployments</strong></td>
<td style="width: 518px;">Ensures that all memory, CPU, network, and storage resources are both available and isolated from one user account to another within the cloud.</td>
</tr>
<tr>
<td style="width: 200px; text-align: left;"><strong><strong>Hypervisor Agnostic</strong></strong></td>
<td style="width: 518px;">CloudStack provides you with the flexibility to allow you to integrate with the major hypervisors in the market today including VMware, KVM, Citrix XenServer, and Citrix Xen Cloud Platform.</td>
</tr>
<tr>
<td style="width: 200px; text-align: left;"><strong>Easy Template Creation Process</strong></td>
<td style="width: 518px;">The CloudStack User Interface allows you to easily create pre-defined templates for efficient virtual machine deployments. Templates can be created by attaching a guest OS ISO to a blank VM or directly from existing VMs in the cloud.</td>
</tr>
<tr>
<td style="width: 200px; text-align: left;"><strong>Rich Template and ISO Management</strong></td>
<td style="width: 518px;">Both users and administrators will be able to upload and manage their OS templates and ISO images from within the cloud. A few management features include the ability to allow others to use the templates/ISOs either on a global public level or on a per-account basis, and to allow the management of templates across multiple zones. CloudStack will ensure that templates are automatically copied to the appropriate storage servers.</td>
</tr>
<tr>
<td style="width: 200px; text-align: left;"><strong>Domains and Delegated Administration</strong></td>
<td style="width: 518px;">The support for domains allows you to segregate your cloud resources and delegate the management of these domains to other administrators.</td>
</tr>
<tr>
<td style="width: 200px; text-align: left;"><strong>Snapshot Management</strong></td>
<td style="width: 518px;">To help mitigate data loss and a way of disaster recovery, users are given the capability of either taking ad hoc snapshots of their disk volumes or setting up a comprehensive schedule for taking periodic snapshots of their data. Users can set limits to the number of snapshots taken to creating new data disk volumes from existing snapshots.</td>
</tr>
<tr>
<td style="width: 200px; text-align: left;"><strong>Comprehensive Service Management</strong></td>
<td style="width: 518px;">Administrators can define, meter, deploy, and manage multiple service and disk offerings within the cloud.</td>
</tr>
<tr>
<td style="width: 200px; text-align: left;"><strong>VM Sync and High Availability</strong></td>
<td style="width: 518px;">Our custom VM Sync technology constantly monitors and maintains the state of all virtual machines within the cloud from notifications of individual VM status to the ability to automatically ensure that the VM remains running.</td>
</tr>
<tr>
<td style="width: 200px; text-align: left;"><strong>Resource Over Provisioning and Limits</strong></td>
<td style="width: 518px;">By leveraging existing hypervisor, storage, and network technologies, you can configure the cloud to allow over provisioning of physical resources to optimize the allocation of your virtual machines.
<p>CloudStack also provides administrators the capability of limiting virtual resources (such as the number of VMs that an account can create to the number of public IP addresses an account can own).</p>
</td>
</tr>
<tr>
<td style="width: 200px; text-align: left;"><strong>Usage Metering</strong></td>
<td style="width: 518px;">Be able to deliver real-time visibility, produce historical usage reports, and create billing invoices by integrating with metering data generated by the CloudStack Usage Engine.</td>
</tr>
<tr>
<td style="width: 200px; text-align: left;"><strong>Alerts and Notifications</strong></td>
<td style="width: 518px;">With built-in cloud system monitoring processes, you will be able to receive up-to-the-minute alerts such as reaching a certain physical resource threshold or detecting machine failures through the CloudStack <strong>API</strong> and/or via email using SMTP.</td>
</tr>
<tr>
<td style="width: 200px; text-align: left;"><strong>Virtual Routers, Firewalls and Load Balancers</strong></td>
<td style="width: 518px;">CloudStack supports integration with both software and hardware firewalls and load balancers to provide additional security and scalability to a user’s cloud environment. Including F5 and Netscaler</td>
</tr>
<tr>
<td style="width: 200px; text-align: left;"><strong>Multiple Storage Solutions</strong></td>
<td style="width: 518px;">CloudStack supports many storage solutions with&nbsp; iSCSI and NFS being preferred, but anything that can have multiple nodes mount it simultaneously will work.&nbsp; Ceph RBD is also supported in combination with the KVM hypervisor. This gives you the ultimate freedom in deciding your storage servers from using commodity hardware to integrating with enterprise-grade solutions such as Dell EqualLogic or NetApp.</td>
</tr>
<tr>
<td style="width: 200px; text-align: left;"><strong>Storage Tiering</strong></td>
<td style="width: 518px;">As part of the CloudStack’s ability to integrate with multiple storage solutions, you will also be able to target specific storage servers to be used for VM deployments. This can be extremely beneficial when you have storage servers built with commodity hardware to support non disk intensive applications and dedicate fast and robust hardware for disk intensive applications such as databases.</td>
</tr>
<tr>
<td style="width: 200px; text-align: left;"><strong>Block Storage Volumes</strong></td>
<td style="width: 518px;">CloudStack supports the creation of block storage volumes of arbitrary size on both network attached storage (NAS) or local disk that can be attached and detached to and from your virtual machine.</td>
</tr>
<tr>
<td style="width: 200px; text-align: left;"><strong>Wide Range Guest VM OS Support</strong></td>
<td style="width: 518px;">Depending on the configured hypervisor, CloudStack supports a wide range of guest operating system including Windows®, Linux®, and various versions of BSD®.</td>
</tr>
<tr>
<td style="width: 200px; text-align: left;"><strong>Event/Audit Logs</strong></td>
<td style="width: 518px;">All user interactions via the CloudStack UI or <strong>API</strong> are recorded as events. Each event will indicate the type, severity level, description, owner of the resource, the user that initiated the action, and when the event occurred.</td>
</tr>
<tr>
<td style="width: 200px; text-align: left;"><strong>User Data Support</strong></td>
<td style="width: 518px;">CloudStack supports the notion of allowing a user to submit any type of binary user data when deploying a new virtual machine. This gives you the flexibility of giving each virtual machine created from the same OS template its own identity in the cloud.</td>
</tr>
<tr>
<td style="width: 200px; text-align: left;"><strong>Guest OS Preferences</strong></td>
<td style="width: 518px;">To take advantage of today’s hardware and OS licensing models, CloudStack allows administrators to identify physical hosts to “prefer” specific operating systems. For example this means that whenever possible, your Windows based operating systems will be instantiated on all hosts that have been identified as Windows “preferred.”</td>
</tr>
<tr>
<td style="width: 200px; text-align: left;"><strong>Host Maintenance with Live Migration</strong></td>
<td style="width: 518px;">Upgrades and hardware maintenance can be achieved on the cloud with no downtime for guest VMs. CloudStack will live-migrate any VMs from hosts that have been targeted for maintenance to prevent any disruption of service.</td>
</tr>
<tr>
<td style="width: 200px; text-align: left;"><strong>Flexible Adapter Framework</strong></td>
<td style="width: 518px;">The CloudStack was built from the ground up to support integration with a variety of hypervisors, storage, network, and authentication solutions. Due to this flexibility, we have created an Adapter Framework that will easily allow you to further customize the cloud to suit your business needs.</td>
</tr>
<tr>
<td style="width: 200px; text-align: left;"><strong>Random Password for Guest OS</strong></td>
<td style="width: 518px;">You can further enhance your guest OS templates to include our custom random password feature that will automatically generate a unique password upon the creation of a VM. This will allow your customers to securely log in and change their password. Both Windows and Linux based OS platforms are currently supported.</td>
</tr>
<tr>
<td style="width: 200px; text-align: left;"><strong>OpenStack Swift Integration for Secondary Storage&nbsp;</strong></td>
<td style="width: 518px;">Secondary storage (templates and VM snapshots) can be stored in OpenStack Swift as an alternative to NFS.</td>
</tr>
<tr>
<td style="width: 200px; text-align: left;"><strong>Projects</strong></td>
<td style="width: 518px;">Allow users to collaborate and share resources within a defined group or "project". When a user creates an a project all usage under the project is attributed to the account who becomes the project owner.&nbsp;</td>
</tr>
<tr>
<td style="width: 200px; text-align: left;"><strong>Clustered LVM Support</strong></td>
<td style="width: 518px;">CloudStack can utilize clustered Logical Volume Manager (LVM) storage configurations starting with version 3.0.&nbsp;</td>
</tr>
<tr>
<td style="width: 200px; text-align: left;"><strong><strong>NetScaler Support</strong></strong></td>
<td style="width: 518px;"><strong></strong>CloudStack supports MPX, VPX &amp; SDX devices. Users can set up Layer-4 load balancing rules. Supported protocols: HTTP, TCP &amp; UDP; Algorithms: least loaded and round robin; Persistent sessions: source IP based, cookie based.</td>
</tr>
<tr>
<td style="width: 200px; text-align: left;"><strong><strong>Network As a Service<br data-mce-bogus="1" /></strong></strong></td>
<td style="width: 518px;">Admin can compose network offerings with different network behaviors. For example, a basic network offering with CloudStack Virtual Router offering network services and a high-performance network offering with physical devices such as NetScaler and Juniper SRX. Users can select the network offering of choice while deploying a VM and also migrate VMs from one network offering to another.</td>
</tr>
<tr>
<td style="width: 200px; text-align: left;"><strong><strong>LDAP Integration<br data-mce-bogus="1" /></strong></strong></td>
<td style="width: 518px;">CloudStack supports LDAP authentication as a built-in optional AUTH adapter</td>
</tr>
<tr>
<td style="width: 200px; text-align: left;"><strong><strong>Notification &amp; Capacity Thresholds<br data-mce-bogus="1" /></strong></strong></td>
<td style="width: 518px;">Admin can set notification threshold to receive an alert when resource pool crosses the notification threshold. Capacity threshold prevents CloudStack from allocating further resources to that pool.</td>
</tr>
</tbody>
</table>



            <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>
