forked from lambstatus/lambstatus.github.io
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpath---cost-estimate-e9ab263aa471b1940d4e.js
2 lines (2 loc) · 20.3 KB
/
path---cost-estimate-e9ab263aa471b1940d4e.js
1
2
webpackJsonp([0x8f741ea9fb54],{1031:function(e,t){e.exports={data:{allPostTitles:{edges:[{node:{frontmatter:{title:"Contributing",group:"Internals",type:"doc"},fields:{slug:"/contributing"}}},{node:{frontmatter:{title:"Create a New Admin User",group:"Advanced Usage",type:"doc"},fields:{slug:"/create-a-new-admin-user"}}},{node:{frontmatter:{title:"Get Started",group:"Basic Usage",type:"doc"},fields:{slug:"/get-started"}}},{node:{frontmatter:{title:"Set up Custom Domain",group:"Advanced Usage",type:"doc"},fields:{slug:"/set-up-custom-domain"}}},{node:{frontmatter:{title:"Cost Estimate",group:"Internals",type:"doc"},fields:{slug:"/cost-estimate"}}},{node:{frontmatter:{title:"Set up Custom HTTP(S) Monitoring",group:"Advanced Usage",type:"doc"},fields:{slug:"/set-up-custom-http-s-monitoring"}}},{node:{frontmatter:{title:"Set up the development environment",group:"Internals",type:"doc"},fields:{slug:"/set-up-the-development-environment"}}},{node:{frontmatter:{title:"Integrate with Other Monitoring Systems",group:"Advanced Usage",type:"doc"},fields:{slug:"/integrate-with-other-monitoring-systems"}}},{node:{frontmatter:{title:"Supported AWS Regions",group:"Basic Usage",type:"doc"},fields:{slug:"/supported-aws-regions"}}},{node:{frontmatter:{title:"Upgrading LambStatus",group:"Basic Usage",type:"doc"},fields:{slug:"/upgrading-lamb-status"}}},{node:{frontmatter:{title:"Set up Email Notification",group:"Advanced Usage",type:"doc"},fields:{slug:"/set-up-email-notification"}}}]},postBySlug:{html:'<p>We estimate the LambStatus system takes just <em>$1 to handle 30,000 visitors</em>. This page explains how we calculated the cost.</p>\n<h3 id="assumptions"><a href="#assumptions" aria-hidden="true" class="anchor"><svg aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Assumptions</h3>\n<p>We assume that the details of the 30,000 visitors are like this:</p>\n<ul>\n<li>30,000 unique users visit your status page for <em>5 minutes</em>. A status page usually gets very low traffic and occasionally huge traffic. </li>\n<li>They visit only the top page. The top page usually gives them enough information to know the service status.</li>\n<li>10,000 visitors from US, 10,000 visitors from Europe and 10,000 visitors from Asia.</li>\n</ul>\n<p>Also, when 1 user visits the status page, its client sends these requests:</p>\n<ul>\n<li>8 requests to load static assets like html and js. The data transfer size is 100KB in total.</li>\n<li>10 API requests to load dynamic data like an incident status. The data transfer size is 5KB in total.</li>\n</ul>\n<p>Finally, there are some assumptions about the infrastructure and AWS:</p>\n<ul>\n<li>The region of the system is us-west-2.</li>\n<li>Free tier offers that expire 12 months are <em>expired</em>. API Gateway, S3 and CloudFront fall under this category.</li>\n<li>For free tier offers that never expire, you haven’t consumed your free tier allotment. DynamoDB and Lambda fall under this category.</li>\n</ul>\n<h3 id="summary"><a href="#summary" aria-hidden="true" class="anchor"><svg aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Summary</h3>\n<table>\n<thead>\n<tr>\n<th>Service</th>\n<th>Cost</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Lambda</td>\n<td>$0.000372</td>\n</tr>\n<tr>\n<td>API Gateway</td>\n<td>$0.00105</td>\n</tr>\n<tr>\n<td>DynamoDB</td>\n<td>$0.000</td>\n</tr>\n<tr>\n<td>S3</td>\n<td>$0.000855</td>\n</tr>\n<tr>\n<td>CloudFront</td>\n<td>$0.893</td>\n</tr>\n<tr>\n<td>Total</td>\n<td><em>$0.895</em></td>\n</tr>\n</tbody>\n</table>\n<p>Although other services like Amazon Cognito and Amazon SNS are used slightly, their costs are too small to consider.</p>\n<h3 id="aws-lambda"><a href="#aws-lambda" aria-hidden="true" class="anchor"><svg aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>AWS Lambda</h3>\n<p><a href="https://aws.amazon.com/lambda/pricing/">Pricing page</a></p>\n<p>The cost of Lambda is based on the number of requests for functions and the time the code executes.</p>\n<h4 id="requests"><a href="#requests" aria-hidden="true" class="anchor"><svg aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Requests</h4>\n<p>There are CloudFront and API Gateway in front of Lambda functions, and all requests to the public APIs are cached in the CloudFront for 10 seconds. So, the total number of requests is:</p>\n<div class="gatsby-highlight">\n <pre class="language-none"><code>6 (requests/minute) * 5 (minutes) * 10 (APIs) = 300 (requests)</code></pre>\n </div>\n<p>Since it takes $0.0000002 per request, the total cost is:</p>\n<div class="gatsby-highlight">\n <pre class="language-none"><code>300 (requests) * 0.0000002 (USD/request) = 0.00006 (USD)</code></pre>\n </div>\n<h4 id="duration"><a href="#duration" aria-hidden="true" class="anchor"><svg aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Duration</h4>\n<p>Assuming each API call takes 500ms, the total duration is:</p>\n<div class="gatsby-highlight">\n <pre class="language-none"><code>300 (requests) * 500 (ms/request) = 150000 (ms)</code></pre>\n </div>\n<p>Since the memory size for public APIs is 128MB, it takes $0.000000208 per 100ms. So:</p>\n<div class="gatsby-highlight">\n <pre class="language-none"><code>150000 (ms) / 100 * 0.000000208 (USD/100ms) = 0.000312 (USD)</code></pre>\n </div>\n<h3 id="amazon-api-gateway"><a href="#amazon-api-gateway" aria-hidden="true" class="anchor"><svg aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Amazon API Gateway</h3>\n<p><a href="https://aws.amazon.com/api-gateway/pricing/">Pricing page</a></p>\n<p>The cost of API Gateway is based on the API calls you receive and the amount of data transferred out.</p>\n<h4 id="api-calls"><a href="#api-calls" aria-hidden="true" class="anchor"><svg aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>API Calls</h4>\n<p>As well as Lambda, there is CloudFront in front of API Gateway and all requests to the public APIs are cached in the CloudFront for 10 seconds. So, the total number of requests is:</p>\n<div class="gatsby-highlight">\n <pre class="language-none"><code>6 (requests/1 minute) * 5 (minutes) * 10 (APIs) = 300 (requests)</code></pre>\n </div>\n<p>Since it takes $3.50 per million API calls, the total cost is:</p>\n<div class="gatsby-highlight">\n <pre class="language-none"><code>300 (requests) / 1000000 * 3.5 (USD/million req) = 0.00105 (USD)</code></pre>\n </div>\n<h4 id="data-transfer-costs"><a href="#data-transfer-costs" aria-hidden="true" class="anchor"><svg aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Data Transfer Costs</h4>\n<p>You will be charged for <em>out-to-Internet</em> data transfer and the data from API gateway is transferred to CloudFront, so the cost is merely $0.</p>\n<h3 id="amazon-dynamodb"><a href="#amazon-dynamodb" aria-hidden="true" class="anchor"><svg aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Amazon DynamoDB</h3>\n<p><a href="https://aws.amazon.com/dynamodb/pricing/">Pricing page</a></p>\n<p>The cost of DynamoDB is based on the Provisioned Throughput and the Indexed Data Storage.</p>\n<h4 id="provisioned-throughput-read"><a href="#provisioned-throughput-read" aria-hidden="true" class="anchor"><svg aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Provisioned Throughput (Read)</h4>\n<p>Each Lambda function for the public APIs typically accesses just one table and read several entities. Also, since all requests to the public APIs are cached in the CloudFront for 10 seconds, these Lambda functions are invoked in every 10 seconds at most. So we assume the 1 RCU per table is enough.</p>\n<p>It takes $0.09 per RCU and there are 7 tables. Also, we assume you haven’t consumed your free tier allotment (25 RCUs). so the total cost is:</p>\n<div class="gatsby-highlight">\n <pre class="language-none"><code>1 (RCU) * 0.09 (USD/RCU) * 7 (tables) = 0.63 (USD)\nThanks to the 25 RCUs free tier, the actual cost is $0.</code></pre>\n </div>\n<h4 id="provisioned-throughput-write"><a href="#provisioned-throughput-write" aria-hidden="true" class="anchor"><svg aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Provisioned Throughput (Write)</h4>\n<p>Lambda functions for the public APIs do no write operations. So the 1 WCU per table is enough.</p>\n<p>It takes $0.47 per WCU and there are 7 tables. Also, we assume you haven’t consumed your free tier allotment (25 WCUs). so the total cost is:</p>\n<div class="gatsby-highlight">\n <pre class="language-none"><code>1 (WCU) * 0.47 (USD/WCU) * 7 (tables) = 3.29 (USD)\nThanks to the 25 WCUs free tier, the actual cost is $0.</code></pre>\n </div>\n<h4 id="indexed-data-storage"><a href="#indexed-data-storage" aria-hidden="true" class="anchor"><svg aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Indexed Data Storage</h4>\n<p>The size of each item in the tables is at most 1KB and the number of items will not exceed 1000. Since it takes just $0.25 per GB, we assume the storage cost is merely $0.</p>\n<h3 id="amazon-s3"><a href="#amazon-s3" aria-hidden="true" class="anchor"><svg aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Amazon S3</h3>\n<p><a href="https://aws.amazon.com/s3/pricing/">Pricing page</a></p>\n<p>The cost of S3 is based on the stored data size, the number of requests and the amount of data transferred out.</p>\n<h4 id="storage"><a href="#storage" aria-hidden="true" class="anchor"><svg aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Storage</h4>\n<p>The system stores static files like html and js and metrics data files in the S3 bucket. The static file size is too small to consider, but the metrics data size can be kind of large. We assume the metrics data size increases by 100KB a day and there are data for 1 year. Since it takes $0.023 per GB, the cost is:</p>\n<div class="gatsby-highlight">\n <pre class="language-none"><code>100 (KB) * 365 (days/year) / (1024 * 1024) * 0.023 (USD/GB) = 0.0008 (USD)</code></pre>\n </div>\n<h4 id="requests-1"><a href="#requests-1" aria-hidden="true" class="anchor"><svg aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Requests</h4>\n<p>There are CloudFront in front of S3 buckets, and js/css files are cached for 1 year and html and json data files are cached for 10 seconds. So, we consider only html and json data files here and there are 5 such files in total. So, the total number of requests is:</p>\n<div class="gatsby-highlight">\n <pre class="language-none"><code>5 (files) * 6 (requests/1 minute) * 5 (minutes) = 150 (requests)</code></pre>\n </div>\n<p>Since it takes $0.0037 per 10,000 requests, the total cost is:</p>\n<div class="gatsby-highlight">\n <pre class="language-none"><code>150 (requests) / 10000 * 0.0037 (USD/request) = 0.000055 (USD)</code></pre>\n </div>\n<h4 id="data-transfer-costs-1"><a href="#data-transfer-costs-1" aria-hidden="true" class="anchor"><svg aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Data Transfer Costs</h4>\n<p>Data transfer cost from S3 to CloudFront is free.</p>\n<h3 id="amazon-cloudfront"><a href="#amazon-cloudfront" aria-hidden="true" class="anchor"><svg aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Amazon CloudFront</h3>\n<p><a href="https://aws.amazon.com/cloudfront/pricing/">Pricing page</a></p>\n<p>The cost of CloudFront is based on the number of requests and the amount of data transferred out.</p>\n<h4 id="data-transfer-costs-2"><a href="#data-transfer-costs-2" aria-hidden="true" class="anchor"><svg aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Data Transfer Costs</h4>\n<p>As we assumed, the 100 + 5 KB size data is transferred to each user. The data transfer cost differs depending on the regions: $0.085/GB in US, $0.085/GB in Europe and $0.140/GB in Asia. Since there are 10,000 visitors from US, 10,000 visitors from Europe and 10,000 visitors from Asia, the average cost is $0.103/GB. So the total cost is:</p>\n<div class="gatsby-highlight">\n <pre class="language-none"><code>0.105 (MB/user) / 1024 * 30000 (users) * 0.103 (USD/GB) = 0.316 (USD)</code></pre>\n </div>\n<h4 id="requests-2"><a href="#requests-2" aria-hidden="true" class="anchor"><svg aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Requests</h4>\n<p>As we assumed, each user sends 10 + 8 requests per visit. The request cost differs depending on the regions: $0.0100/10000 in US, $0.0120/10000 in Europe and $0.0120/10000 in Asia. Since there are 10,000 visitors from US, 10,000 visitors from Europe and 10,000 visitors from Asia, the average cost is $0.01133/10000. So the total cost is:</p>\n<div class="gatsby-highlight">\n <pre class="language-none"><code>17 (requests / user) * 30000 (users) / 10000 * 0.01133 (USD/request) = 0.5778 (USD)</code></pre>\n </div>',timeToRead:6,excerpt:"We estimate the LambStatus system takes just $1 to handle 30,000 visitors . This page explains how we calculated the cost. Assumptions We…",frontmatter:{title:"Cost Estimate"},fields:{slug:"/cost-estimate"}}},pathContext:{slug:"/cost-estimate"}}}});
//# sourceMappingURL=path---cost-estimate-e9ab263aa471b1940d4e.js.map