@architect/docs
Advanced tools
Comparing version 30.1.18 to 30.1.19
# Limits | ||
The cloud has limits. And arc itself is an abstraction with deliberate constraints. | ||
The cloud has limits. And `arc` itself is an abstraction with deliberate constraints. | ||
Whether we label them *constraints* or *limits*, they are **tradeoffs** you need to be aware of when designing your software architecture. | ||
Whether we label them *constraints* or *limits*, they are **tradeoffs** you need to be aware of when designing your software architecture for cloud functions. | ||
## Cloud limits | ||
- Some things **Just Fail**, and you won't even always get a useful error | ||
- This means: you _must_ consider retries, including manual retries, where you create / destroy / recreate infra workflows (and, accordingly, `.arc` workflows are intended to be run and re-run) | ||
- Yes, it's "kinda gross" but it does actually work works. Sometimes we call this situation *immutable infrastructure* to feel better! 💖 | ||
- Regions go down, and there isn't necessarily a great way to move them without a DNS change | ||
- Some things just fail, and you won't even always get a useful error | ||
- This means: you _must_ consider retrys, including manual retrys, where you create / destory / recreate infra workflows (and, accordingly, `.arc` workflows are built to be run and re-run) | ||
- Yes, it's "kinda gross" but it does actually work. Sometimes we call this situation *immutable infrastructure* to feel better! 💖 | ||
- Regions go down, and there isn't necessarily a great way to move them without a DNS change (although this is by no means limited only to cloud functions) | ||
- Lambda cold starts are vicious on large Lambdas; the best antidote is to author small as possible Lambda functions (rule of thumb: sub 5MB compressed, including modules, usually results in sub-second execution) | ||
@@ -17,4 +17,4 @@ - API Gateway: whereby 403 it probably meant 404 | ||
- API Gateway API limits can be brutal, so creating http routes can be slow (i.e. generating a large amount of routes can take minutes) | ||
- Cloudwatch logs are not structured (so we search for `console.log` strings instead of querying structured data - inspectability is hugely important for production systems) | ||
- Lambdas cannot execute for longer than 5 minutes | ||
- Cloudwatch logs are not structured (so we search for `console.log` strings instead of querying structured data -- inspectability is hugely important for produciton systems) | ||
- Lambdas cannot execute for longer than 5 minutes | ||
- Lambda functions require you to `npm install` to your project `node_modules` individually prior to deployment | ||
@@ -21,0 +21,0 @@ |
{ | ||
"name": "@architect/docs", | ||
"version": "30.1.18", | ||
"version": "30.1.19", | ||
"lockfileVersion": 1, | ||
@@ -5,0 +5,0 @@ "dependencies": { |
{ | ||
"name": "@architect/docs", | ||
"version": "30.1.18", | ||
"version": "30.1.19", | ||
"main": "index", | ||
@@ -5,0 +5,0 @@ "scripts": { |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
128629