This is an automated email from the ASF dual-hosted git repository.

git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/beam.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 8f5c403d2f2 Publishing website 2023/06/21 04:17:04 at commit 5e942ae
8f5c403d2f2 is described below

commit 8f5c403d2f23f13c740deee4b186b31600d38c1a
Author: jenkins <bui...@apache.org>
AuthorDate: Wed Jun 21 04:17:04 2023 +0000

    Publishing website 2023/06/21 04:17:04 at commit 5e942ae
---
 website/generated-content/case-studies/index.html  |   3 +-
 website/generated-content/case-studies/index.xml   | 200 +++++++++++++++++++--
 .../case-studies/projectshield/index.html          |  30 ++++
 .../apache_beam_streaming_log_analytics.png        | Bin 0 -> 93797 bytes
 .../case-study/projectShield/chad_hansen.png       | Bin 0 -> 386079 bytes
 .../case-study/projectShield/marc_howard.jpg       | Bin 0 -> 136851 bytes
 .../projectShield/project_shield_mechanism.png     | Bin 0 -> 29786 bytes
 .../images/logos/powered-by/project_shield.png     | Bin 0 -> 9908 bytes
 website/generated-content/index.html               |   3 +-
 website/generated-content/sitemap.xml              |   2 +-
 10 files changed, 223 insertions(+), 15 deletions(-)

diff --git a/website/generated-content/case-studies/index.html 
b/website/generated-content/case-studies/index.html
index 4537833f147..16587c492bd 100644
--- a/website/generated-content/case-studies/index.html
+++ b/website/generated-content/case-studies/index.html
@@ -21,7 +21,8 @@ function 
addPlaceholder(){$('input:text').attr('placeholder',"What are you looki
 function endSearch(){var 
search=document.querySelector(".searchBar");search.classList.add("disappear");var
 icons=document.querySelector("#iconsBar");icons.classList.remove("disappear");}
 function blockScroll(){$("body").toggleClass("fixedPosition");}
 function openMenu(){addPlaceholder();blockScroll();}</script><div 
class="clearfix container-main-content"><nav class="page-nav clearfix" 
data-offset-top=90 data-offset-bottom=500><nav 
id=TableOfContents></nav></nav><div class="body__contained 
body__section-no-nav--wide case-study-page"><div class=blog-content><h1>Case 
Studies</h1><p class=case-study-about>Apache Beam powers many of today’s 
leading projects, industry-specific use cases, and
-startups.</p><div class=case-study-list><div class=case-study-card><div 
class=case-study-card-img><img src=/images/logos/powered-by/booking.png 
loading=lazy></i></div><h3 class=case-study-card-title>Mass Ad Bidding With 
Beam at Booking.com</h3><p class=case-study-card-description>Apache Beam powers 
Booking.com’s global ads bidding and performance infrastructure, supporting 1M+ 
queries monthly for workflows across multiple data systems scanning 2 PB+ of 
analytical data and terabytes of tr [...]
+startups.</p><div class=case-study-list><div class=case-study-card><div 
class=case-study-card-img><img src=/images/logos/powered-by/project_shield.png 
loading=lazy></i></div><h3 class=case-study-card-title>Efficient Streaming 
Analytics: Making the Web a Safer Place with Project Shield</h3><p 
class=case-study-card-description>Project Shield defends the websites of over 
3K vulnerable organizations in >150 countries against DDoS attacks with the 
mission of protecting freedom of speech. The  [...]
+<img src=/images/arrow-right.svg alt="Go to the case study"></a></div><div 
class=case-study-card><div class=case-study-card-img><img 
src=/images/logos/powered-by/booking.png loading=lazy></i></div><h3 
class=case-study-card-title>Mass Ad Bidding With Beam at Booking.com</h3><p 
class=case-study-card-description>Apache Beam powers Booking.com’s global ads 
bidding and performance infrastructure, supporting 1M+ queries monthly for 
workflows across multiple data systems scanning 2 PB+ of analy [...]
 <img src=/images/arrow-right.svg alt="Go to the case study"></a></div><div 
class=case-study-card><div class=case-study-card-img><img 
src=/images/logos/powered-by/credit-karma.png loading=lazy></i></div><h3 
class=case-study-card-title>Self-service Machine Learning Workflows and Scaling 
MLOps with Apache Beam</h3><p class=case-study-card-description>Apache Beam has 
future-proofed Credit Karma’s data and ML platform for scalability and 
efficiency, enabling MLOps with unified pipelines, proc [...]
 <img src=/images/arrow-right.svg alt="Go to the case study"></a></div><div 
class=case-study-card><div class=case-study-card-img><img 
src=/images/logos/powered-by/intuit.png loading=lazy></i></div><h3 
class=case-study-card-title>Powering Streaming and Real-time ML at 
Intuit</h3><p class=case-study-card-description>We feel that the runner 
agnosticism of Apache Beam affords flexibility and future-proofs our Stream 
Processing Platform as new runtimes are developed. Apache Beam enabled the de 
[...]
 <img src=/images/arrow-right.svg alt="Go to the case study"></a></div><div 
class=case-study-card><div class=case-study-card-img><img 
src=/images/logos/powered-by/lyft.png loading=lazy></i></div><h3 
class=case-study-card-title>Real-time ML with Beam at Lyft</h3><p 
class=case-study-card-description>Lyft Marketplace team aims to improve our 
business efficiency by being nimble to real-world dynamics. Apache Beam has 
enabled us to meet the goal of having a robust and scalable ML infrastructur 
[...]
diff --git a/website/generated-content/case-studies/index.xml 
b/website/generated-content/case-studies/index.xml
index 5f29fa09036..a79be11fd83 100644
--- a/website/generated-content/case-studies/index.xml
+++ b/website/generated-content/case-studies/index.xml
@@ -1,4 +1,191 @@
-<rss version="2.0" 
xmlns:atom="http://www.w3.org/2005/Atom";><channel><title>Apache Beam – Case 
Studies</title><link>/case-studies/</link><description>Recent content in Case 
Studies on Apache Beam</description><generator>Hugo -- 
gohugo.io</generator><atom:link href="/case-studies/index.xml" rel="self" 
type="application/rss+xml"/><item><title>Case-Studies: Mass Ad Bidding With 
Beam at Booking.com</title><link>/case-studies/booking/</link><pubDate>Sun, 16 
Apr 2023 00:12:00 +0000</pubDate><g [...]
+<rss version="2.0" 
xmlns:atom="http://www.w3.org/2005/Atom";><channel><title>Apache Beam – Case 
Studies</title><link>/case-studies/</link><description>Recent content in Case 
Studies on Apache Beam</description><generator>Hugo -- 
gohugo.io</generator><atom:link href="/case-studies/index.xml" rel="self" 
type="application/rss+xml"/><item><title>Case-Studies: Efficient Streaming 
Analytics: Making the Web a Safer Place with Project 
Shield</title><link>/case-studies/projectshield/</link><pubDat [...]
+&lt;!--
+Licensed 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.
+-->
+&lt;div class="case-study-opinion">
+&lt;div class="case-study-opinion-img">
+&lt;img src="/images/logos/powered-by/project_shield.png"/>
+&lt;/div>
+&lt;blockquote class="case-study-quote-block">
+&lt;p class="case-study-quote-text">
+“Apache Beam supports our mission to make the web a safer and better place by 
providing near-real-time visibility into traffic data for our customers, 
providing ongoing analysis and adjustments to our defenses, and neutralizing 
the impact of traffic spikes during DDoS attacks on the performance and 
efficiency of our platform.”
+&lt;/p>
+&lt;div class="case-study-quote-author">
+&lt;div class="case-study-quote-author-img">
+&lt;img src="/images/case-study/projectShield/marc_howard.jpg">
+&lt;/div>
+&lt;div class="case-study-quote-author-info">
+&lt;div class="case-study-quote-author-name">
+Marc Howard
+&lt;/div>
+&lt;div class="case-study-quote-author-position">
+Founding Engineer @ Project Shield
+&lt;/div>
+&lt;/div>
+&lt;/div>
+&lt;/blockquote>
+&lt;/div>
+&lt;div class="case-study-post">
+&lt;h1 
id="efficient-streaming-analytics-making-the-web-a-safer-place-with-project-shield">Efficient
 Streaming Analytics: Making the Web a Safer Place with Project Shield&lt;/h1>
+&lt;h2 id="background">Background&lt;/h2>
+&lt;p>&lt;a href="https://projectshield.withgoogle.com/landing";>Project 
Shield&lt;/a>, offered by &lt;a href="https://cloud.google.com/";>Google 
Cloud&lt;/a> and &lt;a href="https://jigsaw.google.com/";>Jigsaw&lt;/a> (a 
subsidiary of Google), is a service that counters &lt;a 
href="https://en.wikipedia.org/wiki/Distributed-denial-of-service";>distributed-denial-of-service&lt;/a>
 (DDoS) attacks. Project Shield is available free of charge to eligible 
websites that have media, elections, and hu [...]
+&lt;p>In the first half of 2022, Project Shield defended websites of 
vulnerable users - such as human rights, news, and civil society organizations 
or governments under exigent circumstances - &lt;a 
href="https://cloud.google.com/blog/products/identity-security/ddos-attack-trends-during-us-midterm-elections";>against
 more than 25,000 attacks&lt;/a>. Notably, Project Shield helped ensure &lt;a 
href="https://cloud.google.com/blog/products/identity-security/ddos-attack-trends-during-us-midte
 [...]
+&lt;p>Marc Howard and Chad Hansen, the co-founding engineers, explain how 
Project Shield uses Apache Beam to deliver some of their core value. The 
streaming Apache Beam pipelines process about 3 TB of log data daily at 
significantly over 10,000 queries per second. These pipelines enable multiple 
product needs. For example, Apache Beam produces real-time analytics and 
critical metrics for &lt;a 
href="https://www.washingtonpost.com/opinions/2022/06/21/russia-ukraine-cyberwar-intelligence-a
 [...]
+&lt;h2 id="journey-to-beam">Journey To Beam&lt;/h2>
+&lt;p>The Project Shield platform is built using Google Cloud technologies and 
provides multi-layered defenses. To absorb part of the traffic and keep 
websites online even if their servers are down, it uses &lt;a 
href="https://cloud.google.com/cdn";>Cloud CDN&lt;/a> for &lt;a 
href="https://en.wikipedia.org/wiki/Cache_(computing)">caching&lt;/a>. To 
protect websites from DDoS and other malicious attacks, it leverages &lt;a 
href="https://cloud.google.com/armor";>Cloud Armor&lt;/a> features,  [...]
+&lt;p>Project Shield acts as a &lt;a 
href="https://en.wikipedia.org/wiki/Reverse_proxy";>reverse proxy&lt;/a>: it 
receives traffic requests on a website’s behalf, absorbs traffic through 
caching, filters harmful traffic, bans attackers, and then sends safe traffic 
to a website’s origin server. This configuration allows websites to stay up and 
running when someone tries to take them down with a DDoS attack. The challenge 
is that, with a large portion of traffic blocked, the logs on custome [...]
+&lt;div class="post-scheme">
+&lt;a href="/images/case-study/projectShield/project_shield_mechanism.png" 
target="_blank" title="Click to enlarge">
+&lt;img src="/images/case-study/projectShield/project_shield_mechanism.png" 
alt="Project Shield Mechanism">
+&lt;/a>
+&lt;span>Project Shield Mechanism&lt;/span>
+&lt;/div>
+&lt;p>Originally, Project Shield stored traffic logs in &lt;a 
href="https://cloud.google.com/bigquery";>BigQuery&lt;/a>. It used one large 
query to produce analytics and charts with different traffic metrics, such as 
the amount of traffic, QPS, the share of cached traffic, and the attack data. 
However, querying all of the logs, especially with dramatic spikes in traffic, 
was slow and expensive.&lt;/p>
+&lt;blockquote class="case-study-quote-block case-study-quote-wrapped">
+&lt;p class="case-study-quote-text">
+Often people want to know traffic metrics during critical times: if their 
website is under attack: they want to see what's happening right now. We need 
the data points to appear on the UI fast.
+&lt;/p>
+&lt;div class="case-study-quote-author">
+&lt;div class="case-study-quote-author-img">
+&lt;img src="/images/case-study/projectShield/marc_howard.jpg">
+&lt;/div>
+&lt;div class="case-study-quote-author-info">
+&lt;div class="case-study-quote-author-name">
+Marc Howard
+&lt;/div>
+&lt;div class="case-study-quote-author-position">
+Founding Engineer @ Project Shield
+&lt;/div>
+&lt;/div>
+&lt;/div>
+&lt;/blockquote>
+&lt;p>Project Shield’s team then added &lt;a 
href="https://firebase.google.com/docs/firestore";>Firestore&lt;/a> as an 
intermediate step, running a &lt;a 
href="https://en.wikipedia.org/wiki/Cron";>cron&lt;/a> every minute to query 
logs from BigQuery and write the interim reports to Firestore, then using these 
reports to build charts. This step improved performance slightly, but the gain 
was not sufficient to meet critical business timelines, and it didn’t provide 
adequate visibility into h [...]
+&lt;p>Unlike BigQuery, Firestore was designed for medium-sized workloads. 
Therefore, it wasn’t possible to fetch many models at the same time to provide 
customers with cumulative statistics for extended time frames. Querying the 
logs every minute was inefficient from a cost perspective. In addition, some of 
the logs were coming to BigQuery with a delay, and it was necessary to run the 
cron again in 24 hours to double-check for the late-coming logs.&lt;/p>
+&lt;blockquote class="case-study-quote-block case-study-quote-wrapped">
+&lt;p class="case-study-quote-text">
+Querying over all of our traffic logs every minute is very expensive, 
especially when you consider that we are a DDoS defense service - the number of 
logs that we see can often spike dramatically.
+&lt;/p>
+&lt;div class="case-study-quote-author">
+&lt;div class="case-study-quote-author-img">
+&lt;img src="/images/case-study/projectShield/marc_howard.jpg">
+&lt;/div>
+&lt;div class="case-study-quote-author-info">
+&lt;div class="case-study-quote-author-name">
+Marc Howard
+&lt;/div>
+&lt;div class="case-study-quote-author-position">
+Founding Engineer @ Project Shield
+&lt;/div>
+&lt;/div>
+&lt;/div>
+&lt;/blockquote>
+&lt;p>Project Shield’s team looked for a data processing framework that would 
minimize end-to-end latency, meet their scaling needs for better customer 
visibility, and ensure cost efficiency.&lt;/p>
+&lt;p>They selected Apache Beam for its &lt;a 
href="/documentation/runtime/model/">strong processing guarantees&lt;/a>, 
streaming capabilities, and out-of-the-box &lt;a 
href="/documentation/io/connectors/">I/Os&lt;/a> for BigQuery and Pub/Sub. By 
pairing Apache Beam with the &lt;a 
href="/documentation/runners/dataflow/">Dataflow runner&lt;/a>, they also 
benefited from built-in autoscaling. In addition, the &lt;a 
href="/documentation/sdks/python/">Apache Beam Python SDK&lt;/a> lets you us 
[...]
+&lt;h2 id="use-cases">Use Cases&lt;/h2>
+&lt;p>Project Shield became one of the early adopters of Apache Beam and 
migrated their workflows to streaming Apache Beam pipelines in 2020. Currently, 
Apache Beam powers multiple product needs with multiple streaming 
pipelines.&lt;/p>
+&lt;p>The unified streaming pipeline that produces user-facing analytics reads 
the logs from Pub/Sub while they arrive from Cloud Logging, windows logs per 
minute every minute, splits by the hostname of the request, generates reports, 
and writes the reports to BigQuery. The pipeline aggregates log data, removes 
&lt;a href="https://en.wikipedia.org/wiki/Personal_data";>Personally 
Identifiable Information&lt;/a> (PII) without using a &lt;a 
href="https://en.wikipedia.org/wiki/Data_loss_preve [...]
+&lt;blockquote class="case-study-quote-block case-study-quote-wrapped">
+&lt;p class="case-study-quote-text">
+The fact that we can just key data, use CombinePerKey, and the accumulator 
works like magic was a big win for us
+&lt;/p>
+&lt;div class="case-study-quote-author">
+&lt;div class="case-study-quote-author-img">
+&lt;img src="/images/case-study/projectShield/marc_howard.jpg">
+&lt;/div>
+&lt;div class="case-study-quote-author-info">
+&lt;div class="case-study-quote-author-name">
+Marc Howard
+&lt;/div>
+&lt;div class="case-study-quote-author-position">
+Founding Engineer @ Project Shield
+&lt;/div>
+&lt;/div>
+&lt;/div>
+&lt;/blockquote>
+&lt;p>The Apache Beam log processing pipeline provides Project Shield with the 
ability to query only the relevant reports, thus enabling Project Shield to 
load the data to the customer dashboard within just 2 minutes. The pipeline 
also provides enhanced visibility for Project Shield’s customers, because the 
queried reports are much smaller in size and easier to store than the traffic 
logs.&lt;/p>
+&lt;blockquote class="case-study-quote-block case-study-quote-wrapped">
+&lt;p class="case-study-quote-text">
+The end-to-end pipeline latency was very meaningful to us, and the Apache Beam 
streaming allowed for displaying all the traffic metrics on charts within 2 
minutes, but also to look back on days, weeks, or months of data and show 
graphs on a scalable timeframe to customers.
+&lt;/p>
+&lt;div class="case-study-quote-author">
+&lt;div class="case-study-quote-author-img">
+&lt;img src="/images/case-study/projectShield/chad_hansen.png">
+&lt;/div>
+&lt;div class="case-study-quote-author-info">
+&lt;div class="case-study-quote-author-name">
+Chad Hansen
+&lt;/div>
+&lt;div class="case-study-quote-author-position">
+Founding Engineer @ Project Shield
+&lt;/div>
+&lt;/div>
+&lt;/div>
+&lt;/blockquote>
+&lt;p>Project Shield extended the streaming Apache Beam log processing 
pipeline to generate a different type of report based on the logs and requests 
during attacks. The Apache Beam pipeline analyzes attacks and generates 
critical defense recommendations. These recommendations are then used by the 
internal long-term attack analysis system to fine-tune Project Shield’s 
defenses.&lt;/p>
+&lt;p>Apache Beam also powers Project Shield’s traffic rate-limiting decisions 
by analyzing patterns in the traffic logs. The streaming Apache Beam pipeline 
gathers information about the legitimate usage of a website, excludes abusive 
traffic from that analysis, and crafts traffic rate limits that divide the two 
groups safely. Those limits are then enforced in the form of Cloud Armor rules 
and policies and used to restrict abusive traffic or to ban it entirely.&lt;/p>
+&lt;div class="post-scheme">
+&lt;a 
href="/images/case-study/projectShield/apache_beam_streaming_log_analytics.png" 
target="_blank" title="Click to enlarge">
+&lt;img 
src="/images/case-study/projectShield/apache_beam_streaming_log_analytics.png" 
alt="Apache Beam Streaming Log Analytics">
+&lt;/a>
+&lt;span>Apache Beam Streaming Log Analytics&lt;/span>
+&lt;/div>
+&lt;p>The combination of Apache Beam and Cloud Dataflow greatly simplifies 
Project Shield’s operational management of streaming pipelines. Apache Beam 
provides easy-to-use streaming primitives, while Dataflow enables &lt;a 
href="https://cloud.google.com/dataflow/docs/pipeline-lifecycle";>out-of-the-box 
pipeline lifecycle management&lt;/a> and compliments Pub/Sub’s delivery model 
with &lt;a 
href="https://www.cloudskillsboost.google/focuses/18457?parent=catalog";>message 
deduplication and ex [...]
+&lt;blockquote class="case-study-quote-block case-study-quote-wrapped">
+&lt;p class="case-study-quote-text">
+When attacks come in, we are ready to handle high volumes of traffic and 
deliver on-time metrics during critical windows with Apache Beam.
+&lt;/p>
+&lt;div class="case-study-quote-author">
+&lt;div class="case-study-quote-author-img">
+&lt;img src="/images/case-study/projectShield/chad_hansen.png">
+&lt;/div>
+&lt;div class="case-study-quote-author-info">
+&lt;div class="case-study-quote-author-name">
+Chad Hansen
+&lt;/div>
+&lt;div class="case-study-quote-author-position">
+Founding Engineer @ Project Shield
+&lt;/div>
+&lt;/div>
+&lt;/div>
+&lt;/blockquote>
+&lt;h2 id="results">Results&lt;/h2>
+&lt;p>The adoption of Apache Beam enabled Project Shield to embrace streaming, 
scale its pipelines, maximize efficiency, and minimize latency. The streaming 
Apache Beam pipelines process about 3 TB of log data daily at significantly 
over 10,000 queries per second to produce user-facing analytics, tailored 
traffic rate limits, and defense recommendations for over 3K customers all over 
the world. The streaming processing and powerful transforms of Apache Beam 
ensure delivery of critical me [...]
+&lt;blockquote class="case-study-quote-block case-study-quote-wrapped">
+&lt;p class="case-study-quote-text">
+The Apache Beam model and the autoscaling capabilities of its Dataflow runner 
help prevent the spikes in traffic during DDoS attacks from having a meaningful 
impact on our platform from an efficiency and financial perspective.
+&lt;/p>
+&lt;div class="case-study-quote-author">
+&lt;div class="case-study-quote-author-img">
+&lt;img src="/images/case-study/projectShield/marc_howard.jpg">
+&lt;/div>
+&lt;div class="case-study-quote-author-info">
+&lt;div class="case-study-quote-author-name">
+Marc Howard
+&lt;/div>
+&lt;div class="case-study-quote-author-position">
+Founding Engineer @ Project Shield
+&lt;/div>
+&lt;/div>
+&lt;/div>
+&lt;/blockquote>
+&lt;p>The Apache Beam data processing framework supports Project Shield’s goal 
to eliminate the DDoS attack as a weapon for silencing the voices of 
journalists and others who speak the truth, making the web a safer place.&lt;/p>
+&lt;div class="case-study-feedback" id="case-study-feedback">
+&lt;p class="case-study-feedback-title">Was this information useful?&lt;/p>
+&lt;div>
+&lt;button class="btn case-study-feedback-btn" 
onclick="sendCaseStudyFeedback(true, 'Project Shield')">Yes&lt;/button>
+&lt;button class="btn case-study-feedback-btn" 
onclick="sendCaseStudyFeedback(false, 'Project Shield')">No&lt;/button>
+&lt;/div>
+&lt;/div>
+&lt;/div>
+&lt;div 
class="clear-nav">&lt;/div></description></item><item><title>Case-Studies: Mass 
Ad Bidding With Beam at 
Booking.com</title><link>/case-studies/booking/</link><pubDate>Sun, 16 Apr 2023 
00:12:00 +0000</pubDate><guid>/case-studies/booking/</guid><description>
 &lt;!--
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
@@ -1993,15 +2180,4 @@ 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.
---></description></item><item><title>Case-Studies: 
LiveRamp</title><link>/case-studies/liveramp/</link><pubDate>Mon, 01 Jan 0001 
00:00:00 +0000</pubDate><guid>/case-studies/liveramp/</guid><description>
-&lt;!--
-Licensed 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.
 --></description></item></channel></rss>
\ No newline at end of file
diff --git a/website/generated-content/case-studies/projectshield/index.html 
b/website/generated-content/case-studies/projectshield/index.html
new file mode 100644
index 00000000000..0a5167415a8
--- /dev/null
+++ b/website/generated-content/case-studies/projectshield/index.html
@@ -0,0 +1,30 @@
+<!doctype html><html lang=en class=no-js><head><meta charset=utf-8><meta 
http-equiv=x-ua-compatible content="IE=edge"><meta name=viewport 
content="width=device-width,initial-scale=1"><title>Efficient Streaming 
Analytics: Making the Web a Safer Place with Project Shield</title><meta 
name=description content="Apache Beam is an open source, unified model and set 
of language-specific SDKs for defining and executing data processing workflows, 
and also data ingestion and integration flows, sup [...]
+<a class=navbar-link href=/get-started/>Get Started</a>
+<a class=navbar-link href=/documentation/>Documentation</a>
+<button type=button class="navbar-toggle menu-open" aria-expanded=false 
aria-controls=navbar onclick=openMenu()>
+<span class=sr-only>Toggle navigation</span>
+<span class=icon-bar></span><span class=icon-bar></span><span 
class=icon-bar></span></button></div><div class="navbar-mask closed"></div><div 
id=navbar class="navbar-container closed"><button type=button 
class=navbar-toggle aria-expanded=false aria-controls=navbar id=closeMenu>
+<span class=sr-only>Toggle navigation</span>
+<span class=icon-bar></span><span class=icon-bar></span><span 
class=icon-bar></span></button><ul class="nav navbar-nav"><li><div 
class=searchBar-mobile><script>(function(){var 
cx='012923275103528129024:4emlchv9wzi';var 
gcse=document.createElement('script');gcse.type='text/javascript';gcse.async=true;gcse.src='https://cse.google.com/cse.js?cx='+cx;var
 
s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(gcse,s);})();</script><gcse:search></gcse:search></div></li><li><a
 c [...]
+&nbsp;Apache
+<span class=arrow-icon><svg xmlns="http://www.w3.org/2000/svg"; width="20" 
height="20" fill="none" viewBox="0 0 20 20"><circle cx="10" cy="10" r="10" 
fill="#ff6d00"/><path stroke="#fff" stroke-linecap="round" 
stroke-linejoin="round" stroke-width="2" d="M8.535 5.28l4.573 4.818-4.573 
4.403"/></svg></span></a><ul class="dropdown-menu dropdown-menu-right"><li><a 
target=_blank href=https://www.apache.org/>ASF Homepage</a></li><li><a 
target=_blank href=https://www.apache.org/licenses/>License</ [...]
+<a class=navbar-link href=/get-started/>Get Started</a><li class="dropdown 
navbar-dropdown navbar-dropdown-documentation"><a href=# class="dropdown-toggle 
navbar-link" role=button aria-haspopup=true aria-expanded=false>Documentation
+<span><svg xmlns="http://www.w3.org/2000/svg"; width="12" height="11" 
fill="none" viewBox="0 0 12 11"><path stroke="#ff6d00" stroke-linecap="round" 
stroke-linejoin="round" stroke-width="2" d="M10.666 4.535 5.847 9.108 1.444 
4.535"/></svg></span></a><ul class=dropdown-menu><li><a 
class=navbar-dropdown-menu-link href=/documentation/>General</a></li><li><a 
class=navbar-dropdown-menu-link 
href=/documentation/sdks/java/>Languages</a></li><li><a 
class=navbar-dropdown-menu-link href=/documentati [...]
+<a class=navbar-link href=/community/>Community</a>
+<a class=navbar-link href=/contribute/>Contribute</a>
+<a class=navbar-link href=/blog/>Blog</a>
+<a class=navbar-link href=/case-studies/>Case Studies</a></div><div 
id=iconsBar><a type=button onclick=showSearch()><svg 
xmlns="http://www.w3.org/2000/svg"; width="25" height="24" fill="none" 
viewBox="0 0 25 24"><path stroke="#ff6d00" stroke-linecap="round" 
stroke-linejoin="round" stroke-width="2.75" d="M10.191 17c3.866.0 7-3.134 
7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zM21.191 21l-6-6"/></svg></a><a 
target=_blank 
href=https://github.com/apache/beam/edit/master/website/www/site/content/en 
[...]
+&nbsp;Apache
+<span class=arrow-icon><svg xmlns="http://www.w3.org/2000/svg"; width="20" 
height="20" fill="none" viewBox="0 0 20 20"><circle cx="10" cy="10" r="10" 
fill="#ff6d00"/><path stroke="#fff" stroke-linecap="round" 
stroke-linejoin="round" stroke-width="2" d="M8.535 5.28l4.573 4.818-4.573 
4.403"/></svg></span></a><ul class=dropdown-menu><li><a 
class=navbar-dropdown-menu-link target=_blank href=https://www.apache.org/>ASF 
Homepage</a></li><li><a class=navbar-dropdown-menu-link target=_blank href= 
[...]
+<img class=banner-img-mobile src=/images/banner_mobile.png 
alt=banner-mobile></a></div><script>function showSearch(){addPlaceholder();var 
search=document.querySelector(".searchBar");search.classList.remove("disappear");var
 icons=document.querySelector("#iconsBar");icons.classList.add("disappear");}
+function addPlaceholder(){$('input:text').attr('placeholder',"What are you 
looking for?");}
+function endSearch(){var 
search=document.querySelector(".searchBar");search.classList.add("disappear");var
 icons=document.querySelector("#iconsBar");icons.classList.remove("disappear");}
+function blockScroll(){$("body").toggleClass("fixedPosition");}
+function openMenu(){addPlaceholder();blockScroll();}</script><div 
class="clearfix container-main-content"><nav class="page-nav clearfix" 
data-offset-top=90 data-offset-bottom=500><nav id=TableOfContents><ul><li><a 
href=#background>Background</a></li><li><a href=#journey-to-beam>Journey To 
Beam</a></li><li><a href=#use-cases>Use Cases</a></li><li><a 
href=#results>Results</a></li></ul></nav></nav><div 
class=case-study-page><article itemscope 
itemtype=http://schema.org/BlogPosting><div clas [...]
+<span>Project Shield Mechanism</span></div><p>Originally, Project Shield 
stored traffic logs in <a href=https://cloud.google.com/bigquery>BigQuery</a>. 
It used one large query to produce analytics and charts with different traffic 
metrics, such as the amount of traffic, QPS, the share of cached traffic, and 
the attack data. However, querying all of the logs, especially with dramatic 
spikes in traffic, was slow and expensive.</p><blockquote 
class="case-study-quote-block case-study-quote-w [...]
+<span>Apache Beam Streaming Log Analytics</span></div><p>The combination of 
Apache Beam and Cloud Dataflow greatly simplifies Project Shield’s operational 
management of streaming pipelines. Apache Beam provides easy-to-use streaming 
primitives, while Dataflow enables <a 
href=https://cloud.google.com/dataflow/docs/pipeline-lifecycle>out-of-the-box 
pipeline lifecycle management</a> and compliments Pub/Sub’s delivery model with 
<a href="https://www.cloudskillsboost.google/focuses/18457?pare [...]
+<button class="btn case-study-feedback-btn" 
onclick="sendCaseStudyFeedback(false,'Project 
Shield')">No</button></div></div></div><div 
class=clear-nav></div></div></div></div></article></div></div><footer 
class=footer><div class=footer__contained><div class=footer__cols><div 
class="footer__cols__col footer__cols__col__logos"><div 
class=footer__cols__col__logo><img src=/images/beam_logo_circle.svg 
class=footer__logo alt="Beam logo"></div><div 
class=footer__cols__col__logo><img src=/images/ [...]
+<a href=https://www.apache.org>The Apache Software Foundation</a>
+| <a href=/privacy_policy>Privacy Policy</a>
+| <a href=/feed.xml>RSS Feed</a><br><br>Apache Beam, Apache, Beam, the Beam 
logo, and the Apache feather logo are either registered trademarks or 
trademarks of The Apache Software Foundation. All other products or name brands 
are trademarks of their respective holders, including The Apache Software 
Foundation.</div></div><div class="footer__cols__col 
footer__cols__col__logos"><div class=footer__cols__col--group><div 
class=footer__cols__col__logo><a href=https://github.com/apache/beam><im [...]
+container.innerHTML='<p class="case-study-feedback-title">Thank you for your 
feedback!</p>'}</script></body></html>
\ No newline at end of file
diff --git 
a/website/generated-content/images/case-study/projectShield/apache_beam_streaming_log_analytics.png
 
b/website/generated-content/images/case-study/projectShield/apache_beam_streaming_log_analytics.png
new file mode 100644
index 00000000000..a949acf4a1d
Binary files /dev/null and 
b/website/generated-content/images/case-study/projectShield/apache_beam_streaming_log_analytics.png
 differ
diff --git 
a/website/generated-content/images/case-study/projectShield/chad_hansen.png 
b/website/generated-content/images/case-study/projectShield/chad_hansen.png
new file mode 100644
index 00000000000..b6ab78ad98b
Binary files /dev/null and 
b/website/generated-content/images/case-study/projectShield/chad_hansen.png 
differ
diff --git 
a/website/generated-content/images/case-study/projectShield/marc_howard.jpg 
b/website/generated-content/images/case-study/projectShield/marc_howard.jpg
new file mode 100644
index 00000000000..080b8a61bef
Binary files /dev/null and 
b/website/generated-content/images/case-study/projectShield/marc_howard.jpg 
differ
diff --git 
a/website/generated-content/images/case-study/projectShield/project_shield_mechanism.png
 
b/website/generated-content/images/case-study/projectShield/project_shield_mechanism.png
new file mode 100644
index 00000000000..2f4d4b40789
Binary files /dev/null and 
b/website/generated-content/images/case-study/projectShield/project_shield_mechanism.png
 differ
diff --git 
a/website/generated-content/images/logos/powered-by/project_shield.png 
b/website/generated-content/images/logos/powered-by/project_shield.png
new file mode 100644
index 00000000000..65364ae7f05
Binary files /dev/null and 
b/website/generated-content/images/logos/powered-by/project_shield.png differ
diff --git a/website/generated-content/index.html 
b/website/generated-content/index.html
index e9d4d399db6..114d569ea14 100644
--- a/website/generated-content/index.html
+++ b/website/generated-content/index.html
@@ -22,7 +22,8 @@ function endSearch(){var 
search=document.querySelector(".searchBar");search.clas
 function blockScroll(){$("body").toggleClass("fixedPosition");}
 function openMenu(){addPlaceholder();blockScroll();}</script><div 
class="body__contained no__padding"><div id=hero-desktop 
class=hero-desktop><div class=hero-content><h3>Introducing Apache 
Beam</h3><h1>The Unified Apache Beam Model</h1><h2>The easiest way to do batch 
and streaming data processing. Write once, run anywhere data processing for 
mission-critical production workloads.</h2><a 
href=https://github.com/apache/beam><button><svg 
xmlns="http://www.w3.org/2000/svg"; width="16" height= [...]
 <span>Link to GitHub Repo</span></button></a></div></div><div id=hero-mobile 
class=hero-mobile><div class=hero-content><h3>Introducing Apache 
Beam</h3><h1>The Unified Apache Beam Model</h1><h2>The easiest way to do batch 
and streaming data processing. Write once, run anywhere data processing for 
mission-critical production workloads.</h2></div></div><div class=ctas><div 
class=ctas_row><a class=ctas_button href=/get-started/beam-overview/><img 
src=images/info_icon.svg> Learn more</a></div [...]
-You can try the Apache Beam examples at <a 
href=https://play.beam.apache.org/>Beam Playground (Beta)</a>.</p><br><br><div 
class=playground_or_image><a class=playground__mobile 
href=https://play.beam.apache.org/><img src=images/playground.png alt="beam 
playground"></a><div class=playground-wrapper><div 
class=playground-snippets><div class="language-java playground-snippet" 
data-sdk=java></div><div class="language-py playground-snippet" 
data-sdk=python></div><div class="language-go playgro [...]
+You can try the Apache Beam examples at <a 
href=https://play.beam.apache.org/>Beam Playground (Beta)</a>.</p><br><br><div 
class=playground_or_image><a class=playground__mobile 
href=https://play.beam.apache.org/><img src=images/playground.png alt="beam 
playground"></a><div class=playground-wrapper><div 
class=playground-snippets><div class="language-java playground-snippet" 
data-sdk=java></div><div class="language-py playground-snippet" 
data-sdk=python></div><div class="language-go playgro [...]
+<img src=/images/arrow-right.svg alt="Go to the case study"></a></div><div 
class=case-study-row-button-container><a 
href=https://github.com/apache/beam/blob/master/website/ADD_CASE_STUDY.md 
class=case-study-primary-button target=_blank rel="noopener noreferrer">Share 
your story</a></div><div class=quote-img-container><div class=quote-img><img 
src=images/logos/powered-by/project_shield.png alt="Quote 
Logo"></div></div></div></div></div><div class=swiper-slide><div 
class=wrap-slide><div cl [...]
 <img src=/images/arrow-right.svg alt="Go to the case study"></a></div><div 
class=case-study-row-button-container><a 
href=https://github.com/apache/beam/blob/master/website/ADD_CASE_STUDY.md 
class=case-study-primary-button target=_blank rel="noopener noreferrer">Share 
your story</a></div><div class=quote-img-container><div class=quote-img><img 
src=images/logos/powered-by/booking.png alt="Quote 
Logo"></div></div></div></div></div><div class=swiper-slide><div 
class=wrap-slide><div class=quo [...]
 <img src=/images/arrow-right.svg alt="Go to the case study"></a></div><div 
class=case-study-row-button-container><a 
href=https://github.com/apache/beam/blob/master/website/ADD_CASE_STUDY.md 
class=case-study-primary-button target=_blank rel="noopener noreferrer">Share 
your story</a></div><div class=quote-img-container><div class=quote-img><img 
src=images/logos/powered-by/credit-karma.png alt="Quote 
Logo"></div></div></div></div></div><div class=swiper-slide><div 
class=wrap-slide><div clas [...]
 <img src=/images/arrow-right.svg alt="Go to the case study"></a></div><div 
class=case-study-row-button-container><a 
href=https://github.com/apache/beam/blob/master/website/ADD_CASE_STUDY.md 
class=case-study-primary-button target=_blank rel="noopener noreferrer">Share 
your story</a></div><div class=quote-img-container><div class=quote-img><img 
src=images/case-study/intuit/intuit-quote.png alt="Quote 
Logo"></div></div></div></div></div><div class=swiper-slide><div 
class=wrap-slide><div cla [...]
diff --git a/website/generated-content/sitemap.xml 
b/website/generated-content/sitemap.xml
index 93054727f3b..d54a5fda005 100644
--- a/website/generated-content/sitemap.xml
+++ b/website/generated-content/sitemap.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset 
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"; 
xmlns:xhtml="http://www.w3.org/1999/xhtml";><url><loc>/categories/blog/</loc><lastmod>2023-06-21T00:45:55+04:00</lastmod></url><url><loc>/blog/</loc><lastmod>2023-06-21T00:45:55+04:00</lastmod></url><url><loc>/categories/</loc><lastmod>2023-06-21T00:45:55+04:00</lastmod></url><url><loc>/blog/beamquest/</loc><lastmod>2023-06-21T00:45:55+04:00</lastmod></url><url><loc>/blog/bea
 [...]
\ No newline at end of file
+<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset 
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"; 
xmlns:xhtml="http://www.w3.org/1999/xhtml";><url><loc>/case-studies/projectshield/</loc><lastmod>2023-06-21T02:19:32+02:00</lastmod></url><url><loc>/categories/blog/</loc><lastmod>2023-06-21T02:19:32+02:00</lastmod></url><url><loc>/blog/</loc><lastmod>2023-06-21T02:19:32+02:00</lastmod></url><url><loc>/categories/</loc><lastmod>2023-06-21T02:19:32+02:00</lastmod></url><url><l
 [...]
\ No newline at end of file


Reply via email to