# Keep the monolith, but split the workloads

DevFeed: [Keep the monolith, but split the workloads](<https://devfeed.tech/articles/keep-the-monolith-but-split-the-workloads-11877.md>)

Original publisher: [Read original article](<https://incident.io/blog/monolith>)

Author: Lawrence Jones

Published: 2023-04-12T00:00:00Z

Content type: article

Language: en

Sources: [The incident.io Blog](<https://devfeed.tech/sources/the-incident-io-blog.md>)

Topics: [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [Scalability](<https://devfeed.tech/topics/scalability.md>), [Microservices](<https://devfeed.tech/topics/microservices.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [incident](<https://devfeed.tech/topics/incident.md>), [Heroku](<https://devfeed.tech/topics/heroku.md>), [Post Mortem](<https://devfeed.tech/topics/post-mortem.md>), [Ruby](<https://devfeed.tech/topics/ruby.md>), [Database](<https://devfeed.tech/topics/database.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [incident](<https://devfeed.tech/tags/incident.md>), [incident-channel](<https://devfeed.tech/tags/incident-channel.md>), [incident-management](<https://devfeed.tech/tags/incident-management.md>), [incident-response](<https://devfeed.tech/tags/incident-response.md>), [microservices](<https://devfeed.tech/tags/microservices.md>), [observability](<https://devfeed.tech/tags/observability.md>), [outage](<https://devfeed.tech/tags/outage.md>), [post-mortem](<https://devfeed.tech/tags/post-mortem.md>), [ruby](<https://devfeed.tech/tags/ruby.md>), [scalability](<https://devfeed.tech/tags/scalability.md>), [slack-incident](<https://devfeed.tech/tags/slack-incident.md>), [systems](<https://devfeed.tech/tags/systems.md>)

## AI overview

The article argues that teams can preserve the simplicity of a monolith while addressing scaling problems by splitting workloads into separate deployment tiers. Drawing on an outage caused by repeated application crashes, it contrasts this approach with microservices, which can improve reliability and scalability but introduce distributed-system and operational complexity. The described implementation used three independent Heroku dyno tiers, each handling a distinct workload.

## Source excerpt

Everybody loves a monolith, but you can hit issues as you scale. Learn how splitting workloads can improve your monolithic architecture's performance and scalability, and understand the trade-offs between monolithic systems and microservices.