# Breaking up with your MonoRail

DevFeed: [Breaking up with your MonoRail](<https://devfeed.tech/articles/breaking-up-with-your-monorail-15553.md>)

Original publisher: [Read original article](<https://developer.squareup.com/blog/breaking-up-with-your-monorail>)

Author: Square Engineering

Published: 2016-01-13T17:10:00Z

Content type: article

Language: en

Sources: [Square Corner Blog RSS Feed](<https://devfeed.tech/sources/square-corner-blog-rss-feed.md>)

Topics: [Rails](<https://devfeed.tech/topics/rails.md>), [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [Scalability](<https://devfeed.tech/topics/scalability.md>), [API](<https://devfeed.tech/topics/api.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [MySQL](<https://devfeed.tech/topics/mysql.md>), [Object-relational mapping](<https://devfeed.tech/topics/orm.md>), [Ruby](<https://devfeed.tech/topics/ruby.md>), [Transactions](<https://devfeed.tech/topics/transactions.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [databases](<https://devfeed.tech/tags/databases.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [mysql](<https://devfeed.tech/tags/mysql.md>), [orm](<https://devfeed.tech/tags/orm.md>), [rails](<https://devfeed.tech/tags/rails.md>), [ruby](<https://devfeed.tech/tags/ruby.md>), [scalability](<https://devfeed.tech/tags/scalability.md>), [sharding](<https://devfeed.tech/tags/sharding.md>), [transactions](<https://devfeed.tech/tags/transactions.md>)

## AI overview

Square describes extracting payments functionality and data from its monolithic Rails application, Square/Web, which was backed by a single MySQL instance. The team rejected vertical scaling and retrofitted sharding as long-term solutions, then used query analysis and an intermediary API over ActiveRecord to plan a separate payments service.

## Source excerpt

Planning an extraction from a monolithic Rails app.