SQL Operation | Purpose | MongoDB | Cassandra | DynamoDB |
---|---|---|---|---|
SELECT |
Fetch data | find() or aggregate() |
SELECT |
GetItem , Query , Scan |
WHERE |
Filter rows | find({ field: value }) |
WHERE clause |
KeyConditionExpression , FilterExpression |
JOIN |
Combine tables | $lookup in aggregation |
Not supported (manual in app) | Not supported (manual in app) |
UNION |
Combine results | $unionWith (MongoDB 4.4+) |
Not supported | Merge results in app |
GROUP BY |
Group record |
Component | Description |
---|---|
π CoreDNS | Provides DNS-based service discovery for Pods. Every service gets a DNS entry. |
π Metrics Server | Collects metrics like CPU/memory usage used for auto-scaling. |
π₯οΈ Kubernetes Dashboard | A web-based UI for managing and visualizing your cluster. |
π Secrets & ConfigMaps | Manage application configurations and sensitive information securely. |
Component | Description |
---|---|
π· Kubelet | An agent that runs on each node and communicates with the API Server. It ensures containers in Pods are running and healthy. |
π Kube-Proxy | Manages network rules and handles traffic routing to the correct Pods (load balancing, service discovery). |
π¦ Container Runtime | The underlying container engine like Docker, containerd, or CRI-O that actually runs your containers. |
Component | Description |
---|---|
π§© API Server (kube-apiserver ) |
Central access point to the cluster. All commands (CLI, dashboard, etc.) go through this. |
π§ Scheduler (kube-scheduler ) |
Assigns Pods to Nodes based on available resources and constraints. |
π Controller Manager (kube-controller-manager ) |
Runs background processes (controllers) to ensure the desired state of the cluster (e.g., replicas, nodes, jobs). |
π§Ύ etcd | A distributed key-value store to store all cluster |
Component | Role |
---|---|
API Server | Entry point to the cluster; all communication (kubectl, tools, etc.) goes through here |
Scheduler | Assigns Pods to the most suitable Nodes based on resources |
Controller Manager | Watches cluster state and takes actions to maintain desired state (e.g., restart pods) |
etcd | Key-value store that holds cluster data and configuration (like a database) |
Orchestration Task | What Kubernetes Does |
---|---|
Scheduling | Decides which machine (node) should run which container |
Scaling | Automatically adds or removes containers based on load |
Self-healing | Restarts failed containers, reschedules them if a node goes down |
Service Discovery | Automatically assigns DNS and handles IPs |
Load Balancing | Distributes traffic evenly across multiple instances |
Rollouts & Rollbacks | Deploys updates gradually and rolls back if errors occur |
Configuration & Secrets Management | Injects environment configs securely at runtime |
**Monitoring & Logging Integrati |
Network Type | Description | Use Case |
---|---|---|
bridge | Default for standalone containers. Creates a private internal network. | Local development or single-host setup |
host | Shares the hostβs network stack. No isolation. | High-performance use (e.g., games, VPNs) |
none | No networking. Totally isolated. | Debugging, full manual control |
overlay | Used in Docker Swarm. Connects containers across multiple Docker hosts. | Distributed systems (Swarm mode) |
macvlan | Assigns a MAC address to container. Acts like a physical device. | Legacy systems that need real IPs |
Imp. Component | Description |
---|---|
Dockerfile | Instructions to build images |
Docker Image | Blueprint for containers |
Docker Container | Running instance of an image |
Docker Registry | Stores and shares Docker images |
Other Component | |
Docker Client | CLI to talk to Docker daemon |
Docker Daemon | Core engine that runs containers/images |
Feature | Virtual Machine | Docker Container |
---|---|---|
OS | Full OS (guest + host) | Shares host OS kernel |
Size | Heavy (GBs) | Lightweight (MBs) |
Boot time | Slow (minutes) | Fast (seconds) |
Resource usage | High | Low |
Isolation | Full isolation | Process-level isolation |
Aspect | Orchestration | Choreography |
---|---|---|
Coordinator | Yes β a central Orchestrator service | β No β coordination is decentralized |
Flow Control | Centralized logic | Each service decides what to do next |
Communication Style | Typically command-driven (REST, sync) | Event-driven (asynchronous, e.g., Kafka) |
Scalability | Can become a bottleneck | More scalable |
Coupling | More tightly coupled to orchestrator | Loosely coupled |
NewerOlder