Skip to main content

Command Palette

Search for a command to run...

Core Building Blocks — 12 Fundamental Concepts (Part 6)

Updated
Core Building Blocks — 12 Fundamental Concepts (Part 6)
R

I'm Rudraksh Laddha — a DevOps engineer and emerging full-stack developer, passionate about building scalable, reliable systems that solve real-world problems.

With a solid foundation in cloud infrastructure automation using tools like Kubernetes, Docker, Terraform, and AWS, I thrive in environments where efficiency, resilience, and automation are key.

But my journey doesn't stop at infrastructure. I'm actively expanding into full-stack development, building dynamic applications using React, Node.js, and MongoDB. Whether it's designing cloud-native CI/CD pipelines or developing intuitive user interfaces, I enjoy creating end-to-end solutions — from server to screen.

Right now, I'm: 🧩 Building full-stack applications that merge DevOps reliability with engaging frontend experiences 🛠️ Contributing to open-source projects, learning through collaboration and real-world scenarios 🚀 Growing Virendana Ui, my own UI library focused on expressive, clean design systems 🚀 Growing Learn Virendana, where I share my personalized learning journey — from beginner to experienced 🎮 Developing side projects like 2048 Rush, blending product thinking with scalable infrastructure My long-term goal? To bridge DevOps and development — building products that are not just functional and fast, but also resilient, beautiful, and ready for scale.

The 12 Concept are :

Requirements Clarification (Part 1)

Back-of-Envelope Estimation (Part 1)

Databases — SQL vs NoSQL (Part 2)

Caching (Part 2)

Load Balancing (Part 3)

API Design (Part 3)

Message Queues + Event-Driven Systems (Part 4)

Consistency vs Availability (CAP Theorem) (Part 4)

Scaling Strategies (Part 5)

Fault Tolerance + Reliability (Part 5)

.CDN (Content Delivery Network) (Part 6)

Data Partitioning (Sharding) (Part 6)

But in this article we cover only two concept

11. CDN (Content Delivery Network)

What it is: A globally distributed network of servers that cache content close to users.

WHY it exists: Network latency increases with physical distance. A CDN in Singapore serves Singapore users faster than a server in Virginia.

What to put on CDN:

  • Static assets (JS, CSS, images)

  • Video content

  • Large downloadable files

What NOT to put on CDN:

  • Personalized dynamic content

  • Real-time data

  • Private user data (security risk)

Push vs Pull CDN:

  • Push: You upload content to CDN proactively. Good for known, large files.

  • Pull: CDN fetches from origin on first miss, caches for subsequent requests. Good for unpredictable access.


12. Data Partitioning (Sharding)

What it is: Splitting a large dataset across multiple database nodes.

WHY it exists: A single DB node has limited storage and throughput. Sharding breaks that limit.

Sharding strategies:

Strategy How Good Bad
Range-based Shard by value range (A-M, N-Z) Simple Hot spots if distribution is skewed
Hash-based Hash(key) % num_shards Even distribution Range queries become scatter-gather
Directory-based Lookup table maps key to shard Flexible Lookup table is a bottleneck

Shard key selection rule: The key should distribute data evenly AND be present in most queries.

Problems with sharding:

  • Cross-shard joins are very hard

  • Cross-shard transactions even harder

  • Resharding (adding shards) is painful

Beginner mistake: Choosing user_id as shard key when most queries are by timestamp. Your shard key must match your query patterns.