From AWS to Fly.io: A Migration Story
Science & Technology
Introduction
Introduction
In a recent live stream discussion, J Bell, CTO of Trellis.org, shared insights into his company’s journey from using AWS to migrating to Fly.io. Over the course of several months, Trellis, a fundraising platform for charities and nonprofits, transitioned its infrastructure in search of better performance, reliability, and cost-effectiveness. J recounted his experiences, the challenges faced, and the benefits derived from this migration.
The Background
Trellis.org has been in operation for seven years now, and during this time, J has worn many hats—from DevOps engineer to QA to product manager. As the team grew, so did their requirements for a more efficient and developer-friendly infrastructure. The migration to Fly.io began in early 2023 with the aim of simplifying operations and ensuring better resource management.
Challenges with AWS
Before migrating, Trellis relied heavily on AWS, specifically using Elastic Beanstalk for deployments, which came with its own set of complexities. J described the multi-step process needed for CI/CD using AWS:
- Building Docker containers on their CI environment.
- Pushing these containers to Amazon ECR.
- Managing multiple API calls to deploy updates.
This set-up led to overwhelming costs and a steep learning curve, requiring significant time spent navigating AWS’s complicated dashboard and ecosystem.
Transition to Fly.io
The migration to Fly.io offered several advantages:
- Cost-Effective: Trellis saw a substantial reduction in their expenses — around $ 1,000 a month — primarily due to lowered hosting costs and eliminated CI/CD-related expenses.
- Simplicity and Speed: Fly.io’s unified platform allowed the Trellis team to deploy applications using a single command—
fly deploy
, which also handled health checks and deployment status. This was a significant time-saver compared to the multi-step processes that AWS required.
J highlighted the ease of working with Fly.io’s developer ecosystem, enabling the team to focus on delivering value to their customers rather than managing infrastructure complexities.
Fly.io’s Experience
J praised Fly.io for its user-friendly developer experience, which he noted is a stark contrast from AWS. The platform handles many features automatically, allowing developers to efficiently manage applications without extensive overhead. Fly’s CLI allows for a seamless experience while deploying changes and integrating services, such as private networking.
However, concerns about recent outages on the platform were also discussed. Trellis faced challenges thanks to these outages, which impacted their operations and raised questions about reliability. J acknowledged that while Fly.io is a growing company, ongoing issues could prompt them to explore other options.
Project Endeavors
Outside of the migration story, J shared his current side projects, including an exploration of AI applications in Magic: The Gathering, as well as a personal endeavor of creating a distributed lock service using Go. His motivation stems from both a love for programming and the opportunity to learn new languages and frameworks.
Conclusion
J concluded that while the journey from AWS to Fly.io involved challenges, the benefits of cost savings, simplification of processes, and an overall better developer experience made the migration worthwhile. For companies looking for simplified cloud solutions, Fly.io presents a compelling option.
Keywords
AWS, Fly.io, migration, Trellis.org, CI/CD, cost-effective, developer experience, distributed lock, Go programming, Magic: The Gathering.
FAQ
Q1: Why did Trellis migrate from AWS to Fly.io?
A1: Trellis migrated to Fly.io for several reasons, including cost-effectiveness, simplicity in deployment processes, and an overall better developer experience.
Q2: What challenges did Trellis face while using AWS?
A2: The main challenges included high costs, a complicated multi-step deployment process, and the overwhelming complexity of navigating AWS’s ecosystem.
Q3: How much did Trellis save by moving to Fly.io?
A3: Trellis saved approximately $ 1,000 a month after migrating to Fly.io, primarily due to reduced hosting costs.
Q4: What side projects is J Bell currently working on?
A4: J Bell is currently working on a distributed lock service in Go and exploring AI applications related to Magic: The Gathering.
Q5: How does the deployment process differ between AWS and Fly.io?
A5: With Fly.io, deployment is simplified to a single command (fly deploy
), while AWS requires multiple steps involving Docker builds, ECR, and managing application statuses separately.