A Multi-Tenancy Cloud-Native Digital Library Platform
Yinlin Chen, Jim Tuttle, William A. Ingram
{ylchen, jim.tuttle, waingram}@vt.edu
Information Technologies and Services Virginia Tech Libraries
A Multi-Tenancy Cloud-Native Digital Library Platform Yinlin Chen, - - PowerPoint PPT Presentation
A Multi-Tenancy Cloud-Native Digital Library Platform Yinlin Chen, Jim Tuttle, William A. Ingram {ylchen, jim.tuttle, waingram}@vt.edu Information Technologies and Services Virginia Tech Libraries Agenda Cloud-native concept Virginia
Yinlin Chen, Jim Tuttle, William A. Ingram
{ylchen, jim.tuttle, waingram}@vt.edu
Information Technologies and Services Virginia Tech Libraries
Agenda
Cloud-native Concept
managed services
Virginia Tech Digital Library Platform (VTDLP)
– ID Minting service, Access Service, Metadata service, …
– IAWA, VTechWork, …
Preservation Data Modeling Presentation
VTDLP Overview
Preservation staging SW Virginia IAWA Images VtechWork ETDs Storage
APTrust Amazon S3 Presentation
Others IAW A Others BeyondVT
. . . Batch Metadata Service Metadata Service ID Minting Service Resolution Service Serialization Service Other Services
Design Strategy
– Static files – Lambda functions
– Infrastructure as code – No manual provisioning or managing servers
AWS Ecosystem
Amazon S3 Amazon Glacier AWS Lambda Amazon DynamoDB Amazon CloudFront Amazon Route 53 Amazon CloudWatch AWS CloudTrail AWS CloudFormation IAM Amazon API Gateway Amazon SQS Amazon SNS
AWS CLI Network & Content Delivery Compute & Database Management
AWS Organizations Messaging Security & Identity Storage Services Amazon Pinpoint Amazon Cognito Amazon EC2 Amazon ES AWS Certificate Manager AWS Amplify
Software stacks
React AWS Amplify Node.js Python
Web App Microservice (AWS Lambda)
AWS AppSync
Preservation Pipeline
Checksums Fixity Virus Scan AWS S3 APTrust PREMIS Apache Airflow
Lambda Example – Metadata file
1. File upload to S3 2. S3 triggers a Lambda function 3. Lambda function parses file content and inserts/updates record in the DynamoDB
Lambda Example – DynamoDB / ES
1. Data modifications in DynamoDB will trigger a Lambda function 2. Lambda function captures changes and updates Amazon ES
Presentation - Multi-Tenant Architecture
DB Application Hub Search App1 App2 AppN
Web App
Amazon Route 53 Amazon API Gateway Amazon CloudFront AWS Certificate Manager Amazon Cognito Amazon S3 AWS Lambda Amazon DynamoDB Amazon Elasticsearch Service
AWS Cloud
The International Archive of Women in Architecture
CloudFront
Image processing workflow
AWS Lambda
Amazon S3
Amazon S3 AWS Batch
Batch Job – image set 1 Batch Job – image set 2 Batch Job – image set 3 Batch Job – image set N
Tiles & Manifest
Raw images
Amazon CloudWatch Rule
Amazon Elastic File System
Amazon EC2
Batch job - IIIF_S3 Docker
Amazon S3
variables
Tiles & Manifest
IIIF
Amazon Elastic File System AWS Batch
CI/CD with AWS
Developers
AWS CodePipeline AWS CodeBuild AWS CloudFormation Amazon S3 AWS Lambda Amazon API Gateway
(1) (2) (3) (4) (5) (6) (7)
Cloud benefit - Backup examples
– Amazon S3 is 99.999999999% durability and 99.99% availability. – On average, may lose one of 10,000 objects every 10 million years or so. – Cross-region replication
– Point-in-time recovery (Last 35 days) – On-Demand Backup (Stored in S3)
– Daily snapshots (Last 14 days) – On-Demand Backup (Stored in S3)
VTL Experiences