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 <[email protected]>
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 [...]
+<!--
+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.
+-->
+<div class="case-study-opinion">
+<div class="case-study-opinion-img">
+<img src="/images/logos/powered-by/project_shield.png"/>
+</div>
+<blockquote class="case-study-quote-block">
+<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.”
+</p>
+<div class="case-study-quote-author">
+<div class="case-study-quote-author-img">
+<img src="/images/case-study/projectShield/marc_howard.jpg">
+</div>
+<div class="case-study-quote-author-info">
+<div class="case-study-quote-author-name">
+Marc Howard
+</div>
+<div class="case-study-quote-author-position">
+Founding Engineer @ Project Shield
+</div>
+</div>
+</div>
+</blockquote>
+</div>
+<div class="case-study-post">
+<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</h1>
+<h2 id="background">Background</h2>
+<p><a href="https://projectshield.withgoogle.com/landing">Project
Shield</a>, offered by <a href="https://cloud.google.com/">Google
Cloud</a> and <a href="https://jigsaw.google.com/">Jigsaw</a> (a
subsidiary of Google), is a service that counters <a
href="https://en.wikipedia.org/wiki/Distributed-denial-of-service">distributed-denial-of-service</a>
(DDoS) attacks. Project Shield is available free of charge to eligible
websites that have media, elections, and hu [...]
+<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 - <a
href="https://cloud.google.com/blog/products/identity-security/ddos-attack-trends-during-us-midterm-elections">against
more than 25,000 attacks</a>. Notably, Project Shield helped ensure <a
href="https://cloud.google.com/blog/products/identity-security/ddos-attack-trends-during-us-midte
[...]
+<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 <a
href="https://www.washingtonpost.com/opinions/2022/06/21/russia-ukraine-cyberwar-intelligence-a
[...]
+<h2 id="journey-to-beam">Journey To Beam</h2>
+<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 <a
href="https://cloud.google.com/cdn">Cloud CDN</a> for <a
href="https://en.wikipedia.org/wiki/Cache_(computing)">caching</a>. To
protect websites from DDoS and other malicious attacks, it leverages <a
href="https://cloud.google.com/armor">Cloud Armor</a> features, [...]
+<p>Project Shield acts as a <a
href="https://en.wikipedia.org/wiki/Reverse_proxy">reverse proxy</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 [...]
+<div class="post-scheme">
+<a href="/images/case-study/projectShield/project_shield_mechanism.png"
target="_blank" title="Click to enlarge">
+<img src="/images/case-study/projectShield/project_shield_mechanism.png"
alt="Project Shield Mechanism">
+</a>
+<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-wrapped">
+<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.
+</p>
+<div class="case-study-quote-author">
+<div class="case-study-quote-author-img">
+<img src="/images/case-study/projectShield/marc_howard.jpg">
+</div>
+<div class="case-study-quote-author-info">
+<div class="case-study-quote-author-name">
+Marc Howard
+</div>
+<div class="case-study-quote-author-position">
+Founding Engineer @ Project Shield
+</div>
+</div>
+</div>
+</blockquote>
+<p>Project Shield’s team then added <a
href="https://firebase.google.com/docs/firestore">Firestore</a> as an
intermediate step, running a <a
href="https://en.wikipedia.org/wiki/Cron">cron</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 [...]
+<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.</p>
+<blockquote class="case-study-quote-block case-study-quote-wrapped">
+<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.
+</p>
+<div class="case-study-quote-author">
+<div class="case-study-quote-author-img">
+<img src="/images/case-study/projectShield/marc_howard.jpg">
+</div>
+<div class="case-study-quote-author-info">
+<div class="case-study-quote-author-name">
+Marc Howard
+</div>
+<div class="case-study-quote-author-position">
+Founding Engineer @ Project Shield
+</div>
+</div>
+</div>
+</blockquote>
+<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.</p>
+<p>They selected Apache Beam for its <a
href="/documentation/runtime/model/">strong processing guarantees</a>,
streaming capabilities, and out-of-the-box <a
href="/documentation/io/connectors/">I/Os</a> for BigQuery and Pub/Sub. By
pairing Apache Beam with the <a
href="/documentation/runners/dataflow/">Dataflow runner</a>, they also
benefited from built-in autoscaling. In addition, the <a
href="/documentation/sdks/python/">Apache Beam Python SDK</a> lets you us
[...]
+<h2 id="use-cases">Use Cases</h2>
+<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.</p>
+<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
<a href="https://en.wikipedia.org/wiki/Personal_data">Personally
Identifiable Information</a> (PII) without using a <a
href="https://en.wikipedia.org/wiki/Data_loss_preve [...]
+<blockquote class="case-study-quote-block case-study-quote-wrapped">
+<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
+</p>
+<div class="case-study-quote-author">
+<div class="case-study-quote-author-img">
+<img src="/images/case-study/projectShield/marc_howard.jpg">
+</div>
+<div class="case-study-quote-author-info">
+<div class="case-study-quote-author-name">
+Marc Howard
+</div>
+<div class="case-study-quote-author-position">
+Founding Engineer @ Project Shield
+</div>
+</div>
+</div>
+</blockquote>
+<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.</p>
+<blockquote class="case-study-quote-block case-study-quote-wrapped">
+<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.
+</p>
+<div class="case-study-quote-author">
+<div class="case-study-quote-author-img">
+<img src="/images/case-study/projectShield/chad_hansen.png">
+</div>
+<div class="case-study-quote-author-info">
+<div class="case-study-quote-author-name">
+Chad Hansen
+</div>
+<div class="case-study-quote-author-position">
+Founding Engineer @ Project Shield
+</div>
+</div>
+</div>
+</blockquote>
+<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.</p>
+<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.</p>
+<div class="post-scheme">
+<a
href="/images/case-study/projectShield/apache_beam_streaming_log_analytics.png"
target="_blank" title="Click to enlarge">
+<img
src="/images/case-study/projectShield/apache_beam_streaming_log_analytics.png"
alt="Apache Beam Streaming Log Analytics">
+</a>
+<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?parent=catalog">message
deduplication and ex [...]
+<blockquote class="case-study-quote-block case-study-quote-wrapped">
+<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.
+</p>
+<div class="case-study-quote-author">
+<div class="case-study-quote-author-img">
+<img src="/images/case-study/projectShield/chad_hansen.png">
+</div>
+<div class="case-study-quote-author-info">
+<div class="case-study-quote-author-name">
+Chad Hansen
+</div>
+<div class="case-study-quote-author-position">
+Founding Engineer @ Project Shield
+</div>
+</div>
+</div>
+</blockquote>
+<h2 id="results">Results</h2>
+<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 [...]
+<blockquote class="case-study-quote-block case-study-quote-wrapped">
+<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.
+</p>
+<div class="case-study-quote-author">
+<div class="case-study-quote-author-img">
+<img src="/images/case-study/projectShield/marc_howard.jpg">
+</div>
+<div class="case-study-quote-author-info">
+<div class="case-study-quote-author-name">
+Marc Howard
+</div>
+<div class="case-study-quote-author-position">
+Founding Engineer @ Project Shield
+</div>
+</div>
+</div>
+</blockquote>
+<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.</p>
+<div class="case-study-feedback" id="case-study-feedback">
+<p class="case-study-feedback-title">Was this information useful?</p>
+<div>
+<button class="btn case-study-feedback-btn"
onclick="sendCaseStudyFeedback(true, 'Project Shield')">Yes</button>
+<button class="btn case-study-feedback-btn"
onclick="sendCaseStudyFeedback(false, 'Project Shield')">No</button>
+</div>
+</div>
+</div>
+<div
class="clear-nav"></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>
<!--
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>
-<!--
-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 [...]
+ 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
[...]
+ 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