Database Theory: How Databases Work Under the Hood

Introduction Databases are at the heart of virtually every software system — from web applications to financial platforms to machine learning pipelines. But how do they actually work? What happens when you run a SELECT query? How are rows stored on disk? How do multiple transactions run concurrently without corrupting data? This post is a comprehensive guide to database theory, covering the full lifecycle of database design and operation: from conceptual modeling to physical storage, from SQL queries to concurrency control. Whether you are studying for an exam, preparing for a systems design interview, or simply curious about what happens beneath the ORM layer, this guide has you covered. ...

February 9, 2026 · 21 min · Umberto Domenico Ciccia

Computer Networks: A Comprehensive Guide

Introduction Computer networks are the backbone of modern computing. Every time you browse a website, send an email, or stream a video, you rely on a complex stack of protocols, algorithms, and hardware working together. This post is a comprehensive guide to how computer networks work — from the physical transmission of bits to the application-layer protocols you use daily. We will walk through the layered network models (OSI and TCP/IP), dive into each layer’s responsibilities, explore routing and addressing, examine transport-layer reliability, and cover essential application-layer protocols. We will also touch on security, cloud computing, peer-to-peer systems, and distributed architectures like blockchain. ...

February 9, 2026 · 27 min · Umberto Domenico Ciccia

System Design Fundamentals

Basic Application Architecture Developer Perspective A typical application is composed of: Build & Deploy Layer — CI/CD pipeline Server Layer — handles incoming requests Storage Layer — persists application data (can be external) Logging Storage Server — logs all events Metric Storage Server — logs all metrics Alert Server — alerts when something goes down User Perspective Users simply make requests to the server and receive responses. Scaling Vertical Scaling: add more physical resources (CPU, RAM) to a single server Horizontal Scaling: add more servers to distribute the load Load Balancer: distributes traffic between multiple servers ...

February 9, 2026 · 8 min · Umberto Domenico Ciccia

Cka Notes

Core concepts Cluster Architecture Master node: orchestrate nodes → schedule, monitor, worker, state, manage cluster Worker node: host applications as container Master node components: ETCD: database of the state of the cluster KUBE-SCHEDULER: schedule pods to worker nodes CONTROLLER-MANAGER NODE-CONTROLLER: orchestrate nodes REPLICATION-CONTROLLER: orchestrate replication groups KUBE-APISERVER: expose k8s cluster from external thought api Worker node components: CONTAINER RUNTIME: container runtime engine KUBELET: agent that run in every node, for receive api call from api server KUBE-PROXY: manage communication between container, nodes Container runtime interface Container runtime interface CRI: allow to use k8s with all container runtime ...

August 6, 2025 · 22 min · Umberto Domenico Ciccia

How I Passed the KCNA Exam: A Practical Guide

Introduction Passing the Kubernetes and Cloud Native Associate (KCNA) exam was a great milestone in my cloud journey. In this post, I’ll walk you through the strategy I used to prepare and pass the exam on the first attempt. I focused on hands-on experience, curated courses, and repeated quiz practice to reinforce core concepts. Why KCNA? KCNA is a foundational certification offered by the Cloud Native Computing Foundation (CNCF). It’s designed to validate your understanding of Kubernetes, cloud-native principles, container orchestration, and open-source tools in the CNCF landscape. ...

June 28, 2025 · 2 min · Umberto Domenico Ciccia