This week’s system design refresher:
Good APIs Vs Bad APIs: 7 Tips for API Design (Youtube video)
GitOps Workflow - Simplified Visual Guide
How do Search Engines Work?
The Payments Ecosystem
Object-oriented Programming: A Primer
Compare your streaming data options (Sponsored)
Since its introduction in 2011, Apache Kafka quickly became the industry’s de facto event-streaming platform. However, much has changed in the last 10+ years — clouds and containers, faster networking, and the hardware on which these systems run.
In this report, you’ll learn:
How requirements for streaming data technologies have evolved
Considerations for evaluating streaming data platforms
Benchmark results comparing throughput and latencies
Download the report for the full findings.
Good APIs Vs Bad APIs: 7 Tips for API Design
Latest articles
If you’re not a paid subscriber, here’s what you missed this month.
To receive all the full articles and support ByteByteGo, consider subscribing:
GitOps Workflow - Simplified Visual Guide
GitOps brought a shift in how software and infrastructure are managed with Git as the central hub for managing and automating the entire lifecycle of applications and infrastructure.
It's built on the principles of version control, collaboration, and continuous integration and deployment (CI/CD).
Key features include:
Version Control and Collaboration:
Centralizing code, configurations, and infrastructure in Git for control and collaboration.Declarative System:
Describing the system's desired state for easier version control.Automated Delivery:
Automating deployment through Git-triggered processes, closely integrated with CI/CD pipelines.Immutable Infrastructure:
Making changes via Git instead of directly in the live environment to prevent inconsistencies.Observability and Feedback:
Monitoring systems in real-time to align the actual state with Git's declared state.Security and Compliance:
Tracking changes in Git for security and compliance, with role-based access for added control.
Over to you: Do you see GitOps' declarative approach speeding up your deployments?
How do Search Engines Work?
The diagram below shows a high-level walk-through of a search engine.
▶️ Step 1 - Crawling
Web Crawlers scan the internet for web pages. They follow the URL links from one page to another and store URLs in the URL store. The crawlers discover new content, including web pages, images, videos, and files.
▶️ Step 2 - Indexing
Once a web page is crawled, the search engine parses the page and indexes the content found on the page in a database. The content is analyzed and categorized. For example, keywords, site quality, content freshness, and many other factors are assessed to understand what the page is about.
▶️ Step 3 - Ranking
Search engines use complex algorithms to determine the order of search results. These algorithms consider various factors, including keywords, pages' relevance, content quality, user engagement, page load speed, and many others. Some search engines also personalize results based on the user's past search history, location, device, and other personal factors.
▶️ Step 4 - Querying
When a user performs a search, the search engine sifts through its index to provide the most relevant results.
The Payments Ecosystem
How do fintech startups find new opportunities among so many payment companies? What do PayPal, Stripe, and Square do exactly?
Steps 0-1: The cardholder opens an account in the issuing bank and gets the debit/credit card. The merchant registers with ISO (Independent Sales Organization) or MSP (Member Service Provider) for in-store sales. ISO/MSP partners with payment processors to open merchant accounts.
Steps 2-5: The acquiring process.
The payment gateway accepts the purchase transaction and collects payment information. It is then sent to a payment processor, which uses customer information to collect payments. The acquiring processor sends the transaction to the card network. It also owns and operates the merchant’s account during settlement, which doesn’t happen in real-time.
Steps 6-8: The issuing process.
The issuing processor talks to the card network on the issuing bank’s behalf. It validates and operates the customer’s account.
I’ve listed some companies in different verticals in the diagram. Notice payment companies usually start from one vertical, but later expand to multiple verticals.
Object-oriented Programming: A Primer
I wrote a blog post about this topic. It covers:
Background of OOP
Classes and Objects
Cornerstones of Object-Oriented Programming
Encapsulation
Abstraction
Inheritance
Polymorphism
You can read the full article here.
Fantastic stuff! Especially loved the GitOps visual guide.