Categorias
great stuff

Como evitar o fallback em sistemas distribuídos

https://aws.amazon.com/pt/builders-library/avoiding-fallback-in-distributed-systems/

 

Evitar o fallback em sistemas distribuídos

Categorias
great stuff

System Design Blueprint: The Ultimate Guide | by Love Sharma | Apr, 2023 | Dev Genius

Developing a robust, scalable, and efficient system can be daunting. However, understanding the key concepts and components can make the…

Origem: System Design Blueprint: The Ultimate Guide | by Love Sharma | Apr, 2023 | Dev Genius

Categorias
great stuff

Architecture of a neobank – Starling Bank

Architecture of a neobank – Starling Bank

Starling Bank is the third largest – after Revolut and Monzo – among those digital banks referred to as challenger banks or neobanks in the UK. Starling Bank is a 100% cloud-based, mobile-only digital bank with a modern architecture designed based on the best practices in security, reliability, and resilience. It provides fintech developers with innovative APIs for account opening, payments, loans, etc., as well as a developer platform, custom backend ledger, and functionality for integration with Apple Pay and Google Pay.

The architecture of Starling Bank is based on the following principles:
1. Microservice architecture
2. Do everything at least once at most once
3. Async + Idempotence + Retry
4. Each service constantly working towards correctness
5. Often achieve Idempotence by immutability 
6. No distributed transactions
7. Don’t trust other services

Backend technology stack
1. Java services in Docker and CoreOS
2. AWS: EC2, VPC, CloudFormation
3. REST (JAX-RS)
4. PostgreSQL
5. Jetty, Guice, Guava, Hystrix
6. Homegrown libraries: SQL database access layer, configuration, command line, background processing
7. No Spring, no JEE app servers, no Kubernetes, no Terraform 
8. Prometheus for monitoring
9. ELK for log aggregation
10.PagerDuty for incident alerting

Builds and deployments
1. Continuous deployment to non-prod, sign off into prod
2. Auto build, dockerize, test, scan, deploy < 1 hr
3. Code release to production up to 5 times a day
4. Single stateless service per instance
5. Rolling deployments by termination

An interesting question is: How do they achieve data consistency without transactions? The answer is that they use an approach in which each microservice constantly works towards data consistency. In this way, the system implements eventual consistency. It is acceptable in most cases, except for card transactions, for which it is important to know the correct, up-to-date balance when a customer is about to use a card. To guarantee data consistency, they use two patterns, which are at the foundation of this architecture:
1. Recoverable Command
2. Catch-up processor

public interface RecoverableCommand{
void process(UUID uid);
int markItemAsProcessed(UUID uid);
}
public abstract class CatchupProcessor implements Runnable{
protected abstract Stream<UUID> selectItems();
protected abstract RecoverableCommand recoverableCommand();
}

If a microservice fails to execute a command, the catch-up processor will try to re-execute it and fix the data. They both work with object ID parameters while the context data is stored in the DB. Catch-up processing gets triggered by the scheduler every 5 minutes. This approach makes microservices stateless and resilient. An EC2 instance with a stateless microservice can be safely restarted at any moment, which is critical for resilience and scalability.

Categorias
great stuff

Free Programming Books – GoalKicker.com

Free Programming Books on Android development, C, C#, CSS, HTML5, iOS development, Java, JavaScript, PowerShell, PHP, Python, SQL Sever and more

Origem: Free Programming Books – GoalKicker.com

Categorias
great stuff

“The Hot Potato Process,” an article by Dan Mall

A better way for designers and developers to truly work together.

Origem: “The Hot Potato Process,” an article by Dan Mall

Categorias
great stuff

Designing Loggi’s event-driven architecture | by ernestocid | Mar, 2023 | Loggi

Designing Loggi’s event-driven architectureA new chapter for Loggi’s services communication

Origem: Designing Loggi’s event-driven architecture | by ernestocid | Mar, 2023 | Loggi

Categorias
great stuff

Google Cloud Functions Tutorial – DevOps by Example

  • How to create Google Cloud Functions using GCP Console, gcloud cli, and terraform
  • How to authenticate Cloud Functions using service accounts and IAM policies
  • How to use secrets in Cloud Functions using Secret Manager
  • How to deploy Cloud Functions from GitHub using Cloud Build triggers
  • How to set up CI/CD for Cloud Functions using GitHub Actions and gcloud cli
  • How to run Cloud Functions locally using functions-framework
  • How to trigger Cloud Functions on Pub/Sub messages using Pub/Sub topics and subscriptions
  • How to trigger Cloud Functions on Cloud Storage changes using storage notifications
  • How to integrate API Gateway with Cloud Functions using OpenAPI specifications

Origem: Google Cloud Functions Tutorial – DevOps by Example

Categorias
great stuff

Designing Loggi’s event-driven architecture | by ernestocid | Mar, 2023 | Loggi

 

A new chapter for Loggi’s services communication

Origem: Designing Loggi’s event-driven architecture | by ernestocid | Mar, 2023 | Loggi

Categorias
great stuff

Cache miss attack – by Alex Xu – ByteByteGo Newsletter

Caching is awesome but it doesn’t come without a cost, just like many things in life. One of the issues is ????? ???? ??????. Please correct me if this is not the right term. It refers to the scenario where data to fetch doesn’t exist in the database and the data isn’t cached either. So every request hits the database eventually, defeating the purpose of using a cache. If a malicious user initiates lots of queries with such keys, the database can easily be overloaded.

Origem: Cache miss attack – by Alex Xu – ByteByteGo Newsletter

Categorias
great stuff

Em todas as minhas empresas, eu sempre tive sócios ao meu lado.

Em todas as minhas empresas, eu sempre tive sócios ao meu lado. E, depois de mais de 20 anos de experiência, aprendi que todo negócio deveria ter 3 tipos de sócios:

1) Hustler

Perfil: agressivo, comunicativo e tomador de risco
Função: liderar as organizações
Responsabilidades: contratação, vendas, relações públicas, e captação de investimento ou financiamento

2) Maker
Perfil: técnico, racional e crítico
Função: construir as soluções das organizações
Responsabilidades: desenvolvimento e manutenção de produtos (P&D)

3) Manager
Perfil: racional, analítico e organizado
Função: manter a garantir longevidade para as organizações
Responsabilidades: organizar processos, ferramentas e burocracias para facilitar o trabalho do Hustler

Categorias
great stuff

What Is ChatGPT Doing … and Why Does It Work?—Stephen Wolfram Writings

Stephen Wolfram explores the broader picture of what’s going on inside ChatGPT and why it produces meaningful text. Discusses models, training neural nets, embeddings, tokens, transformers, language syntax.

Origem: What Is ChatGPT Doing … and Why Does It Work?—Stephen Wolfram Writings

Categorias
great stuff

Saga Pattern in Microservices | Baeldung on Computer Science

 

Learn about the Saga architecture pattern to implement distributed transactions in a microservice-based application.

Origem: Saga Pattern in Microservices | Baeldung on Computer Science

Categorias
great stuff

The Distributed Computing Manifesto | All Things…

www.allthingsdistributed.com/2022/11/amazon-1998-distributed-computing-manifesto.html
Sent from my iPhone
Categorias
great stuff

github.com-jwasham-coding-interview-university_-_2022-09-13_02-38-11 : jwasham : Free Download, Borrow, and Streaming : Internet Archive

What is it?This is my multi-month study plan for becoming a software engineer for a large company.Required: * A little experience with coding (variables, loops, methods/functions, etc)* Patience* Time

Origem: github.com-jwasham-coding-interview-university_-_2022-09-13_02-38-11 : jwasham : Free Download, Borrow, and Streaming : Internet Archive

Categorias
great stuff

Top 5 Coding Interview MISTAKES (from a Google Engineer) – YouTube

Categorias
great stuff

System Design Interview Template | Ace the System Design Interview

A system design interview usually lasts for 45-60 minutes and involves solving an abstract design problem. The problem would be something like ‘Design WhatsApp’. You would not be provided with any other requirements at this stage. This template would help you figure out how to ace the system design interview.

Origem: System Design Interview Template | Ace the System Design Interview

Categorias
great stuff

Evolução e retenção de produtos no Kekanto: técnicas e práticas

Com base na experiência de criar e evoluir o Kekanto por sete anos, vamos apresentar estratégias e dicas práticas para evoluir o produto. Serão discutidas táticas de como medir o engajamento dos usuários, compreender funcionalidades com maior fonte de retenção e a importância da primeira sessão em um app. Também mostraremos estratégias de push notification.

Origem: Evolução e retenção de produtos no Kekanto: técnicas e práticas

Categorias
great stuff

Monitoring & Observability – KnowledgeShop

Monitoring & Observability Overview Monitoring Types Why Monitor? 4 Golden Signals Anti-patterns Design Patterns Telemetry Data Components 1) Data …

Origem: Monitoring & Observability – KnowledgeShop

Categorias
great stuff

Understanding System Design of Netflix: Backend A…

medium.com/@nidhiupreti99/understanding-system-design-of-netflix-backend-architecture-and-cloud-services-b077162e45bc
Sent from my iPhone
Categorias
great stuff

Top 20 Alternatives to Draw.io / Diagrams.net for Cloud Architecture | Medium

Top 20 Alternatives to Draw.io are: Brainboard, Lucidscale, IcePanel, Terrastruct, Fugue, Cloudmaker, Cloudcraft, and Cloudokit.

Origem: Top 20 Alternatives to Draw.io / Diagrams.net for Cloud Architecture | Medium

Categorias
great stuff

6.6. Natural Language Processing — Effective Pyth…

khuyentran1401.github.io/Efficient_Python_tricks_and_tools_for_data_scientists/Chapter5/natural_language_processing.html
Sent from my iPhone
Categorias
great stuff

Sundar Pichai has added $1.11T to Google’s market cap.

His counter-intuitive advice? “You have to reward effort, not outcomes”

It’s basically heresy. “Outcomes, not output” is THE mantra amongst product leaders and books like Inspired. Why is Sundar, a former PM himself, praising efforts over outcomes?

1. Google’s Increased Conservatism
2. What You Can Control
3. The Pendulum Swung Too Far

1. Google’s Increased Conservatism
When Sundar joined Google in 2004, it was very different from when he became CEO in 2015. In 2004, people believed any problem could be solved. And the reward structures were built such that they felt they should try to.

By 2015, Google was not a young unprofitable startup pursuing aspirational bets. It was a conservative profit machine focused on growing its great businesses. This meant folks were not taking the same big, low probability bets Google needed.

The company needed to reward the effort involved with these low probability outcomes.

This made rewarding effort, not output, the solution. The Google advice need not apply in situations where people are risk-taking. But it does in conservative environments.

2. What You Can Control
You can’t control outcomes. You can control outputs. You can control your effort and attitude, learning and quality of features. Outcome focus rewards the lucky and punishes the unlucky.

3. The Pendulum Swung Too Far
Google is famous for its use of OKRs to set goals & evaluate product teams. This approach completely ruled out outputs to focus on outcomes. But it had the result of penalizing good product teams in bad markets. It needed to come to the middle.

In summary, Google is zigging where others are zagging. It’s focusing on outputs and effort, not just outcomes. Consider if you should too.

https://www.linkedin.com/feed/update/urn:li:share:6948388764972965888?utm_source=linkedin_share&utm_medium=member_desktop_share&utm_content=post

Categorias
great stuff

Fast and reliable endend testing for modern w…

playwright.dev/
Sent from my iPhone
Categorias
great stuff

Diagrams · Diagram as Code

diagrams.mingrammer.com/
Sent from my iPhone
Categorias
great stuff

Awesome Software Architecture

Curated list of awesome articles and resources to learn and practice software architecture, patterns and principles. this repository will be updated continuously, keep yourself up to date .I created this repository to share a set of links that I found valuable and inspiring and I share them with others for improving our knowledge to

Origem: Awesome Software Architecture

Categorias
great stuff

(35) What It’s Like to Work at a Start-up as an Engineer – YouTube

 

Categorias
great stuff

What are ML Sensors? « Pete Warden’s blog

I’ve spent a lot of time at conferences talking about all the wonderful things that are now possible using machine learning on embedded devices, but as Stacey Higginbotham pointed out at this…

Origem: What are ML Sensors? « Pete Warden’s blog

Categorias
great stuff

Data Science in Context: Foundations, Challenges, Opportunities | Authors’ Manuscript of Data Science in Contex

Data-Science-in-Context-V.99-Web-BetaAuthors’ Manuscript of Data Science in Contex

Origem: Data Science in Context: Foundations, Challenges, Opportunities | Authors’ Manuscript of Data Science in Contex

Categorias
great stuff

GCP BigLake introduction. BigLake is the name given by Google to… | by Neil Kolban | Google Cloud – Community | Apr, 2022 | Medium

BigLake is the name given by Google to an underlying data access engine used to provide access to data stored in either BigQuery or in…

Origem: GCP BigLake introduction. BigLake is the name given by Google to… | by Neil Kolban | Google Cloud – Community | Apr, 2022 | Medium

Categorias
great stuff

Free System Design PDF (158 pages)

ByteByteGo_LinkedIn_PDF

I just put all the technical LinkedIn posts in one big PDF. It covers 75 topics and has 158 pages! A little background: I’ve been consistently posting on LinkedIn for 7 months now. With so many people on LinkedIn reading my posts, I’m extremely grateful.

Origem: Free System Design PDF (158 pages)

Categorias
great stuff

Architecture for startups – Azure Architecture Ce…

docs.microsoft.com/en-us/azure/architecture/guide/startups/startup-architecture
Sent from my iPhone
Categorias
great stuff

1,000,000 Concurrent Connections

josephmate.github.io/2022-04-14-max-connections/
Sent from my iPhone
Categorias
great stuff

How to Best Use MTT* Metrics to Optimize Your Incident Response

Selecting the correct MTT* metric to improve your incident response is important. If the wrong metric is chosen, the improvements may get lost in the noise of a multivariable equation. This article reviews the various MTT* metrics available and discusses the best scenarios for selecting each one.

Origem: How to Best Use MTT* Metrics to Optimize Your Incident Response

Categorias
great stuff

GPS – Bartosz Ciechanowski

ciechanow.ski/gps/
Sent from my iPhone
Categorias
great stuff

Technical leadership and glue work – Tanya Reilly | #LeadDevNewYork – YouTube

Categorias
great stuff

Microservices Design Guide ???. Everyone has heard about Microservices… | by Thilina Ashen Gamage | Platform Engineer | Medium

Everyone has heard about Microservices. But do you know how to design one?

Origem: Microservices Design Guide ???. Everyone has heard about Microservices… | by Thilina Ashen Gamage | Platform Engineer | Medium

Categorias
great stuff

How SREs are unique in their approach to work – Cruform

SREs are a rare bunch in the software community. But there’s little denying that the approach of Site Reliability Engineering is the future of software operations.

Origem: How SREs are unique in their approach to work – Cruform

Categorias
great stuff

REST vs. GraphQL: A Critical Review

A critical review of the popular API paradigms.

Origem: REST vs. GraphQL: A Critical Review

Categorias
great stuff

Picking the right API Paradigm

A while back I wrote an article called Understanding RPC, REST and GraphQL which outlined the “what” in how these various approaches differ…

Origem: Picking the right API Paradigm

Categorias
great stuff

re:Work – People Analytics

re:Work – People analytics can help to assess the effectiveness of people practices, programs, and processes. Understand how knowledge of social and data sciences can help you make more informed, objective people decisions.

Origem: re:Work – People Analytics

Categorias
great stuff

Pragmatic Microservices. Nowadays, Microservices is one of the… | by Kasun Indrasiri | Microservices in Practice | Medium

Nowadays, Microservices is one of the most popular buzz-words in the field of software architecture. There are quite a lot of learning…

Origem: Pragmatic Microservices. Nowadays, Microservices is one of the… | by Kasun Indrasiri | Microservices in Practice | Medium

Categorias
great stuff

Pragmatic Microservices. Nowadays, Microservices is one of the… | by Kasun Indrasiri | Microservices in Practice | Medium

Nowadays, Microservices is one of the most popular buzz-words in the field of software architecture. There are quite a lot of learning…

Origem: Pragmatic Microservices. Nowadays, Microservices is one of the… | by Kasun Indrasiri | Microservices in Practice | Medium

Categorias
great stuff

The Skills Map of Senior Tech Career Progression | Code Capsule

A map that represents what tech career progression looks like and what it requires.

Origem: The Skills Map of Senior Tech Career Progression | Code Capsule

Categorias
great stuff

Top Microservices Frameworks – DZone Microservices

Microservices architecture is a methodology wherein fragment monolithic single application into small applications and services which executes lightweight applications. Business capabilities and independently deployable models are the primary goals for Microservices development. Microservices architecture built using different programming languages and deployed them and connect.

Origem: Top Microservices Frameworks – DZone Microservices

Categorias
great stuff

What is Observability

https://en.wikipedia.org/wiki/Double-slit_experiment

It’s a made-up computer word that my word processor decorates with a wiggly red you-can’t-spell line. At least it did until I clicked “Add to Dictionary” (it got too annoying as I was writing a book on computer observability).Observability: The ability to observe.Observe-ability. Observability.

Origem: What is Observability

Categorias
great stuff

Data Consistency in Microservices Architecture | by Dilfuruz K?z?lp?nar | Apr, 2021 | Medium

In this article, I’d like to share my knowledge and experience in Garanti BBVA, about moving from monolithic to microservices…

Origem: Data Consistency in Microservices Architecture | by Dilfuruz K?z?lp?nar | Apr, 2021 | Medium

Categorias
great stuff

Uber Architecture and System Design | by Kasun Dissanayake | Nerd For Tech | Mar, 2021 | Medium

In this article, we’re learning about the Architecture and the system design of Taxi Application services like Uber. In the Uber…

Origem: Uber Architecture and System Design | by Kasun Dissanayake | Nerd For Tech | Mar, 2021 | Medium

Categorias
great stuff

G2 Stack | Level up sales and marketing with high-res tech stack data

G2 Stack | Level up sales and marketing with high-res tech stack data

Origem: G2 Stack | Level up sales and marketing with high-res tech stack data

Categorias
great stuff

Prof. Clóvis de Barros Sobre Equipes – YouTube

Categorias
great stuff

calmcode – learn code calmly

When teaching data science it’s very useful to demonstrate the interaction between data and a machine learning model. To get a feeling for this interaction it helps to see the effect of a model when it is applied to different datasets.

Origem: calmcode – learn code calmly