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 [...] +<!-- +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