Skip to content

Commit 05b23f7

Browse files
author
Rehan van der Merwe
authored
fix: update docs (#12)
1 parent d821bea commit 05b23f7

File tree

4 files changed

+38
-8
lines changed

4 files changed

+38
-8
lines changed

README.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,18 @@ This solution was designed for multiple websites with low to moderate traffic. I
77
possible, but it is not free. The cost is mostly driven by the ingestion API that saves the data to S3 through a
88
Kinesis Firehose.
99

10-
You can see a LIVE DEMO [HERE](https://demo.serverless-website-analytics.com/).
10+
You can see a LIVE DEMO [HERE](https://demo.serverless-website-analytics.com/) and read about the simulated traffic
11+
[here](https://github.com/rehanvdm/serverless-website-analytics/blob/main/docs/DEMO-TRAFFIC.md)
1112

1213
## Objectives
13-
- Easy to deploy in your AWS account, any *region
14-
- The target audience is small to medium websites with low to moderate traffic (less than 10M views)
14+
- Low frequency of dashboard views
15+
- The target audience is small to medium website(s) with low to moderate page view traffic (equal or less than 10M views)
1516
- Lowest possible cost
1617
- KISS
1718
- No direct server-side state
1819
- Low maintenance
20+
- Easy to deploy in your AWS account, any *region
21+
- Don't store any Personally Identifiable Information (PII)
1922

2023
The main objective is to keep it simple and the operational cost low, keeping true to "scale to 0" tenants of serverless,
2124
even if it goes against "best practices".

docs/API.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,18 @@ This solution was designed for multiple websites with low to moderate traffic. I
77
possible, but it is not free. The cost is mostly driven by the ingestion API that saves the data to S3 through a
88
Kinesis Firehose.
99

10-
You can see a LIVE DEMO [HERE](https://demo.serverless-website-analytics.com/).
10+
You can see a LIVE DEMO [HERE](https://demo.serverless-website-analytics.com/) and read about the simulated traffic
11+
[here](https://github.com/rehanvdm/serverless-website-analytics/blob/main/docs/DEMO-TRAFFIC.md)
1112

1213
## Objectives
13-
- Easy to deploy in your AWS account, any *region
14-
- The target audience is small to medium websites with low to moderate traffic (less than 10M views)
14+
- Low frequency of dashboard views
15+
- The target audience is small to medium website(s) with low to moderate page view traffic (equal or less than 10M views)
1516
- Lowest possible cost
1617
- KISS
1718
- No direct server-side state
1819
- Low maintenance
20+
- Easy to deploy in your AWS account, any *region
21+
- Don't store any Personally Identifiable Information (PII)
1922

2023
The main objective is to keep it simple and the operational cost low, keeping true to "scale to 0" tenants of serverless,
2124
even if it goes against "best practices".

docs/DEMO-TRAFFIC.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Demo Site Traffic
2+
3+
The Demo site traffic consists of simulated data and some real data that comes from the page itself.
4+
5+
At some point the simulated data was generating 100 records every 1 minute 24x7 over three sites. This was to test how Firehose, S3 and
6+
Athena would handle the load. The firehose buffering was also at 1 minute, this was to force the setup to generate S3
7+
files every minute.
8+
9+
Since this is a schema on read system, I was particularly interested in seeing the costs associated
10+
with Athena scanning/doing S3 GET requests and weather it can still produce results in a timely manner. The results were
11+
very good, the system was able to handle the load and produce results in a timely manner.
12+
13+
But the simulated traffic had to be changed to accommodate the high view rate of the dashboard. The simulated traffic
14+
was changed instead of optimizing the Athena & S3 section of the system because this problem is only inherit to the
15+
demo site. Ideally you will not have 10k+ users viewing the dashboard all the time. It would be a select few users
16+
throughout the day.
17+
18+
The simulated traffic was changed to a burst of 10k records every 1 hour. This reduces the amount of buckets Firehose
19+
creates and also the amount of files written to S3. This in return reduces the amount of S3 GET requests made by Athena
20+
when querying the data.
21+
22+
**The system is designed for around 1 to 10 million page views. There is a high traffic demo site available that is
23+
guarded by authentication. Contact me if you wish to have a look at how this solution performs at scale.**

src/src/frontend/src/views/page_stats/index.vue

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -164,12 +164,13 @@ async function refresh()
164164
<template>
165165
<el-container class="h100" style="display: flex; justify-content: center">
166166

167-
<div style="width: 1280px; ">
167+
<div style="width: 1280px;">
168168

169169
<el-alert v-if="showDemoBanner" class="demo" type="warning" style="margin-top: 10px; width: 100%" >
170170
<div style="display: flex; justify-content: space-between; width: 100%">
171171
<div>
172-
This is the open source CDK <a style="font-weight: bold; color: inherit" href="https://github.com/rehanvdm/serverless-website-analytics" target="_blank">serverless-website-analytics</a> demo page, it tracks this page and some simulated traffic.
172+
This is the open source CDK <a style="font-weight: bold; color: inherit" href="https://github.com/rehanvdm/serverless-website-analytics" target="_blank">serverless-website-analytics</a>
173+
demo page, it tracks this page and some <a style="font-weight: bold; color: inherit" href="https://github.com/rehanvdm/serverless-website-analytics/blob/main/docs/DEMO-TRAFFIC.md" target="_blank">simulated traffic.</a>.
173174
</div>
174175
<div>
175176
<a style="margin-left: 20px" href="https://github.com/rehanvdm/serverless-website-analytics" target="_blank">

0 commit comments

Comments
 (0)