<!DOCTYPE html>
<!--
  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
  KIND, either express or implied.  See the License for the
  specific language governing permissions and limitations
  under the License.
-->
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>Apache Gobblin</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <link rel="icon"
          type="image/png"
          href="assets/images/favicon.png">
    <!--===============================================
      CSS files
    =================================================-->
    <link rel="stylesheet" href="assets/css/bootstrap.css" media="screen">
    <link rel="stylesheet" href="https://netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css">
    <link rel="stylesheet" href="assets/css/custom.min.css">
    <link rel="stylesheet" href="assets/css/gobblin.css">
    <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
    <!--[if lt IE 9]>
      <script src="assets/js/html5shiv.js"></script>
      <script src="assets/js/respond.min.js"></script>
    <![endif]-->
  </head>
  <body>
    <!--===============================================
      Gobblin Navigation Space <start>
    =================================================-->

    <div id="navigationHomePage"></div>

    <!--===============================================
      Gobblin Navigation Space <end>
    =================================================-->
    <!--===============================================
      Gobblin Center Space <start>
    =================================================-->
    <div class="container">

      <div class="page-header" id="primary-content">
        <!--===============================================
          ROW 1 <start>
        =================================================-->
        <div class="row">
          <!--===============================================
             Gobblin Primary Content <start>
          =================================================-->
          <div class="col-lg-8 col-md-7 col-sm-6 text-center" class="primary-container-header">
            <h1 style="margin-top: 0px">Apache Gobblin</h1>
            <p class="lead">A distributed data integration framework that simplifies common aspects of big data integration such as data ingestion, replication, organization and lifecycle management for both <b>streaming</b> and <b>batch</b> data ecosystems.</p>
            <p class="lead">
                <a class="btn btn-primary btn-animated btn-outline" href="/download">Download</a>
                <!-- <a class="btn btn-primary btn-animated btn-outline" href="https://www.gobblin.io" target="_blank" rel="nofollow">Try Gobblin</a> -->
            </p>
          </div>
          <!--===============================================
             Gobblin Primary Content <end>
          =================================================-->
          <!--===============================================
             Gobblin News Content <start>
          =================================================-->
          <div class="col-lg-4 col-md-5 col-sm-6">
            <div class="row">
              <div class="col-sm-12 panel panel-default latest-news-panel">
                <p class="latest-news-header">
                    <!-- REQUIRED BY APACHE FOR ADVERTISING ITS EVENTS [START] -->
                    <a  href="https://www.apache.org/events/current-event.html">
                        <img src="https://www.apache.org/events/current-event-234x60.png"/>
                    </a>
                    <!-- REQUIRED BY APACHE FOR ADVERTISING ITS EVENTS [END] -->
                </p>
                  
                <p class="latest-news-header">Latest News</p>

		 <div class="row latest-news-item">
                  <div class="col-sm-12" style="margin-bottom: 5px">
                   <span style="font-size: 12px; margin-right: 5px;">Dec 2020</span>
                   <a href="https://www.apache.org/dyn/closer.lua/incubator/gobblin/apache-gobblin-incubating-0.15.0/" target="_blank">Apache Gobblin 0.15.0-incubating released.</a>
                  </div>
                </div>

                <div class="row latest-news-item">
                  <div class="col-sm-12" style="margin-bottom: 5px">
                    <span style="font-size: 12px; margin-right: 5px;">Mar 2020</span>
                    <a href="/docs/developer-guide/HighLevelConsumer" target="_blank">Apache Gobblin has improved High Level Consumer.</a>
                  </div>
                </div>
                  
                <div class="row latest-news-item">
                  <div class="col-sm-12" style="margin-bottom: 5px">
                   <span style="font-size: 12px; margin-right: 5px;">Dec 2018</span>
                   <a href="https://www.apache.org/dyn/closer.lua/incubator/gobblin/apache-gobblin-incubating-0.14.0/" target="_blank">Apache Gobblin 0.14.0-incubating released.</a>
                  </div>
                </div>
                  
                <div class="row latest-news-item">
                  <div class="col-sm-12" style="margin-bottom: 5px">
                   <span style="font-size: 12px; margin-right: 5px;">Sep 2018</span>
                   <a href="https://www.apache.org/dyn/closer.lua/incubator/gobblin/apache-gobblin-incubating-0.13.0/" target="_blank">Apache Gobblin 0.13.0-incubating released.</a>
                  </div>
                </div>
                                    
              </div>
            </div>
          </div>
          <!--===============================================
             Gobblin News Content <end>
          =================================================-->
        </div>
        <!--===============================================
          ROW 1 <end>
        =================================================-->
        <hr>
        <!--===============================================
          ROW 2 <start>
        =================================================-->
        <div class="row" style="margin-top: -20px">
          <h2 class="sectiontile" style="text-align: center">Execution Modes</h2>
          <div class="col-lg-3 col-md-3">
            <div class="bs-component">
              <h3>Standalone</h3>
              <p>Runs as standalone application on a single box. Also supports embedded mode. </p>
              <p><img src="assets/images/threads.gif" style="height: 100px; "></p>
            </div>
          </div>
          <div class="col-lg-3 col-md-3">
            <div class="bs-component">
              <h3>Mapreduce Mode</h3>
              <p>Runs as an mapreduce application on multiple Hadoop versions. Also supports <a href="https://azkaban.github.io/" target="_blank" rel="nofollow">Azkaban</a> for launcing mapreduce jobs. </p>
              <p><img src="assets/images/hadoop.png" style="height: 100px; "></p>
            </div>
          </div>
          <div class="col-lg-3 col-md-3">
            <div class="bs-component">
              <h3>Yarn / Mesos</h3>
              <p>Runs as a standalone cluster with primary and worker nodes. This mode supports high availability, and can run on bare metals as well.</p>
              <p><img src="assets/images/mesos.png" style="height: 80px; "></p>
            </div>
          </div>
          <div class="col-lg-3 col-md-3">
            <div class="bs-component">
              <h3>Cloud</h3>
              <p>Runs as elastic cluster on public cloud. This mode supports high availability.</p>
              <p><img src="assets/images/mesos-cluster.png" style="height: 100px; "></p>
            </div>
          </div>
        </div>
        <!--===============================================
          ROW 2 <end>
        =================================================-->
        
        <hr>
        <footer style="margin-bottom: 0em; margin-top: 0em;">
          <div id="footer">
              <div class="row">
                  <div class="col-sm-6">
                      <div class="footer-section__policies-section--policies">
                          <p style="font-size: 12px; line-height: 1.5em;">
                            Copyright © 2021 <a href="http://www.apache.org/" target="_blank">The Apache Software Foundation</a>
                            <br>
                            Apache, Apache Gobblin, the Apache feather and the Gobblin logo are trademarks of The Apache Software Foundation
                            <br>
                         </p>
                      </div>
                </div>
                <div class="col-sm-6">
                    <p style="font-size: 12px; line-height: 1.5em; text-align: right;">
                        <!-- REQUIRED BY APACHE [START] -->
                        <a class="external" href="https://www.apache.org/">Foundation</a> | 
                        <a class="external" href="https://www.apache.org/licenses/">License</a> | 
                        <a class="external" href="https://www.apache.org/events/current-event">Events</a> | 
                        <a class="external" href="https://www.apache.org/security">Security</a> | 
                        <a class="external" href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a> | 
                        <a class="external" href="https://www.apache.org/foundation/thanks.html">Thanks</a> 
                        <!-- REQUIRED BY APACHE [END] -->
                    </p>
                </div>
              
            </div>
          </div>
        </footer>

      </div>
    <!--===============================================
      Gobblin Center Space <end>
    =================================================-->
    </div>

    <!--===============================================
      Javascript files
    =================================================-->
    <script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
    <script src="assets/js/bootstrap.min.js"></script>
    <script src="assets/js/jquery.particleground.min.js"></script>
    <script src="assets/js/custom.js"></script>
    <script src="assets/js/gobblin.js"></script>
  </body>
</html>
