Instead of
ANGUALRCONFIG="{\
\"SourceDir\":\"src\",\
\"DistributionDir\":\"dist/ticketshop-frontend\",\
\"BuildCommand\":\"ng build --aot\",\
\"StartCommand\":\"ng serve\"\
}"
AWSCLOUDFORMATIONCONFIG="{\
| import sys | |
| import boto3 | |
| region = 'us-east-1' | |
| target_tag = 'project' | |
| client = boto3.client('lambda', region) | |
| functions = client.list_functions().get('Functions', []) |
Instead of
ANGUALRCONFIG="{\
\"SourceDir\":\"src\",\
\"DistributionDir\":\"dist/ticketshop-frontend\",\
\"BuildCommand\":\"ng build --aot\",\
\"StartCommand\":\"ng serve\"\
}"
AWSCLOUDFORMATIONCONFIG="{\
| stepFunctions: | |
| validate: true | |
| stateMachines: | |
| marketCheck: | |
| events: | |
| - schedule: | |
| rate: rate(10 minutes) | |
| definition: | |
| StartAt: ParseMarkets | |
| States: |
| [{"quantity": 1, "client_id": 2113340075, "is_buy": false, "unit_price": 1199745.01, "transaction_id": 5209802544, "journal_ref_id": 17277636155, "character_id": "93475128", "date": "2019-10-28T22:01:03Z", "type_id": 10190, "is_personal": true, "location_id": 1029434329172, "id": "93475128#10190#5209802544", "type": "transaction"}, {"quantity": 2, "client_id": 93141399, "is_buy": false, "unit_price": 1199745.01, "transaction_id": 5210283767, "journal_ref_id": 17280312347, "character_id": "93475128", "date": "2019-10-29T21:25:55Z", "type_id": 10190, "is_personal": true, "location_id": 1029434329172, "id": "93475128#10190#5210283767", "type": "transaction"}, {"quantity": 2, "client_id": 93141399, "is_buy": false, "unit_price": 1199745.01, "transaction_id": 5210284582, "journal_ref_id": 17280315919, "character_id": "93475128", "date": "2019-10-29T21:27:20Z", "type_id": 10190, "is_personal": true, "location_id": 1029434329172, "id": "93475128#10190#5210284582", "type": "transaction"}, {"quantity": 2, "client_id": |
| Service | Lambda($) | EC2-Instances($) | Total cost ($) | |
|---|---|---|---|---|
| Service Total | 257.5161566525 | 144.17285671270017 | 401.6890133651999 | |
| 2019-05-01 | 0.0012412957000000001 | 0.5135040048999999 | 0.5147453005999999 | |
| 2019-05-02 | 0.0111004192 | 0.288 | 0.2991004192 | |
| 2019-05-03 | 0.1084559888 | 0.288 | 0.3964559888 | |
| 2019-05-04 | 0.0648982586 | 0.288 | 0.3528982586 | |
| 2019-05-05 | 0.051681790699999994 | 0.288 | 0.3396817907 | |
| 2019-05-06 | 0.0431421892 | 0.288 | 0.3311421892 | |
| 2019-05-07 | 0.038547186500000004 | 0.2880000008 | 0.3265471873 | |
| 2019-05-08 | 0.0442620542 | 0.288 | 0.3322620542 |
| Payment Option | Term Length | Savings over On-Demand | |
|---|---|---|---|
| No upfront | 1 year | 20% | |
| Partial upfront | 1 year | 25% | |
| All upfront | 1 year | 27% | |
| No upfront | 3 years | 45% | |
| Partial upfront | 3 years | 50% | |
| All upfront | 3 years | 52% |
| Payment Option | Term Length | Savings over On-Demand | |
|---|---|---|---|
| No upfront | 1/3 year(s) | 12% | |
| Partial upfront | 1/3 year(s) | 15% | |
| All upfront | 1/3 year(s) | 17% |
| Solution | Access latency | $ per GB per month | Storage cost reduction compared to previous solution | |
|---|---|---|---|---|
| DynamoDB | milliseconds | 0.25 | - | |
| S3 Standard | milliseconds | 0.023 | 90.8% | |
| S3 Infrequent Access | milliseconds | 0.0125 | 45.7% | |
| S3 Glacier | up to 12 hours | 0.004 | 68% | |
| S3 Glacier Deep Archive | up to 12 hours | 0.00099 | 75.3% |
| # tested with aws cli v1 and a webpack build | |
| # this is the relative path to the folder that contains your build assets | |
| BUILD_FOLDER=build | |
| # you can improve upload speed by naming the files explicitely instead of all (.) | |
| (cd $BUILD_FOLDER && zip bundle.zip .) | |
| export AWS_PROFILE="${AWS_PROFILE:-default}" | |
| echo "Using AWS Profile: $AWS_PROFILE" |