Copy
View this email in your browser

Dear Architect,

Welcome back to our weekly issue!

This week we have plenty of great case studies and new architectures to explore!

Let's start this issue with two great articles from Netflix tech teams, the first one based on the Android application API consumptions. I loved the traffic gathering and replay mechanism!
The second one is focused on gRPC and how to design API for requesting only certain fields as we have with GraphQL.

One of the biggest challenges with distributed systems is having the domains right, it takes a lot of time and often we have to review the boundaries defined but I believe this article can guide you in a middle ground that can easily evolve to microservices if and when needed.

In my experience is difficult finding many new architectures these days, Polylith is one of the exceptions.
In this gitbook you can find the benefits of this approach and how to apply it to potential any language. The examples in the book are written with Clojure but no one is stopping you to use it with your favourite language.

Finally an unusual pick, directly from the React Native documentation, I found interesting reading the vision behind React Native understanding the thought process pushing Facebook to evolve this framework.


Enjoy the read and see you next week!

In the SPOTLIGHT

Case Study

Seamlessly Swapping the API backend of the Netflix Android app

We went from an essentially serverless model in a monolithic service, to deploying and maintaining a new microservice that hosted our app backend endpoints. This allowed Android engineers to have much more control and observability over how we get our data.

Case Study

Practical API Design at Netflix

Remote calls are never free; they impose extra latency, increase probability of an error, and consume network bandwidth. How can we understand which fields the caller doesn’t need to be supplied in the response, so we can avoid making unnecessary computations and remove calls?

Distributed Systems

How To Find a Healthy Balance Between Microservices and Monoliths

The domain partitioned services architectural pattern results in faster development time when you consider a wide range of scenarios.

Software Architecture

Polylith

Polylith's single development project allows us to work with all of our building blocks in one place. This disconnects our development experience from our chosen deployment architecture.

Untangling development from deployment allows us to delay our deployment decisions until the last possible moment. This delay allows us to avoid "premature distribution" and keeps our systems as simple as possible, for as long as possible.

Mobile

React Native's Many Platform Vision

One of the best outcomes of cross-platform frameworks like React Native is how they bring together engineers with vastly different domain expertise. We believe that by targeting more platforms, we can accelerate cross-pollination of institutional knowledge between platform experts.

Thanks for reading Dear Architects 🙏

If you have any suggestions to make this newsletter better, just drop us an email!

Have a great rest of the week 😉

Opinions are my own

HELP US TO IMPROVE THIS NEWSLETTER!
We just need a few minutes of your time to make Dear Architects even better
Sure! Let me share what I think about Dear Architects!
Twitter
Website
Copyright © 2021 deararchitects, All rights reserved.


Want to change how you receive these emails?
You can update your preferences or unsubscribe from this list.

Email Marketing Powered by Mailchimp