You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Given the significant problems I've had with the SAM migration, this discussion documents the current state of the web app, the problems, and suggests a way forward.
Current State
Web app runs under Zappa with Bottle but not under SAM. Problems with this approach include:
Zappa and Bottle are not well-maintained
Zappa requires 250MB of data to be downloaded from an S3 bucket on start, which causes the slow start.
Debugging is hard.
Metadata stored on Dreamhost in Simson's MySQL Server.
Problems with this approach:
Dependent on Simson
MySQL is expensive on Amazon
Movie data stored in S3
Current State of Dev
App has been ported to SAM and Flask.
Running with "Image" mode, not Zipfile, due to size.
Image requires functioning docker, which is finicky on MacOS
Movies stored in S3 or MySQL (largely for testing)
Many features do not work.
Debugging is hard.
Dev has no pylint errors
Dev has no test errors locally or on GitHub with Actions
UI in pure JQuery
(New) Proposed End State and development path
0.8 release on Micro VM:
Movies stored in S3.
App running under Flask
Spin up Flask application running on a micro-VM at AWS so we have at least something operational.
Extend all tests so that they can test a remote endpoint, to test an operational system
Demonstrate tracking with 200MB plant videos
Implement downsampling of HD videos to 480x680
0.9 release on Lambda:
Remove the ffmpeg executable from the distribution (significantly reducing size). Instead, when ffmpeg is needed, the application downloads it from a well-known source. This makes it easier to deploy and debug. This alone may make it possible to move from Image/Dockerer to Zipfile on Lambda.
1.0 release on Lambda without MySQL integration:
Create the ability to store movies locally on the server in the file system (won't work for Lambda, but will work for micro VM and for testing.)
Metadata stored in DynamoDB
Remove the ability to store movies in MySQL to simplify code size
Remove MySQL functionality, as it increases code size and makes code paths and testing more complicated.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Given the significant problems I've had with the SAM migration, this discussion documents the current state of the web app, the problems, and suggests a way forward.
Current State
Problems with this approach:
Current State of Dev
(New) Proposed End State and development path
0.8 release on Micro VM:
0.9 release on Lambda:
ffmpeg
executable from the distribution (significantly reducing size). Instead, when ffmpeg is needed, the application downloads it from a well-known source. This makes it easier to deploy and debug. This alone may make it possible to move from Image/Dockerer to Zipfile on Lambda.1.0 release on Lambda without MySQL integration:
1.1 release:
Beta Was this translation helpful? Give feedback.
All reactions