Currently, to create a cached service in the cloud in a high availability/auto-scaling environment, in our case AWS, requires that the cache either be stored on disks, SAN like devices (e.g., EBS volumes), or S3. This is less than ideal because:
- Supporting cache on demand does not leverage the advantages of storage S3 (lower costs, better redundancy, "infinite" storage),
- Storing in S3 requires that caches always be pre-built (less efficient workflow),
- Requires ongoing storage costs
It would be ideal if ArcGIS Enterprise, cloud formation templates, CloudBuilder supported the option to do cache on demand/dynamic tiling such that tiles would be directly stored in a CDN (e.g., CloudFront). What I am proposing is similar to the AWS Lambda/TiTiler workflow. Esri service request URL's would remain the same, but users would benefit from the performance boost of tiled services and the flexibility of them being dynamic. Providers would enjoy a cleaner and easier cache creation workflow (configure in the UI when creating the service), reduced costs (CDN vs storage and egress fees), and lesser overall storage administration. Rather than using ArcGIS, updating a cache would simply be a matter of invalidating the cache using the CDN tools (i.e., clicking a few buttons) and the cache would automatically rebuild as user requests are made. To go a bit further, users could have the option of selecting multiple projections so that caches could be created for each. Again, all done dynamically without requiring much effort from the data provider.