Itaú

Evolving a critical Go backend for transfer integration (Itaú)

Feb 2026 — Apr 2026

Evolution of Go services for asynchronous transfer flows at Itaú, focused on contracts, messaging and traceability.

  • Go/Golang
  • AWS
  • Kafka
  • SQS
  • Redis
  • Observability

Implementation details are withheld under a confidentiality agreement. The case describes the architectural decision and the perceived impact, not the client's internal operations.

Context

A high-responsibility banking ecosystem at Itaú, with asynchronous transfer flows in continuous operation.

Risk at stake

Any instability affected traceability and the continuity of sensitive flows.

Architectural decisions

What was decided, and why it was the defensible decision

Each decision below carries an alternative that was discarded. That is the point where architecture stops being a technical preference and becomes risk control.

  1. Messaging kept as the backbone of the asynchronous flow

    The existing transport between domains was preserved in the role where it had proven reliable — continuous-flow events on one side, isolated work queues on the other. Changing the flow's behavior did not require replacing the means of propagation.

  2. Service contracts defined before implementation

    Every change started from an explicit contract definition, so producer and consumer could move at different paces without breaking compatibility or coordinating deployments.

  3. Observability as a design requirement, not after-the-fact instrumentation

    End-to-end traceability was built into the design of each service, so investigating an interrupted flow would not depend on manually reconstructing its history.

  4. Incremental evolution of a service in production

    No rewrite window: changes were designed to coexist with the version in operation, preserving continuity throughout the transition.

Role

Incremental evolution of Go services, focused on contracts, messaging and observability.

Perceived impact

More predictable operations, safer evolution and less friction for new technical cycles.

  • Continuity without disruption
  • End-to-end traceability
  • Operational reliability

Environment

Regulated environment, distributed backend and integration across critical domains.

Schedule a technical conversation to define architecture and evolution

We start from your current context to define the next cycle with technical clarity and safe execution.