Installation Instructions (AEN 4.1.1)
=====================================

.. raw:: html

    <div class="section" id="installation">
    <h1>Installation<a class="headerlink" href="#installation" title="Permalink to this headline">¶</a></h1>
    <p>This installation overview reviews the steps needed to install a
    basic Anaconda Enterprise Notebooks system comprised of a front-end
    server, gateway and compute machines.</p>
    <p>Please refer to the <a class="reference internal" href="installation.html"><span class="doc">Installation Runbook</span></a> for step-by-step instructions during
    the installation process.</p>
    <p>If you have any questions about these instructions, please contact your sales
    representative or Priority Support team.</p>
    <p><strong>SYSTEM OVERVIEW</strong></p>
    <p>The Anaconda Enterprise Notebooks (AEN) platform consists of three main
    service groups: <em>AEN Server</em>, <em>AEN Gateway</em>, and <em>AEN Compute</em>, below
    referred to simply as <em>Server</em>, <em>Gateway</em>, and <em>Compute</em> nodes
    respectively. These services can be run on a single machine or distributed
    across multiple servers.</p>
    <ul class="simple">
    <li><em>Server</em>: the entry point to Anaconda Enterprise Notebooks, managing
    users and projects</li>
    <li><em>Gateway</em>: a proxy service to handle URL and port mapping to ancillary
    services.</li>
    <li><em>Compute Node</em>: each compute node in the Anaconda Enterprise Notebooks system requires a
    <em>Compute Launcher</em> service to mediate access to the <em>Server</em> and
    the <em>Gateway</em></li>
    </ul>
    <p><img alt="image1" src="../../../_images/ae-notebooks/4.1.1/install/network-diagram.png" /></p>
    <p>Organizationally, each Anaconda Enterprise Notebooks installation has
    exactly one <em>Server</em> instance. One or more <em>Gateway</em> instances can be configured
    and each <em>Compute Node</em> can only connect to one <em>Gateway</em>. The collection of
    <em>Compute Nodes</em> served by a single <em>Gateway</em> will be referred to as a <em>Data Center</em>.
    New <em>Data Centers</em> can be added to the AEN installation at any time.</p>
    <p>For example, a Anaconda Enterprise Notebooks deployment with 2
    <em>Data Centers</em>, where one <em>Gateway</em> had a cluster of 20 physical computers,
    and the second <em>Gateway</em> had 30 virtual machines would have the
    following complement of services installed and running:</p>
    <div class="highlight-default"><div class="highlight"><pre><span></span><span class="mi">1</span>  <span class="n">AEN</span> <span class="n">Server</span> <span class="n">instance</span>
    <span class="mi">2</span>  <span class="n">AEN</span> <span class="n">Gateway</span> <span class="n">instances</span>
    <span class="mi">50</span> <span class="n">AEN</span> <span class="n">Compute</span> <span class="n">instances</span> <span class="p">(</span><span class="mi">20</span> <span class="o">+</span> <span class="mi">30</span><span class="p">)</span>
    </pre></div>
    </div>
    <p>Anaconda Enterprise Notebooks users interact with the system
    predominantly through <em>Projects</em>.</p>
    <ul class="simple">
    <li><em>Project</em>: a set of <em>conda environments</em>, Jupyter Notebooks, and other artefacts that can be accessed by a <em>Team</em> of users</li>
    </ul>
    <p>Projects are associated with a single <em>Data Center</em> within the AEN environment.
    The <em>Team</em> of users includes one <em>Owner</em>, which is the user that created the <em>Project</em>.</p>
    <p>Since Anaconda Enterprise Notebooks is web-based, it uses the standard
    HTTP port 80 or HTTPS port 443 on the <em>Server</em>.</p>
    <p><strong>INSTALLERS</strong></p>
    <p>The Anaconda Enterprise Notebooks installers are available to paid
    customers only. If you are interested in a demonstration of Anaconda
    Enterprise Notebooks, please <a class="reference external" href="https://www.continuum.io/contact-us">contact
    us</a>.</p>
    <p><strong>COMPONENTS</strong></p>
    <p><strong>SERVER</strong></p>
    <p>The <em>Server</em> component is responsible for login, accounts, admin,
    project creation and management and interfacing with the database.
    The <em>Server</em> is the main entry point for all users. It handles setting up
    projects and ensuring that users are sent to the correct <em>Data Center</em> for a
    given <em>Project</em>.</p>
    <p>Anaconda Enterprise Notebooks uses <em>MongoDB</em> for its internal data
    persistency. This is typically run on the same host as the <em>Server</em> but
    can also be deployed on a separate host.</p>
    <p>The <em>Server</em> uses <em>nginx</em> to handle the user-facing web interface.
    <em>nginx</em> acts as a request proxy. The actual <em>Server</em> web-process runs on
    a high numbered port listening only on <code class="docutils literal"><span class="pre">localhost</span></code>, and <em>nginx</em>
    forwards requests there. The <em>nginx</em> server is also responsible for
    static content.</p>
    <p><strong>GATEWAY</strong></p>
    <p>The <em>Gateway</em> provides a single access point to a set of <em>Compute
    Nodes</em>, and acts as a <em>proxy service</em> to manage authorization and
    mapping of URLs and ports to services that are running on <em>Compute
    Nodes</em>, thus providing a consistent uniform interface for the user.
    The <em>Gateway</em> may also be referred to as a <em>Data Center</em> because it
    serves as the proxy for the collection of compute nodes.</p>
    <p><strong>COMPUTE NODE</strong></p>
    <p><em>Compute Nodes</em> are where <em>Apps</em> (such as Jupyter Notebook
    and Workbench) actually run. These are also the hosts that a user would
    see in a <em>terminal session</em> or if they used <em>SSH</em> to access the node. It
    is where all user-visible programs run. Each <em>Project</em> is associated
    with one or more <em>Compute Nodes</em>, and these in turn are part of a single
    <em>Data Center</em>.</p>
    <p><strong>DISTRIBUTED INSTALL</strong></p>
    <p>In a distributed install the <em>Server</em> and <em>Gateway</em> run on separate
    hosts.</p>
    <p><strong>SINGLE-BOX INSTALL</strong></p>
    <p>Both the <em>Server</em> and the <em>Gateway</em> need separate external ports since
    they are independent services that are running on the same host in the
    <em>single-box</em> installation.</p>
    <p><strong>Both port 80 and port 8089 must be open on the firewall for a
    single-box install</strong></p>
    <p>The <em>Compute</em> service receives connections only from the <em>Gateway</em> and
    the <em>Server</em>, and typically runs on port 80 or port 443.</p>
    <div class="toctree-wrapper compound">
    </div>
    </div>
