How to assess and advance your organization's DevSecOps practices (Sponsored)
In this white paper, Datadog lays out a DevSecOps maturity model based on their experience helping thousands of organizations advance their DevSecOps practices.
This model maps key competencies and practices onto four distinct levels of maturity, giving tech leaders a blueprint for understanding where their organizations stand, where they want to be, and how to get there.
This week’s system design refresher:
How the Garbage Collector Works in Java, Python, and Go! (Youtube video)
12 Algorithms for System Design Interviews
How Kubernetes Works?
PostgreSQL 101: The Everything Database
Top 12 Tips for API Security
SPONSOR US
How the Garbage Collector Works in Java, Python, and Go!
12 Algorithms for System Design Interviews
Bloom Filter: Check if a requested item is in the cache before performing disk operations.
Geohash: Used to build location-based services.
HyperLogLog: Counting unique queries performed by users in a search.
Consistent Hashing: Used for efficient data distribution between the cluster’s nodes.
Merkle Tree: Used to detect inconsistencies between data replicas across multiple nodes.
Raft Algorithm: Used to achieve consensus on log replication.
Lossy Count: Network traffic analysis, web analytics, and identifying heavy hitters.
QuadTree: Used to build location-based services.
Operational Transformation: Used to support collaborative editing systems.
Leaky Bucket: Used for rate limiting
Rsync: Synchronizing files and directories between two different systems.
Ray Casting: Used for geospatial analysis, collision detection in video games, and computer graphics.
Over to you: Which other algorithm will you add to the list?
How Kubernetes Works?
Kubernetes (K8S) is an open-source container orchestration platform originally developed by Google and now maintained by the Cloud Native Computing Foundation (CNCF).
Here’s how developers interact with Kubernetes:
Developers create manifest files describing the application.
Kubernetes takes these manifest files, validates them, and deploys the applications across its cluster of worker nodes.
Kubernetes manages the entire lifecycle of the application.
Kubernetes is made up of two main components:
Control Plane: It is like the brain of Kubernetes and consists of the following parts:
API Server: It receives all incoming requests from users or CLI.
Scheduler: It decides where to run new pods based on resource availability and constraints.
Controller Manager: It ensures that the cluster’s desired state matches the actual state.
Etcd: The key-value store where Kubernetes keeps all of its data, including configurations, cluster states, and desired states of applications.
Worker Nodes: They are the workers in a cluster. Each node has the below sub-components:
Kubelet: Main worker on each node. It communicates with the API server, gets instructions, and ensures that the containers are running as expected.
Kube-proxy: Handles networking on each node.
Container runtime
Over to you: Have you used Kubernetes for your projects?
PostgreSQL 101: The Everything Database
Built using C language, PostgreSQL is the most popular choice of database from small web apps to enterprise systems. It runs as a multiprocess system and follows ACID principles.
The key points about PostgreSQL’s Architecture are as follows:
PostgreSQL supports concurrent client connections independently. Each client connection to PostgreSQL creates a dedicated server process.
The Postmaster Process is the main supervisor that manages all other PostgreSQL processes. It controls the entire database instance.
Background workers run parallel processes when needed to handle specialized tasks.
PostgreSQL shared memory is a central memory area containing multiple buffers such as Shared, WAL, Clog, and Temporary buffers. All components communicate through this shared memory.
PostgreSQL also has several auxiliary processes such as:
BG Writer: Manages background writing
WAL Writer: Handles write-ahead logging
Auto Vacuum: Maintains database cleanliness
Checkpointer: Ensures data consistency
Stats Collector: Gathers statistics
System Logger: Manages Logging
Archiver: Handles archiving
Replication launcher: Manages replication
PostgreSQL has different types of physical files for varied needs such as:
Data Files: Stores actual database data
WAL Files: Write-ahead log storage
Archive Files: Backup and recovery data
Log Files: System and error logs
Over to you: What else would you add to understand more about PostgreSQL’s architecture?
Top 12 Tips for API Security
Use HTTPS
Use OAuth2
Use WebAuthn
Use Leveled API Keys
Authorization
Rate Limiting
API Versioning
Whitelisting
Check OWASP API Security Risks
Use API Gateway
Error Handling
Input Validation
SPONSOR US
Get your product in front of more than 1,000,000 tech professionals.
Our newsletter puts your products and services directly in front of an audience that matters - hundreds of thousands of engineering leaders and senior engineers - who have influence over significant tech decisions and big purchases.
Space Fills Up Fast - Reserve Today
Ad spots typically sell out about 4 weeks in advance. To ensure your ad reaches this influential audience, reserve your space now by emailing sponsorship@bytebytego.com.