Skip to content
All articles
  • Backend
  • Cloud
  • Civic tech

Scaling a relational database 10x on a nonprofit budget with a hybrid cloud

How Como Votam got 10x more relational database capacity through a hybrid cloud migration, without significant added cost, and the reasoning behind it.

AL

By

2 min read

Read in Português
The towers of Brazil's National Congress in Brasília lit at night
Cover: Congresso Nacional Brasília, Arley da Cruz, CC BY-SA 4.0, via Wikimedia Commons

The project and its budget

Como Votam is a civic, nonprofit project that makes Brazil's public legislative data easy to visualize and analyze. The Senate and the Chamber of Deputies already publish their data, but using it takes technical knowledge. The goal is for anyone to see how parliamentarians vote.

I am a co-founder. I built the data pipeline and led engineering alongside marketing, which put infrastructure cost squarely on my desk. A nonprofit has no slack: a cost that doubles can end the project.

The bottleneck was storage, not compute

As the data grew, the relational database hit a critical storage limit. This is a common pattern, and it is tempting to answer it by upgrading everything: a bigger instance, more memory, more CPU. That fixes the symptom at the price of paying for capacity you do not need.

The first step was to be precise about what was actually scarce. Storage was. The workload did not need a much larger machine, it needed much more room for data.

What a hybrid cloud approach buys you

A hybrid setup lets each part of the system live where it is cheapest to run for its particular job. Instead of one environment that has to be good at everything, you pick placement based on what each component needs: fast and close for the hot path, inexpensive and spacious for the bulk.

For Como Votam, moving to a hybrid cloud architecture removed the storage bottleneck and delivered 10x more relational database capacity without significant added cost. I am deliberately not naming providers or numbers here: the lesson is the reasoning, and the specifics belong to the project.

How I think about a migration like this

A few principles I rely on when the cost of failure is high and the budget is small:

  • Measure before you move. Know which resource is scarce, how fast it is growing and what your real access patterns are.
  • Make the move reversible. Keep the old path working until the new one has proven itself under real traffic.
  • Migrate in slices. Moving data in steps, with checks after each one, turns a risky event into a routine one.
  • Price the whole thing. Include transfer, operations and your own time. A cheap line item can hide an expensive habit.
  • Write down the placement rules. If nobody can explain why a component lives where it lives, the next person will undo the savings.

A note on neutrality

Because Como Votam handles data about elections, the project's positioning is strictly technical and nonpartisan. That shapes engineering choices too: reproducible pipelines, transparent sources and a clear separation between public data and any interpretation of it.

Takeaways

  • Identify the real bottleneck before spending.
  • Hybrid placement lets cost follow the workload.
  • Reversible, incremental migrations are what make small budgets safe.

References

Share
AL

Written by Adriano Leão

I'm a software engineer in Goiânia, Brazil, building backend and AI systems. These notes come from the systems I've shipped: co-architecting GuaIA, scaling Como Votam and taking MusicPlayce Hub from zero to real users.

Work with me

The project behind this article

Como Votam

Keep reading

Senators seated at a committee table with laptops and microphones in the Brazilian Federal Senate
Data engineeringOpen dataCivic tech

Building a data pipeline over Brazil's Chamber and Senate open data APIs

Design lessons for an automated pipeline over the open data APIs of Brazil's Chamber of Deputies and Senate: idempotent loads, incremental sync and reconciliation.

3 min read
A presentation slide asking whether a video of two uniformed men is real or fake
AIArchitectureBackend

Four content types, one answer: designing a multimodal disinformation detector

Design principles for a system that analyzes text, images, video and audio under a latency budget: contracts, parallelism, evidence and human review.

3 min read