 <!--
 ▄▄▄       ██▓███   ▄▄▄       ▄████▄   ██░ ██ ▓█████     ██▓  ▄████  ███▄    █  ██▓▄▄▄█████▓▓█████
▒████▄    ▓██░  ██▒▒████▄    ▒██▀ ▀█  ▓██░ ██▒▓█   ▀    ▓██▒ ██▒ ▀█▒ ██ ▀█   █ ▓██▒▓  ██▒ ▓▒▓█   ▀
▒██  ▀█▄  ▓██░ ██▓▒▒██  ▀█▄  ▒▓█    ▄ ▒██▀▀██░▒███      ▒██▒▒██░▄▄▄░▓██  ▀█ ██▒▒██▒▒ ▓██░ ▒░▒███
░██▄▄▄▄██ ▒██▄█▓▒ ▒░██▄▄▄▄██ ▒▓▓▄ ▄██▒░▓█ ░██ ▒▓█  ▄    ░██░░▓█  ██▓▓██▒  ▐▌██▒░██░░ ▓██▓ ░ ▒▓█  ▄
 ▓█   ▓██▒▒██▒ ░  ░ ▓█   ▓██▒▒ ▓███▀ ░░▓█▒░██▓░▒████▒   ░██░░▒▓███▀▒▒██░   ▓██░░██░  ▒██▒ ░ ░▒████▒
 ▒▒   ▓▒█░▒▓▒░ ░  ░ ▒▒   ▓▒█░░ ░▒ ▒  ░ ▒ ░░▒░▒░░ ▒░ ░   ░▓   ░▒   ▒ ░ ▒░   ▒ ▒ ░▓    ▒ ░░   ░░ ▒░ ░
  ▒   ▒▒ ░░▒ ░       ▒   ▒▒ ░  ░  ▒    ▒ ░▒░ ░ ░ ░  ░    ▒ ░  ░   ░ ░ ░░   ░ ▒░ ▒ ░    ░     ░ ░  ░
  ░   ▒   ░░         ░   ▒   ░         ░  ░░ ░   ░       ▒ ░░ ░   ░    ░   ░ ░  ▒ ░  ░         ░
      ░  ░               ░  ░░ ░       ░  ░  ░   ░  ░    ░        ░          ░  ░              ░  ░
-->

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
    <meta http-equiv="Pragma" content="no-cache" />
    <meta http-equiv="Expires" content="0" />
    <title>Apache Ignite - Deployment</title>
    <link media="all" rel="stylesheet" href="/css/all.css">
    <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
    <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>

    <!--#include virtual="/includes/sh.html" -->
</head>
<body>
<div id="wrapper">
    <!--#include virtual="/includes/header.html" -->

    <main id="main" role="main" class="container">
        <section id="igfs" class="page-section">
            <div class="col-sm-12 col-md-12 col-xs-12" style="padding-left:0; padding-right:0;">
                <div class="col-sm-6 col-md-7 col-xs-12" style="padding-left:0; padding-right:0;">
                    <h2 class="first">Runs Everywhere</h2>
                    <p>
                        Apache Ignite can run stand alone, in a cluster, within Docker containers, as well
                        as on Apache Mesos and Hadoop Yarn. It can also run on physical servers, as well as within
                        virtual environments.
                    </p>
                    <div class="page-heading">Public Clouds:</div>
                    <p>
                        For public cloud environments, Ignite has native integration with <code class="text-nowrap">Amazon AWS</code>
                        and <code class="text-nowrap">Google Compute Engine</code>. For all other cloud environments, Ignite
                        integrates with <code class="text-nowrap">Apache JClouds</code> which has support for most of the
                        <a href="https://jclouds.apache.org/reference/providers/" target="_blank" class="text-nowrap">existing
                            cloud providers</a>.
                    </p>
                    <div class="page-heading">Containers:</div>
                    <p>
                        Ignite can freely run within container environments. Ignite integration with <code>Docker</code>
                        allows to automatically build and deploy user code into Ignite prior to server startup.
                    </p>
                    <div class="page-heading">Resource Managers:</div>
                    <p>
                        Ignite provides native integration for <code class="text-nowrap">Hadoop Yarn</code> and <code class="text-nowrap">Apache Mesos</code> making it very easy
                        to seamlessly deploy Ignite into Hadoop and Spark environments.
                    </p>
                </div>

                <div class="col-sm-6 col-md-5 col-xs-12" style="padding-right:0;">
                    <img class="first img-responsive" src="/images/ignite-deploy.png" width="440px" style="float:right;"/>
                </div>
            </div>&nbsp;
        </section>
        <section id="key-features" class="page-section">
            <h2>Deployment Options</h2>
            <table class="formatted" name="Deployment Options Features">
                <thead>
                    <tr>
                        <th width="35%" class="left">Feature</th>
                        <th>Description</th>
                    </tr>
                </thead>
                <tbody>
                <tr>
                    <td class="left">Zero Deployment</td>
                    <td>
                        <p>
                            Ignite nodes automatically become aware of custom classes, eliminating the need to explicitly deploy them.
                        </p>
                        <div  class="page-links">
                            <a href="https://apacheignite.readme.io/docs/zero-deployment" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
                        </div>
                    </td>
                </tr>
                <tr>
                    <td class="left">Dynamic Schema Changes</td>
                    <td>
                        <p>
                            Ignite stores objects in binary format eliminating the need to deploy classes on server nodes.
                        </p>
                        <div  class="page-links">
                            <a href="https://apacheignite.readme.io/docs/binary-marshaller" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
                        </div>
                    </td>
                </tr>
                    <tr>
                        <td class="left">Stand-Alone Clusters</td>
                        <td>
                            <p>
                                Ignite nodes can automatically discover each other. This helps to scale the cluster
                                when needed, without having to restart the whole cluster - simply start up new additional
                                nodes and they will automatically join the existing work loads.
                            </p>
                            <div class="page-links">
                                <a href="http://apacheignite.readme.io/docs/cluster" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
                            </div>
                        </td>
                    </tr>
                    <tr>
                        <td class="left">Docker Container</td>
                        <td>
                            <p>
                                <code>Docker</code> allows to package Ignite deployment with all the dependencies into a
                                standard container. Docker automates downloading the Ignite release, deploying users'
                                code into Ignite, and configuring nodes. It also automatically starts up the fully
                                configured Ignite node.
                            </p>
                            <div class="page-links">
                                <a href="http://apacheignite.readme.io/v1.3/docs/docker-deployment" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
                            </div>
                        </td>
                    </tr>
                    <tr>
                        <td class="left">Public Clouds</td>
                        <td>
                            <p>
                                For public cloud environments, Ignite has native integration with <code class="text-nowrap">Amazon AWS</code>
                                and <code class="text-nowrap">Google Compute Engine</code>. For all other cloud environments, Ignite
                                integrates with <code class="text-nowrap">Apache JClouds</code> which has support for most of the
                                <a href="https://jclouds.apache.org/reference/providers/" target="_blank" class="text-nowrap">existing cloud providers</a>.
                            </p>
                            <div class="page-links" style="line-height: 1.3;">
                                <a href="http://apacheignite.readme.io/docs/aws-config" target="docs">Amazon AWS Integration <i class="fa fa-angle-double-right"></i></a><br/>
                                <a href="http://apacheignite.readme.io/docs/gce-configuration" target="docs">Google Cloud Integration <i class="fa fa-angle-double-right"></i></a><br/>
                                <a href="http://apacheignite.readme.io/docs/generic-cloud-configuration" target="docs">Apache JClouds Integration <i class="fa fa-angle-double-right"></i></a>
                            </div>
                        </td>
                    </tr>
                    <tr>
                        <td class="left">Apache Mesos</td>
                        <td>
                            <p>
                                Ignite provides native integration for <code>Apache Mesos</code> making it very easy
                                to deploy into Mesos data centers, such as, for example, Hadoop and Spark environments.
                            </p>
                            <div class="page-links">
                                <a href="http://apacheignite.readme.io/docs/mesos-deployment" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
                            </div>
                        </td>
                    </tr>
                    <tr>
                        <td class="left">Hadoop Yarn</td>
                        <td>
                            <p>
                                Ignite provides native integration for <code>Hadoop Yarn</code> making it very easy
                                to deploy into Hadoop and Spark environments.
                            </p>
                            <div class="page-links">
                                <a href="http://apacheignite.readme.io/docs/yarn-deployment" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
                            </div>
                        </td>
                    </tr>
                <tr>
                    <td class="left">OSGI Support</td>
                    <td>
                        <p></p>&nbsp;
                        <div  class="page-links">
                            <a href="https://apacheignite.readme.io/docs/osgi-starting-inside-a-container" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
                        </div>
                    </td>
                </tr>
                </tbody>
            </table>
        </section>
    </main>

    <!--#include virtual="/includes/footer.html" -->
</div>
<!--#include virtual="/includes/scripts.html" -->
</body>
</html>
