Replies: 1 comment
-
Hi CyRamos, I believe starting locally is a much better approach since it speeds up development and avoids constant deployments. However, using Docker from the beginning is a smart move, as it makes deployment much easier—especially if you plan to use AWS Lambda. Setting up libraries in Lambda can be a real headache; many require you to package dependencies inside a Docker container that mimics the AWS environment before zipping and uploading them. If you configure everything properly from the start, the transition will be much smoother. For managing libraries and Git dependencies, simply listing everything in a requirements.txt file should be enough—straightforward and effective. AWS Secrets Manager is undoubtedly the most secure option since it allows fine-grained access control, but in many cases, a simple .env file is sufficient. That said, EC2 is also a solid option, especially if your tasks require more flexibility, longer execution times, or direct access to system-level dependencies. Unlike Lambda, EC2 gives you full control over the environment, making it easier to install CLI tools, manage dependencies, and fine-tune performance. If you anticipate running complex tasks that don’t fit well into a serverless model, EC2 could be the better choice. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello everyone,
First off, thank you for this awesome project!
I’m planning a new Python-based project relying on Fabric to perform tasks that call external APIs and possibly run additional CLI tools. However, I haven’t started writing the code yet, and I’m trying to decide on the best approach before I begin.
Local vs. Cloud for Development
Is it generally recommended to start coding and testing Fabric locally on my machine, or to spin up an EC2 instance in AWS and begin development there?
Are there any clear pros/cons that you’ve encountered in your Fabric-based projects?
The transition from Local to EC2
If I start locally, how difficult or time-consuming is it to migrate later to EC2?
Because I plan to invoke Fabric via the CLI frequently, I’ll likely need to replicate the whole environment (install Fabric, dependencies, CLI tools, etc.) on EC2. Is this typically straightforward (maybe via a Docker container or a simple script), or could it get messy?
Considering Other AWS Options (Lambda, ECS, etc.)
Some tasks might be long-running, so I’m unsure if Lambda is a good fit.
Is Docker + ECS worth looking into early on for better portability and environment consistency?
External Dependencies
I’ll probably need to install extra packages (maybe even from Git) and configure APIs. Any tips or best practices on how to bundle or manage these dependencies so the Fabric workflow remains smooth in both local and AWS environments?
Managing API Keys and Secrets
Since Fabric tasks may require API keys or secrets, what do you recommend for secure handling in AWS? Secrets Manager? Parameter Store? Environment variables?
I’d love to hear any insights, recommendations, or lessons learned from people who have built and deployed Fabric-based applications in AWS.
Thanks in advance for your guidance and for maintaining this project! Any advice on streamlining development and deployment with Fabric is greatly appreciated.
Additional context: I haven’t started coding yet because I want to make sure I pick a development strategy that won’t become a pain when I decide to move everything to the cloud.
Beta Was this translation helpful? Give feedback.
All reactions