<!DOCTYPE html>
<html>
    <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
    <link rel="icon" href="/favicon.ico" type="image/x-icon">

    <title>Resources</title>

    <!-- Bootstrap core CSS -->
    <link href="/assets/css/bootstrap.min.css" rel="stylesheet">
    <!-- Bootstrap theme -->
    <link href="/assets/css/bootstrap-theme.min.css" rel="stylesheet">

    <!-- Custom styles for this template -->
    <link rel="stylesheet" href="http://fortawesome.github.io/Font-Awesome/assets/font-awesome/css/font-awesome.css">
    <link href="/css/style.css" rel="stylesheet">
    <link href="/assets/css/owl.theme.css" rel="stylesheet">
    <link href="/assets/css/owl.carousel.css" rel="stylesheet">
    <script type="text/javascript" src="/assets/js/jquery.min.js"></script>
    <script type="text/javascript" src="/assets/js/bootstrap.min.js"></script>
    <script type="text/javascript" src="/assets/js/owl.carousel.min.js"></script>
    <script type="text/javascript" src="/assets/js/storm.js"></script>
    <!-- Just for debugging purposes. Don't actually copy these 2 lines! -->
    <!--[if lt IE 9]><script src="../../assets/js/ie8-responsive-file-warning.js"></script><![endif]-->
    
    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
  </head>


  <body>
    <header>
  <div class="container-fluid">
     <div class="row">
          <div class="col-md-5">
            <a href="/index.html"><img src="/images/logo.png" class="logo" /></a>
          </div>
          <div class="col-md-5">
            
          </div>
          <div class="col-md-2">
            <a href="/downloads.html" class="btn-std btn-block btn-download">Download</a>
          </div>
        </div>
    </div>
</header>
<!--Header End-->
<!--Navigation Begin-->
<div class="navbar" role="banner">
  <div class="container-fluid">
      <div class="navbar-header">
          <button class="navbar-toggle" type="button" data-toggle="collapse" data-target=".bs-navbar-collapse">
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
        </div>
        <nav class="collapse navbar-collapse bs-navbar-collapse" role="navigation">
          <ul class="nav navbar-nav">
              <li><a href="/index.html" id="home">Home</a></li>
                <li><a href="/getting-help.html" id="getting-help">Getting Help</a></li>
                <li><a href="/about/integrates.html" id="project-info">Project Information</a></li>
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" id="documentation">Documentation <b class="caret"></b></a>
                    <ul class="dropdown-menu">
                      
                        
                          <li><a href="/releases/2.4.0/index.html">2.4.0</a></li>
                        
                      
                        
                          <li><a href="/releases/2.3.0/index.html">2.3.0</a></li>
                        
                      
                        
                          <li><a href="/releases/2.2.1/index.html">2.2.1</a></li>
                        
                      
                        
                          <li><a href="/releases/2.2.0/index.html">2.2.0</a></li>
                        
                      
                        
                          <li><a href="/releases/2.1.1/index.html">2.1.1</a></li>
                        
                      
                        
                          <li><a href="/releases/2.1.0/index.html">2.1.0</a></li>
                        
                      
                        
                          <li><a href="/releases/2.0.0/index.html">2.0.0</a></li>
                        
                      
                        
                          <li><a href="/releases/1.2.4/index.html">1.2.4</a></li>
                        
                      
                        
                          <li><a href="/releases/1.2.3/index.html">1.2.3</a></li>
                        
                      
                    </ul>
                </li>
                <li><a href="/talksAndVideos.html">Talks and Slideshows</a></li>
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" id="contribute">Community <b class="caret"></b></a>
                    <ul class="dropdown-menu">
                        <li><a href="/contribute/Contributing-to-Storm.html">Contributing</a></li>
                        <li><a href="/contribute/People.html">People</a></li>
                        <li><a href="/contribute/BYLAWS.html">ByLaws</a></li>
                        <li><a href="/Powered-By.html">PoweredBy</a></li>
                    </ul>
                </li>
                <li><a href="/2021/10/14/storm211-released.html" id="news">News</a></li>
            </ul>
        </nav>
    </div>
</div>



    <div class="container-fluid">
    <h1 class="page-title">Resources</h1>
          <div class="row">
           	<div class="col-md-12">
	             <!-- Documentation -->

<p class="post-meta"></p>

<div class="documentation-content"><div class="row">
    <div class="col-md-12"> 
        <div class="resources">
            <ul class="nav nav-tabs" role="tablist">
                <li role="presentation" class="active"><a href="#talks" aria-controls="talks" role="tab" data-toggle="tab">Talks</a></li>
                <li role="presentation"><a href="#slideshows" aria-controls="slideshows" role="tab" data-toggle="tab">Slideshows</a></li>
            </ul>
            
            <div class="tab-content">
                <div role="tabpanel" class="tab-pane active" id="talks">
                
<!-- ################### -->
                    <div class="brickSS">
                        <div class="row">

                            <div class="col-md-6">
                                <h3>Roshan Naik - Apache Storm 2.0 : Rearchitecture and Performance</h3>
                                <div>
                                    <p>Published on Oct 29, 2019</p><p>
The effort to rearchitect Apache Storm's core engine was born from the observation that there exists a significant gap between hardware capabilities and the performance of the best streaming engines. This talk takes a look at the performance and architecture of the new engine which features a leaner threading model, a lock free messaging subsystem and a new ultra-lightweight Back Pressure model.
            </p>
                                </div>
                            </div>
                                                                            <div class="col-md-6">
                                <iframe width="560" height="315" src="https://www.youtube.com/embed/QsPzAtZXIk4" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
                            </div>
                            
                        </div>
                    </div>

<!-- ################### -->                  
<!-- ################### -->
                    <div class="brickSS">
                        <div class="row">
                            <div class="col-md-6">
                                <iframe width="560" height="315" src="https://www.youtube.com/embed/xNsG26uZ7sw" frameborder="0" allowfullscreen></iframe>
                            </div>
                            <div class="col-md-6">
                                <h3>Kishore Patil (Verizon Media) - Apache Storm 2.0 Overview - Features and Performance Enhancements</h3>
                                <div>
                                    <p>Published on Oct 29, 2019</p><p>
            Apache Storm 2.0 is the biggest release since becoming a top level Apache project. This talk provides a feature summary for the 2.0 release and overviews of the major enhancements to scalability, scheduling, secruity, metrics, Streaming SQL, Streams API etc.
            </p>
                                </div>
                            </div>
                            
                        </div>
                    </div>

<!-- ################### -->
<!-- ################### -->
                    <div class="brickSS">
                        <div class="row">

                            <div class="col-md-6">
                                <h3>Nitin Aggarwal, Ishan Chhabra - Fighting Fraud in Real Time by Processing 1M+ TPS Using Storm on Slider (YARN)</h3>
                                <div>
                                    <p>Published on Jul 2, 2016</p><p>
            Rocket Fuel participates in 100+ billion real time advertising auctions everyday to pick out the right opportunities for our clients to advertise to internet consumers. However, some of these opportunities are created by fraudulent entities, who try to steal away money from various participants in the online advertising ecosystem, including Rocket Fuel. In this talk, we describe Helios, our in-house system built using Storm, Slider and HBase to combat this fraud in real time. We start with the core use case and topology design, and then detail how we run Storm on YARN via Slider which, along with other optimizations, enables Storm to scale to 1M+ TPS in this setting. We also describe the design and implementation of our recently open sourced, highly scalable custom spout to ingest rolling log files from HDFS into Storm pipelines with minimal delay. Finally, we cover how we use HBase (on YARN via Slider) to join high velocity streams, despite out of order events and stream delays, and to compute aggregates at large scale via materialized cubes.
            </p>
                                </div>
                            </div>
                                                                            <div class="col-md-6">
                                <iframe width="560" height="315" src="https://www.youtube.com/embed/bZN3z1DjJss" frameborder="0" allowfullscreen></iframe>
                            </div>
                            
                        </div>
                    </div>

<!-- ################### -->                  
<!-- ################### -->
                    <div class="brickSS">
                        <div class="row">
                            <div class="col-md-6">
                                <iframe width="560" height="315" src="https://www.youtube.com/embed/_Q2uzRIkTd8" frameborder="0" allowfullscreen></iframe>
                            </div>
                            <div class="col-md-6">
                                <h3>P. Taylor Goetz - The Future of Apache Storm</h3>
                                <div>
                                    <p>Published on June 30, 2016</p><p>
            At over 3 years old as an open source project, and an Apache project for more than 2 years, Apache Storm is one of the most mature and widely adopted real-time data platforms available. Apache Storm is used across a wide range of industries, from Fortune 500 companies, to three-letter government agencies, to big data startups, and everything in between. In this session we'll explore how Storm has evolved over the years, and more importantly how it will continue to evolve and innovate in both the near and long term. We will discuss new features, performance improvements, project roadmaps, and its relationship with other open source streaming solutions.
            </p>
                                </div>
                            </div>
                            
                        </div>
                    </div>

<!-- ################### -->
<!-- ################### -->
                    <div class="brickSS">
                        <div class="row">
                            <div class="col-md-6">
                                <h3>Savitha Ravikrishnan, Dheeraj Kapur - Managing Hadoop, HBase, and Storm Clusters at Yahoo Scale</h3>
                                <div>
                                    <p>Published on June 30, 2016</p><p>
            Hadoop at Yahoo is a massive infrastructure and a challenging platform to manage. On a day-to-day basis, it unfolds many challenges in order to be able to run at this scale. We are here to discuss our success in terms of effectively being able to manage this infrastructure from an operations perspective. We have come a long way from full downtime to now no longer requiring any downtime for upgrades and cater to massive workloads in our 40+ clusters in the ecosystem spread across multiple data centers. We are using CI/CD with no downtime upgrades for Hadoop, HBase, Storm, and Support services. Things get even more complex with multi-tenancy, differing workload characteristics, and strict SLAs on HBase and Storm. We will talk about rolling upgrades, and automation & tools we have built to manage a massive grid infrastructure with support for multi-tenancy and full CI/CD.
            </p>
                                </div>
                            </div>
                            <div class="col-md-6">
                                <iframe width="560" height="315" src="https://www.youtube.com/embed/Ib8ch-xVzbw" frameborder="0" allowfullscreen></iframe>
                            </div>
                            
                        </div>
                    </div>

<!-- ################### -->
<!-- ################### -->
                    <div class="brickSS">
                        <div class="row">
                            <div class="col-md-6">
                                <iframe width="560" height="315" src="https://www.youtube.com/embed/gk06oNbNkOg" frameborder="0" allowfullscreen></iframe>
                            </div>
                            <div class="col-md-6">
                                <h3>Casey Stella - Outlier Analysis and Anomaly Detection for Sensors with Spark and Storm</h3>
                                <div>
                                    <p>Published on Apr 14, 2016</p><p>
            Detecting outliers and anomalies in data is one of the most common tasks that the working data scientist is asked to do, especially when dealing with volumes of sensor data. Despite this, the library support for problems of this variety are woefully unavailable. Often data scientists are forced to go to research papers and implement their own solutions. This talk will cover the various approaches that I have seen work well in the field and provide reference implementations. We will cover both batch and streaming approaches in Spark and Storm aimed at analyzing sensor feeds.
            </p>
                                </div>
                            </div>
                            
                        </div>
                    </div>

<!-- ################### -->
<!-- ################### -->
                    <div class="brickSS">
                        <div class="row">
                            <div class="col-md-6">
                                <h3>P. Taylor Goetz - Beyond the Tweeting Toaster</h3>
                                <div>
                                    <p>Published on Sep 1, 2015</p><p>
            In this session we will look at how streaming sensor data fits into a variety of (I)IoT analytics use cases, and how Apache Storm and Kafka fit into an overall architecture for large-scale streaming analytics. You will also learn how to leverage the highly accessible Arduino microcontroller platform to create low-cost sensor networks and stream data to Apache Storm for analysis in real time. Finally, we will give a live demonstration of sensor analysis using Kafka, Storm, and an out-of-the-box Arduino board (no soldering required!).
            </p>
                                </div>
                            </div>                                      <div class="col-md-6">
                                <iframe width="560" height="315" src="https://www.youtube.com/embed/_h5VjQoAJq4" frameborder="0" allowfullscreen></iframe>
                            </div>
                        </div>
                    </div>

<!-- ################### -->
<!-- ################### -->
                    <div class="brickSS">
                        <div class="row">
                            <div class="col-md-6">
                                <iframe width="560" height="315" src="https://www.youtube.com/embed/h77pMHzFrSg" frameborder="0" allowfullscreen></iframe>
                            </div>
                            <div class="col-md-6">
                                <h3>David Wilcox and Bobby Evans - Yahoo Ad Manager Plus: A Case Study</h3>
                                <div>
                                    <p>Published on Jun 30, 2015</p><p>
            The Yahoo Ad Manager Plus platform (YAM+) provides reports to advertisers on impressions, clicks, and conversions for their ad campaigns. Impressions and clicks are straightforward. Conversions require joining "action beacons" from advertisers with impressions and clicks from advertisements served by YAM+. A conversion is recorded if a user clicked on or was shown an advertisement associated with the campaign identified in the beacon. This presentation describes a storm topology that uses HBase and Druid to provide low-latency feedback to advertisers on the performance of their campaigns. It covers storm and HBase tuning that was needed to support this reporting at production scale.
            </p>
                                </div>
                            </div>
                        </div>
                    </div>

<!-- ################### -->  
<!-- ################### -->
                    <div class="brickSS">
                        <div class="row">
                            <div class="col-md-6">
                                <h3>Bobby Evans - From Gust to Tempest: Scaling Apache Storm</h3>
                                <div>
                                    <p>Published on Jun 30, 2015</p><p>
            At Yahoo, we extensively use the Apache Storm distributed real-time computation platform at medium scale deployment. In this talk we overview a collection of recent developments at Yahoo enabling massive Storm scaling to an order of magnitude larger clusters. They include a resource aware scheduler, load-aware shuffle grouping, a stand-alone heart-beat server that reduces the load on ZooKeeper, compression of ZooKeeper data and using timestamps instead of whole data through ZooKeeper, and finally a new distributed cache mechanism to distribute large files required by bolts.
            </p>
                                </div>
                            </div>
                            <div class="col-md-6">
                                <iframe width="560" height="315" src="https://www.youtube.com/embed/pB9d3tMM__k" frameborder="0" allowfullscreen></iframe>
                            </div>
                        </div>
                    </div>

<!-- ################### -->                    
<!-- ################### -->
                    <div class="brickSS">
                        <div class="row">
                            <div class="col-md-6">
                                <iframe width="560" height="315" src="https://www.youtube.com/embed/hiBc6bHoe3o" frameborder="0" allowfullscreen></iframe>
                            </div>
                            <div class="col-md-6">
                                <h3>Sheetal Dolas - Design Patterns for real time data analytics</h3>
                                <div>
                                    <p>Published on Jun 30, 2015</p><p>
            Businesses are moving from large-scale batch data analysis to large-scale real-time data analysis. Apache Storm has emerged as one of the most popular platforms for the purpose.</p><p>
            This talk covers proven design patterns for real time stream processing. Patterns that have been vetted in large-scale production deployments that process 10s of billions of events/day and 10s of terabytes of data/day.
            </p>
                                </div>
                            </div>
                        </div>
                    </div>

<!-- ################### -->
                    
<!-- ################### -->
                    <div class="brickSS">
                        <div class="row">
                            <div class="col-md-6">
                                <h3>Andrew Montalenti - streamparse: real-time streams with Python and Apache Storm - PyCon 2015</h3>
                                <div>
                                    <p>Published on Apr 12, 2015</p><p>
            Real-time streams are everywhere, but does Python have a good way of processing them? Until recently, there were no good options. A new open source project, streamparse, makes working with real-time data streams easy for Pythonistas. If you have ever wondered how to process 10,000 data tuples per second with Python -- while maintaining high availability and low latency -- this talk is for you.</p>
                                </div>
                            </div>
                            <div class="col-md-6">
                                <iframe width="560" height="315" src="https://www.youtube.com/embed/ja4Qj9-l6WQ" frameborder="0" allowfullscreen></iframe>
                            </div>
                            
                        </div>
                    </div>

<!-- ################### -->
<!-- ################### -->
                    <div class="brickSS">
                        <div class="row">
                            <div class="col-md-6">
                                <iframe width="560" height="315" src="https://www.youtube.com/embed/cH8hKyf4Y40" frameborder="0" allowfullscreen></iframe>
                            </div>
                            <div class="col-md-6">
                                <h3>P. Taylor Goetz - Scaling Storm: Cluster Sizing and Performance Optimization</h3>
                                <div>
                                    <p>Published on Jun 23, 2014</p><p>
            ne of the most commonly asked questions about Storm is how to properly size and scale a cluster for a given use case. While there is no magic bullet when it comes to capacity planning for a Storm cluster, there are many operational and development techniques that can be applied to eek out the maximum throughput for a given application. In this session we’ll cover capacity planning, performance tuning and optimization from both an operational and development perspective. We will discuss the basics of scaling, common mistakes and misconceptions, how different technology decisions affect performance, and how to identify and scale around the bottlenecks in a Storm deployment.</p>
                                </div>
                            </div>
                        </div>
                    </div>

<!-- ################### -->

                    <div class="brickSS">
                        <div class="row">
                            <div class="col-md-6">
                                <h3>Real-Time Big Data Analytics with Storm
                                </h3>
                                <div>
                                    <p>Published on Oct 12, 2013</p><p>
            This talk provides an overview of the open source Storm system for processing Big Data in realtime. The talk starts with an overview of the technology, including key components: Nimbus, Zookeeper, Topology, Tuple, Trident. The presentation then dives into the complex Big Data architecture in which Storm can be integrated. The result is a compelling stack of technologies including integrated Hadoop clusters, MPP, and NoSQL databases.

            The presentation then reviews real world use cases for realtime Big Data analytics. Social updates, in particular real-time news feeds on sites like Twitter and Facebook, benefit from Storm's capacity to process benefits from distributed logic of streaming. Another case study is financial compliance monitoring, where Storm plays a primary role in reducing the market data to a useable subset in realtime. In a final use case, Storm is crucial to collect rich operational intelligence, because it builds multidimensional stats and executes distributed queries.</p>
                                </div>
                            </div>
                            <div class="col-md-6">
                                <iframe width="560" height="315" src="https://www.youtube.com/embed/hVO5nbxnBkU" frameborder="0" allowfullscreen></iframe>
                            </div>
                        </div>
                    </div>

<!-- ################### -->

                    
                    <div class="brickSS">
                        <div class="row">
                            <div class="col-md-6">
                                <iframe width="560" height="315" src="https://www.youtube.com/embed/od8U-XijzlQ" frameborder="0" allowfullscreen></iframe>
                            </div>
                            
                            <div class="col-md-6">
                                <h3>Andrew Montalenti & Keith Bourgoin - Real-time streams and logs with Storm and Kafka - PyData SV 2014 
                                </h3>
                                <div>
                                    <p>Published on Jun 12, 2014</p><p>
            
            Some of the biggest issues at the center of analyzing large amounts of data are query flexibility, latency, and fault tolerance. Modern technologies that build upon the success of "big data" platforms, such as Apache Hadoop, have made it possible to spread the load of data analysis to commodity machines, but these analyses can still take hours to run and do not respond well to rapidly-changing data sets.</p>

            <p>A new generation of data processing platforms -- which we call "stream architectures" -- have converted data sources into streams of data that can be processed and analyzed in real-time. This has led to the development of various distributed real-time computation frameworks (e.g. Apache Storm) and multi-consumer data integration technologies (e.g. Apache Kafka). Together, they offer a way to do predictable computation on real-time data streams.</p>

            <p>In this talk, we will give an overview of these technologies and how they fit into the Python ecosystem. This will include a discussion of current open source interoperability options with Python, and how to combine real-time computation with batch logic written for Hadoop. We will also discuss Kafka and Storm's alternatives, current industry usage, and some real-world examples of how these technologies are being used in production by Parse.ly today.</p>
                                </div>
                            </div>
                        </div>
                    </div>
<!-- ################### -->
                    <div class="brickSS">
                        <div class="row">
                                                        <div class="col-md-6">
                                <h3>Yahoo talks about Spark vs. Storm
                                </h3>
                                <div>
                                    <p>Published on Sep 18, 2014</p><p>
            Bobby Evans and Tom Graves, the engineering leads for Spark and Storm development at Yahoo will talk about how these technologies are used on Yahoo's grids and reasons why to use one or the other.</p>

            <p>Bobby Evans is the low latency data processing architect at Yahoo. He is a PMC member on many Apache projects including Storm, Hadoop, Spark, and Tez. His team is responsible for delivering Storm as a service to all of Yahoo and maintaining Spark on Yarn for Yahoo (Although Tom really does most of that work).</p>

            <p>Tom Graves a Senior Software Engineer on the Platform team at Yahoo. He is an Apache PMC member on Hadoop, Spark, and Tez. His team is responsible for delivering and maintaining Spark on Yarn for Yahoo.</p>
                                </div>
                            </div>
                            <div class="col-md-6">
                                <iframe width="560" height="315" src="https://www.youtube.com/embed/uJ5rdAPHE1w" frameborder="0" allowfullscreen></iframe>
                            </div>
                        </div>
                    </div>
<!-- ################### -->
                    <div class="brickSS">
                            <div class="row">
                                <div class="col-md-6">
                                    <iframe width="560" height="315" src="https://www.youtube.com/embed/5F0eQ7mkpTU" frameborder="0" allowfullscreen></iframe>
                                </div>
                            </div>

                            <div class="col-md-6">
                                <h3>Apache Storm Deployment and Use Cases by Spotify Developers
                                </h3>
                                <div>
                                    <p>Published on Apr 3, 2014</p><p>
            This talk was presented at the New York City Storm User Group hosted by Spotify on March 25, 2014.</p><p>
            This is the first time that a Spotify engineer has spoken publicly about their deployment and use cases for Storm! In this talk, Software Engineer Neville Li describes:
            <ul><li>
            Real-time features developed using Storm and Kafka including recommendations, social features, data visualization and ad targeting</li>

            <li>Architecture</li>

            <li>Production integration</li>

            <li>Best practices for deployment</li></ul></p>
            <p>Spotify is an exciting case study - users create 600 Gigabyte of data per day and 150 Gigabyte of data per day via different services. Every day 4 Terabyte of data is generated in Hadoop, a 700-node cluster running over 2.000 jobs per day. They currently have 28 Petabytes of storage, spread out over 4 data centres across the world.</p>
                                </div>
                            </div>
                    </div>
                    
<!-- ################### -->
<!-- ################### -->
                    <div class="brickSS">
                        <div class="row">
                            <div class="col-md-6">
                                <h3>Nathan Bijnens: A Real-Time Architecture Using Hadoop &amp; Storm</h3>
                                <div>
                                                        <p>Published on Dec 19, 2013</p>
                                <p>With the proliferation of data sources and growing user bases, the amount of data generated requires new ways for storage and processing. Hadoop opened new possibilities, yet it falls short of instant delivery. Adding stream processing using Nathan Marz's Storm, can overcome this delay and bridge the gap to real-time aggregation and reporting. On the Batch layer all master data is kept and is immutable. Once the base data is stored a recurring process will index the data. This process reads all master data, parses it and will create new views out of it. The new views will replace all previously created views. In the Speed layer data is stored not yet absorbed in the Batch layer. Hours of data instead of years of data. Once the data is indexed in the Batch layer the data can discarded in the Speed layer. The Query Service merges the data from the Speed and Batch layers. This talk focuses on the Lambda architecture, which combines multiple technologies to be able to process vast amounts of data, while still being able to react timely and report near real-time statistics. Filmed at JAX London 2013.</p>
                                </div>
                            </div>
                            <div class="col-md-6">
                                <iframe width="560" height="315" src="https://www.youtube.com/embed/CrABmVi12_A" frameborder="0" allowfullscreen></iframe>
                            </div>
                            
                        </div>
                    </div>
<!-- ################### -->

                    <div class="brickSS">
                        <div class="row">
                            <div class="col-md-6">
                                <iframe width="560" height="315" src="https://www.youtube.com/embed/LpNbjXFPyZ0" frameborder="0" allowfullscreen></iframe>
                            </div>
                            
                            <div class="col-md-6">
                                <h3>Infrastructure at Scale: Apache Kafka, Twitter Storm & Elastic Search</h3>
                                <div>
                                                        <p>Published on Nov 29, 2013</p><p>
                                    This is a technical architect's case study of how Loggly has employed the latest social-media-scale technologies as the backbone ingestion processing for our multi-tenant, geo-distributed, and real-time log management system. This presentation describes design details of how we built a second-generation system fully leveraging AWS services including Amazon Route 53 DNS with heartbeat and latency-based routing, multi-region VPCs, Elastic Load Balancing, Amazon Relational Database Service, and a number of pro-active and re-active approaches to scaling computational and indexing capacity.</p>
                                    <p>
                                    The talk includes lessons learned in our first generation release, validated by thousands of customers; speed bumps and the mistakes we made along the way; various data models and architectures previously considered; and success at scale: speeds, feeds, and an unmeltable log processing engine.</p>
                                </div>
                            </div>
                        </div>
                    </div>
<!-- ################### -->

<!-- ################### -->

                    <div class="brickSS">
                        <div class="row">
                            
                            <div class="col-md-6">
                                <h3>Real-Time Big Data Analytics with Storm
                                </h3>
                                <div>
                                    <p>Published on Oct 12, 2013</p><p>
            This talk provides an overview of the open source Storm system for processing Big Data in realtime. The talk starts with an overview of the technology, including key components: Nimbus, Zookeeper, Topology, Tuple, Trident. The presentation then dives into the complex Big Data architecture in which Storm can be integrated. The result is a compelling stack of technologies including integrated Hadoop clusters, MPP, and NoSQL databases.</p>
            <p>
            The presentation then reviews real world use cases for realtime Big Data analytics. Social updates, in particular real-time news feeds on sites like Twitter and Facebook, benefit from Storm's capacity to process benefits from distributed logic of streaming. Another case study is financial compliance monitoring, where Storm plays a primary role in reducing the market data to a useable subset in realtime. In a final use case, Storm is crucial to collect rich operational intelligence, because it builds multidimensional stats and executes distributed queries.</p>
                                </div>
                            </div>
                            <div class="col-md-6">
                                <iframe width="560" height="315" src="https://www.youtube.com/embed/hVO5nbxnBkU" frameborder="0" allowfullscreen></iframe>
                            </div>
                        </div>
                    </div>

<!-- ################### -->

                    
<!-- ################### -->
                    <div class="brickSS">
                        <div class="row">
                        <div class="col-md-6">
                                <iframe width="560" height="315" src="https://www.youtube.com/embed/bdps8tE0gYo" frameborder="0" allowfullscreen></iframe>
                            </div>
                            <div class="col-md-6">
                                <h3>ETE 2012: Nathan Marz on Storm
                                </h3>
                                <div>
                                    <p>Published on May 15, 2012</p><p>
            
            Storm makes it easy to write and scale complex realtime computations on a cluster of computers, doing for realtime processing what Hadoop did for batch processing. Storm guarantees that every message will be processed. And it's fast -- you can process millions of messages per second with a small cluster. Best of all, you can write Storm topologies using any programming language. Storm was open-sourced by Twitter in September of 2011 and has since been adopted by numerous companies around the world.</p><p>
            Storm provides a small set of simple, easy to understand primitives. These primitives can be used to solve a stunning number of realtime computation problems, from stream processing to continuous computation to distributed RPC. In this talk you'll learn:
            <ul>
            <li>The concepts of Storm: streams, spouts, bolts, and topologies</li>
            <li>Developing and testing topologies using Storm's local mode</li>
            <li>Deploying topologies on Storm clusters</li>
            <li>How Storm achieves fault-tolerance and guarantees data processing</li>
            <li>Computing intense functions on the fly in parallel using Distributed RPC</li>
            <li>Making realtime computations idempotent using transactional topologies</li>
            <li>Examples of production usage of Storm</li></ul></p>
                                </div>
                            </div>
                        </div>
                    </div>
<!-- ################### -->
<!-- ########## END VIDEOS ######### -->
                </div>

                <div role="tabpanel" class="tab-pane" id="slideshows">
                    <div class="row" style="padding-left: 45px;">
                        <div class="col-md-6 brick">
                            <h2>Resource Aware Scheduling in Storm</h2>
                            
                            <iframe src="//www.slideshare.net/slideshow/embed_code/key/GDqAajROY4Q3ot" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe> <div style="margin-bottom:5px"> <strong> <a href="//www.slideshare.net/HadoopSummit/resource-aware-scheduling-in-apache-spark" title="Resource Aware Scheduling in Apache Storm" target="_blank">Resource Aware Scheduling in Apache Storm</a> </strong> from <strong><a target="_blank" href="//www.slideshare.net/HadoopSummit">HadoopSummit</a></strong> </div>
                            </div>

                        <div class="col-md-6 brick">
                            <h2>Apache Storm 0.9 basic training</h2>
                            <iframe src="//www.slideshare.net/slideshow/embed_code/key/GUD3Y58U1f973x" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe> <div style="margin-bottom:5px"> <strong> <a href="//www.slideshare.net/miguno/apache-storm-09-basic-training-verisign" title="Apache Storm 0.9 basic training - Verisign" target="_blank">Apache Storm 0.9 basic training - Verisign</a> </strong> from <strong><a href="//www.slideshare.net/miguno" target="_blank">Michael Noll</a></strong> </div>
                        </div>

                        <div class="col-md-6 brick">
                            <h2>Scaling Apache Storm - Strata + Hadoop World 2014</h2>
                            <iframe src="//www.slideshare.net/slideshow/embed_code/key/NRMYq1985xMCWv" width="340" height="290" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe> <div style="margin-bottom:5px"> <strong> <a href="//www.slideshare.net/ptgoetz/scaling-apache-storm-strata-hadoopworld-2014" title="Scaling Apache Storm - Strata + Hadoop World 2014" target="_blank">Scaling Apache Storm - Strata + Hadoop World 2014</a> </strong> from <strong><a href="//www.slideshare.net/ptgoetz" target="_blank">P. Taylor Goetz</a></strong> </div>
                        </div>

                        <div class="col-md-6 brick">
                            <h2>Yahoo compares Storm and Spark</h2>
                            <iframe src="//www.slideshare.net/slideshow/embed_code/key/BRgWgMTzazVSbG" width="340" height="290" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe> <div style="margin-bottom:5px"> <strong> <a href="//www.slideshare.net/ChicagoHUG/yahoo-compares-storm-and-spark" title="Yahoo compares Storm and Spark" target="_blank">Yahoo compares Storm and Spark</a> </strong> from <strong><a href="//www.slideshare.net/ChicagoHUG" target="_blank">Chicago Hadoop Users Group</a></strong> </div>
                        </div>
                    </div>

                    <div class="row" style="padding-left: 45px;">
                        <div class="col-md-6 brick">
                            <h2>Hadoop Summit Europe 2014: Apache Storm Architecture</h2>
                            <iframe src="//www.slideshare.net/slideshow/embed_code/key/m9vKPotXvQ8hb7" width="340" height="290" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe> <div style="margin-bottom:5px"> <strong> <a href="//www.slideshare.net/ptgoetz/storm-hadoop-summit2014" title="Hadoop Summit Europe 2014: Apache Storm Architecture" target="_blank">Hadoop Summit Europe 2014: Apache Storm Architecture</a> </strong> from <strong><a href="//www.slideshare.net/ptgoetz" target="_blank">P. Taylor Goetz</a></strong> </div>
                        </div>

                        <div class="col-md-6 brick">
                            <h2>Storm: distributed and fault-tolerant realtime computation</h2>
                            <iframe src="//www.slideshare.net/slideshow/embed_code/key/zF8J7y8oz4Qtbc" width="340" height="290" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe> <div style="margin-bottom:5px"> <strong> <a href="//www.slideshare.net/nathanmarz/storm-distributed-and-faulttolerant-realtime-computation" title="Storm: distributed and fault-tolerant realtime computation" target="_blank">Storm: distributed and fault-tolerant realtime computation</a> </strong> from <strong><a href="//www.slideshare.net/nathanmarz" target="_blank">Nathan Marz</a></strong> </div>
                        </div>

                        <div class="col-md-6 brick">
                            <h2>Realtime Analytics with Storm and Hadoop</h2>
                            <iframe src="//www.slideshare.net/slideshow/embed_code/key/wAvMj9LtK7OAwn" width="340" height="290" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe> <div style="margin-bottom:5px"> <strong> <a href="//www.slideshare.net/Hadoop_Summit/realtime-analytics-with-storm" title="Realtime Analytics with Storm and Hadoop" target="_blank">Realtime Analytics with Storm and Hadoop</a> </strong> from <strong><a href="//www.slideshare.net/Hadoop_Summit" target="_blank">Hadoop Summit</a></strong> </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>
</div>


	          </div>
	       </div>
	  </div>
<footer>
    <div class="container-fluid">
        <div class="row">
            <div class="col-md-3">
                <div class="footer-widget">
                    <h5>Meetups</h5>
                    <ul class="latest-news">
                        
                        <li><a href="http://www.meetup.com/Apache-Storm-Apache-Kafka/">Apache Storm & Apache Kafka</a> <span class="small">(Sunnyvale, CA)</span></li>
                        
                        <li><a href="http://www.meetup.com/Apache-Storm-Kafka-Users/">Apache Storm & Kafka Users</a> <span class="small">(Seattle, WA)</span></li>
                        
                        <li><a href="http://www.meetup.com/New-York-City-Storm-User-Group/">NYC Storm User Group</a> <span class="small">(New York, NY)</span></li>
                        
                        <li><a href="http://www.meetup.com/Bay-Area-Stream-Processing">Bay Area Stream Processing</a> <span class="small">(Emeryville, CA)</span></li>
                        
                        <li><a href="http://www.meetup.com/Boston-Storm-Users/">Boston Realtime Data</a> <span class="small">(Boston, MA)</span></li>
                        
                        <li><a href="http://www.meetup.com/storm-london">London Storm User Group</a> <span class="small">(London, UK)</span></li>
                        
                        <!-- <li><a href="http://www.meetup.com/Apache-Storm-Kafka-Users/">Seatle, WA</a> <span class="small">(27 Jun 2015)</span></li> -->
                    </ul>
                </div>
            </div>
            <div class="col-md-3">
                <div class="footer-widget">
                    <h5>About Apache Storm</h5>
                    <p>Apache Storm integrates with any queueing system and any database system. Apache Storm's spout abstraction makes it easy to integrate a new queuing system. Likewise, integrating Apache Storm with database systems is easy.</p>
               </div>
            </div>
            <div class="col-md-3">
                <div class="footer-widget">
                    <h5>First Look</h5>
                    <ul class="footer-list">
                        <li><a href="/releases/current/Rationale.html">Rationale</a></li>
                        <li><a href="/releases/current/Tutorial.html">Tutorial</a></li>
                        <li><a href="/releases/current/Setting-up-development-environment.html">Setting up development environment</a></li>
                        <li><a href="/releases/current/Creating-a-new-Storm-project.html">Creating a new Apache Storm project</a></li>
                    </ul>
                </div>
            </div>
            <div class="col-md-3">
                <div class="footer-widget">
                    <h5>Documentation</h5>
                    <ul class="footer-list">
                        <li><a href="/releases/current/index.html">Index</a></li>
                        <li><a href="/releases/current/javadocs/index.html">Javadoc</a></li>
                        <li><a href="/releases/current/FAQ.html">FAQ</a></li>
                    </ul>
                </div>
            </div>
        </div>
        <hr/>
        <div class="row">   
            <div class="col-md-12">
                <p align="center">Copyright © 2021 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. 
                    <br>Apache Storm, Apache, the Apache feather logo, and the Apache Storm project logos are trademarks of The Apache Software Foundation. 
                    <br>All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
            </div>
        </div>
    </div>
</footer>
<!--Footer End-->
<!-- Scroll to top -->
<span class="totop"><a href="#"><i class="fa fa-angle-up"></i></a></span> 

</body>

</html>

