BT

InfoQ Homepage Presentations Functional / Microservices in Real-Time Financials

The next QCon is in London, Mar 4 - 6, 2019. Save an extra £75.00 with INFOQ75!

Functional / Microservices in Real-Time Financials

Bookmarks

Bio

Vitor Olivier is a Software Engineer and Partner at Nubank (Brazil's leading fintech startup). Over the years, he has helped build, maintain, and scale Nubank’s accounting systems, financial products, and securitization strategy.

About the conference

Software is changing the world. QCon empowers software development by facilitating the spread of knowledge and innovation in the developer community. A practitioner-driven conference, QCon is designed for technical team leads, architects, engineering directors, and project managers who influence innovation in their teams.

Recorded at:

Oct 23, 2017

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • Are the benefits worth the complexity?

    by Nick C /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Great to see a presentation on event driven microservices that also looks at the complexities and consistency issues that need to be solved for. Microservices while currently the poster child for the architecture community should not always be the default choice. Vitor if you happen to be reading, what things would you do differently if you had the opportunity to build Nubank from scratch again?

  • Re: Are the benefits worth the complexity?

    by Vitor Olivier /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    That's a great question! In many ways I actually got the opportunity to build Nubank from scratch (to a certain extent). We just launched a new savings/checking account product (called NuConta) that is mostly independent from our credit card operations.

    The big things we did differently:
    - Our services tend to be a lot smaller and focused than the old ones
    - Each entity has one clear owner through its entire lifecycle (so one specific service is the source of truth for that entity).
    - Whenever entities only make sense if you look at them in combination to another, they should reside in the same service (for example a deposit and a deposit redemption)
    - Enforcing the rule above makes it so a few services end up being a lot bigger than our average service. The gain, however, is that it's very rare for a service to request mutable data from another.
    - Every write comes asynchronously through kafka, which means it has a clear representation of the write request. If the client needs it to look synchronous, we have probing logic to ensure it looks synchronous for them.
    - We have a backend for frontend graphql service which was a game changer when developing the app.
    - We used react-native, relay, and typescript for mobile clients.

    After this stack matures I'll give an update on what we learned from it.

    Hope this helps and thanks for watching my video!

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT

Is your profile up-to-date? Please take a moment to review and update.

Note: If updating/changing your email, a validation request will be sent

Company name:
Company role:
Company size:
Country/Zone:
State/Province/Region:
You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.