Cloud Tech

Search

11 results for “monitoring

Search results

Observability Fundamentals

What is the difference between monitoring and observability?

Monitoring means watching a predefined set of signals for known failure modes, dashboards and alerts built around questions you already knew to ask ("is CPU above 80%?"). Observability is a property of a system: how well you can answer new, previously-unasked questions about its internal state using only its external outputs (logs, metrics, traces), without shipping new code. Monitoring tells you something is wrong; observability is what lets you figure out why, including for failure modes nobody anticipated when the dashboards were built.

Observability Fundamentals

What is metric cardinality, and why can it break a monitoring system?

Cardinality is the number of unique label/tag combinations a metric can have. A metric like `http_requests_total{user_id=...}` has cardinality equal to the number of distinct users, potentially millions, because most metrics backends store a separate time series per unique label combination. High-cardinality labels cause a combinatorial explosion in stored time series, which can degrade or crash a metrics backend entirely. The fix is keeping metric labels low-cardinality (route, status code, method) and pushing genuinely high-cardinality data (user IDs, request IDs) into logs or traces instead, where it belongs.

Blog

Linux Processes and Networking: Signals, Ports, Monitoring

How Linux Runs, Communicates, and Stays Alive.

DevOps

Observability Fundamentals

How logs, metrics, and traces answer different questions, why monitoring is not debuggability, and the cardinality trap that breaks metrics systems.

Observability Fundamentals

What distinct question does each of logs, metrics, and traces answer?

Metrics answer "what is happening, in aggregate, over time", cheap to store, good for dashboards and alerting thresholds, but they lose individual event detail. Logs answer "what exactly happened in this specific event", full detail but expensive to store and search at scale. Traces answer "where did time go across this one request as it moved through multiple services"; they reconstruct causality and latency across service boundaries that neither logs nor metrics show on their own. A mature observability setup uses all three together, correlated by shared identifiers like a request or trace ID.

Blog

Production-Ready AKS GitOps with Terraform and ArgoCD

The DevOps Project That Finally Made Kubernetes, GitOps, and Terraform Click

Blog

Azure Monitor Alerts, Action Groups, and Processing Rules

Set up Azure Monitor alerts, action groups, and alert processing rules step by step, so critical changes like a VM deletion never go unnoticed.

Blog

Terraform Azure VMSS: Load Balancer, Key Vault, and Monitor

Provision an Azure VM Scale Set with Terraform behind a Standard Load Balancer, then add managed identity, Key Vault RBAC, monitoring, and verification.

Blog

How to Build a Production-Ready Azure Environment with Terraform

Build an Azure foundation with Terraform remote state, controlled outbound access, private endpoints, Key Vault, Storage, monitoring, verification, and cleanup.

Blog

Automating Azure Infrastructure with Bicep: Hands-On IaC Lab

Deploying VNets, VMs, IAM, Policies, Monitoring, and Governance using Infrastructure as Code.

Linux Process Management & systemd

In a systemd unit, what is the practical difference between Type=simple and Type=forking, and why does that distinction matter for dependency ordering?

With Type=simple, systemd considers the unit started the moment the main process is forked off, it does not wait for the application to finish its own initialization, so anything depending on that unit might start before the service is actually ready to handle requests. Type=forking expects the traditional daemon pattern, the initial process forks and exits once it judges its own startup complete, so systemd marks the unit started as soon as that original process exits successfully, while the actual daemon keeps running as a separate, now-orphaned process. That only tracks the daemonization handoff, not genuine application readiness, a process can exit believing setup is done while it is still finishing initialization in the background, so Type=forking is a better signal than Type=simple but still not a readiness guarantee. Type=notify is the one that actually is readiness-safe: the service explicitly calls sd_notify to tell systemd exactly when it's ready, rather than systemd inferring readiness from process exit behavior at all.

Search results for “monitoring” | Cloud Tech by Victor