Home / Companies / Fly.io / Blog / May 2025

May 2025 Summaries

5 posts from Fly.io

Filter
Month: Year:
Post Summaries Back to Blog
Agile Web Development with Rails 8 is now in production, where tasks such as editing, indexing, pagination, and printing are performed. The author of the book became dissatisfied with existing content on deployment and production topics by Kamal, so they created their own material which was then incorporated into the book. With spare time, the author published a more comprehensive guide online, utilizing tools like GitHub Copilot to format and proofread the content. This guide aims to fill the gap in existing resources for deploying real projects with Rails 8, covering topics such as Docker ecosystem setup, security measures, and production considerations. The guide is now available on GitHub under an open license, allowing users to contribute and expand upon it.
May 29, 2025 532 words in the original blog post.
We're Fly.io, a public cloud that runs apps in many locations worldwide. Our Anycast router is a large Rust project with thousands of servers globally. A customer's app might run on any server; we need to know which one is best for them. The problem is managing millions of connections and state. We've been through multiple iterations, settling on Corrosion2, a stable system that uses SQLite databases mirrored across servers. However, the routing protocol, corrosion, still has issues. We want to transform our router into a regionalized version with partitioned state. A new bug arises when we lazy-load more of the Catalog state, causing proxies to lock up and get bounced by the watchdog. After several rounds of investigation, including introducing a deadlock detector, switching to recursive read locks, and eventually finding a memory corruption issue in the parking_lot library, we fix the bug by clearing the writer bit separately from the reader. The story highlights the complexity of concurrency bugs and the importance of tools like miri for detecting issues.
May 28, 2025 3,689 words in the original blog post.
Litestream is an open-source tool that makes SQLite databases reliably recoverable from object storage, allowing developers to build full-stack applications quickly and efficiently. It was created by the author of Litestream in 2020 as a solution to the problem of database recovery after server failures. The new version of Litestream has improved performance and introduced features such as point-in-time restores, CASAAS (Compare-and-Swap as a Service), lightweight read replicas, and synchronize lots of databases. These improvements make it easier for developers to deploy and manage their SQLite applications, while also providing better scalability and reliability. The author is excited about the potential of Litestream to enable more complex and efficient use cases, such as agent-based development and rollbacks, which are made possible by its new design.
May 20, 2025 1,403 words in the original blog post.
The Model Context Protocol (MCP) is a server-based protocol that has gained popularity over the past six months. It offers simplicity and universality, but also presents challenges such as configuration and security concerns. The MCP servers come in different types, including those that run locally on the machine or remotely with OAuth 2.1 authentication. The current configuration files for these servers are often manual and JSON-based, which can be cumbersome. To address this, the authors propose a new tool called `fly mcp launch`, which allows users to easily deploy MCP servers remotely with security and simplicity features like auto-stop, file contents, secrets, region, volumes, and VM sizes. This tool supports multiple clients and configuration files, including Claude, Cursor, Neovim, VS Code, Windsurf, and Zed, and provides a range of deployment options, such as command-line or Machines API usage. The authors are actively working on improving the support for MCP servers, including all transports, deployment via command line or Machines API, and access via HTTP Authorization, wireguard tunnels, and flycast.
May 19, 2025 776 words in the original blog post.
The author is exploring the potential for integrating Large Language Models (LLMs) with the Fly.io platform, enabling users to launch and manage applications with ease. The author has created a MCP (Model Capabilities Platform) server using Fly.io, which allows them to attach tools to their LLMs. This setup enables users to interact with their applications, monitor logs, and receive suggestions for improvement. The author is encouraging readers to try out the flyctl MCP server and provide feedback to help shape this vision into a reality.
May 07, 2025 637 words in the original blog post.