About
IIIF in the Cloud
- Access is bursty by nature
- Tile requests are at least an order of magnitude burstier
- Very hard to scale a server-based solution in a way that can handle the bursts without wasting capacity (and money)
Solution
NodeJS
iiif-processor – turns a IIIF URL path into an image or info.json result
AWS Lambda
serverless-iiif – Lambda function wrapper function that mediates between the web service and the node module
API Gateway
Converts web requests into AWS Lambda calls and returns the result to the client
Amazon S3
Image StorageAWS Serverless App Repository
Application versioning, packaging, quick deployment, and reusability
Under the Hood
libvips
“A demand-driven, horizontally threaded image processing library”
- Very fast and extremely lightweight
- Can perform more than 300 different image manipulation operations
- Supports a large number of image formats
- Most importantly (for our purposes), it supports multi-resolution images and tiling
- Documentation ↗ (opens in a new tab)
sharp
- Fast native Node.js wrapper for libvips
- Supports seeking and streaming of image data without making a local copy
- Documentation ↗ (opens in a new tab)
Contributors
- Michael B. Klein (opens in a new tab) - Northwestern University Libraries
- Justin Gondron (opens in a new tab)
- Rob Kaufman (opens in a new tab) - Notch 8
- Edward Silverton (opens in a new tab) - Mnemoscene
- Trey Pendragon (opens in a new tab) - Princeton University Libraries
- Theia Wolfe (opens in a new tab)
License
Serverless IIIF is available under the Apache 2.0 license.