Cloud Native 24 min read

Leveraging Software Architecture at Nubank: From Startup to Scale

This article chronicles Nubank’s architectural evolution—detailing how strategic technology choices, cloud‑native platforms, micro‑service design, and data‑engineering practices were leveraged across startup, growth, consolidation, and expansion phases to achieve massive scalability and business agility.

Architects Research Society
Architects Research Society
Architects Research Society
Leveraging Software Architecture at Nubank: From Startup to Scale

Lucas Cavallanti, Chief Software Engineer at Nubank, explains the concept of leverage in software architecture, defining it as the value gained relative to the investment of decisions and technical debt.

Background : Nubank is a leading Latin American fintech with 35 million customers, processing billions of Kafka messages and HTTP requests across hundreds of micro‑services.

Overview : The company’s journey is divided into four phases—Startup (focus on time‑to‑market), Growth (resilience and adaptability), Consolidation (reliability and observability), and Expansion (flexibility and scalability).

Startup (2013‑2015) : Early decisions emphasized rapid delivery using lightweight technologies—Datomic as an immutable ledger, Clojure on the JVM for functional programming, a hexagonal architecture, and Kafka for messaging. Cloud services (AWS + CloudFormation) and third‑party credit‑card solutions were adopted to minimize operational overhead.

Growth (2015‑2016) : To handle unexpected rapid growth, Nubank introduced sharding of the entire infrastructure, built robust CI/CD pipelines, migrated to Docker, and began internalizing critical capabilities such as credit‑card processing and customer support.

Consolidation (2017‑2018) : The team migrated to Kubernetes for better scalability, implemented Prometheus + Grafana monitoring, created internal tools like NuCLI for operational tasks, and built a data platform using Scala, Spark, and an ETL pipeline to serve analytics and machine‑learning models.

Expansion (2019‑present) : A horizontal platform team abstracts infrastructure for engineers, while a business‑platform team provides domain‑specific APIs (e.g., banking‑as‑a‑service, credit‑lending). This enables rapid product development across multiple countries and acquisitions.

Q&A Highlights : The decision to adopt micro‑services was driven by domain complexity; team structures include engineers, BAs, product managers, and data scientists; ETL tooling relies on Spark on Mesos clusters; and streaming was initially limited due to Kafka’s maturity, leading to a batch‑oriented approach.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

data engineeringSoftware ArchitectureCloud NativeMicroservicesScalabilityKubernetesNubank
Architects Research Society
Written by

Architects Research Society

A daily treasure trove for architects, expanding your view and depth. We share enterprise, business, application, data, technology, and security architecture, discuss frameworks, planning, governance, standards, and implementation, and explore emerging styles such as microservices, event‑driven, micro‑frontend, big data, data warehousing, IoT, and AI architecture.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.