Infrastructure tutorials
Production-grade guides for Linux, servers, security and performance. Copy-paste commands, multi-distro support, written by engineers who run this in production.
Browse by topic
Linux
System administration, shell scripting, package management
Hosting & Servers
Web servers, reverse proxies, SSL, domains
Security
Firewalls, hardening, encryption, access control
Performance
Caching, optimization, profiling, load testing
Databases
MySQL, PostgreSQL, Redis, backups, replication
Networking
DNS, load balancing, VPN, TCP/IP, routing
DevOps
CI/CD, Docker, Kubernetes, automation
Monitoring
Logging, alerting, metrics, observability
Most viewed
Configure Linux system time synchronization with chrony and NTP hardening
linuxSet up Node.js application security with Helmet and rate limiting
securityInstall and configure Caddy web server with automatic HTTPS and reverse proxy
hostingInstall and configure Uvicorn ASGI server with systemd and reverse proxy for FastAPI applications
hostingInstall and configure PostgreSQL 17 with performance tuning and security hardening
databasesRecently published
Set up Cassandra backup automation with nodetool
databasesConfigure OSSEC vulnerability detection with CVE scanning and automated security alerts
securityMonitor Apache Cassandra cluster with Prometheus and Grafana dashboards
monitoringIntegrate OSSEC with Splunk for centralized security monitoring and log analysis
securityConfigure systemd service resource limits and security isolation
linuxConfigure OpenTelemetry sampling strategies for high-traffic applications
Learn how to implement probabilistic, deterministic, and adaptive sampling strategies in OpenTelemetry to optimize distributed tracing performance and reduce storage costs in high-traffic production environments.
Configure ScyllaDB backup and restore with automation
Set up automated daily backups for ScyllaDB with monitoring, restore procedures, and retention policies. Includes snapshot management, S3 storage integration, and comprehensive alerting for production NoSQL environments.
Configure Jaeger data retention policies and automated archiving with Elasticsearch backend
Learn to configure Jaeger data retention policies with Elasticsearch backend for automated trace archiving. This tutorial covers index lifecycle management, storage optimization, and performance monitoring to prevent disk space issues while maintaining observability requirements.
Set up Redis monitoring with Prometheus and Grafana dashboards
Configure comprehensive Redis monitoring using Prometheus Redis Exporter and Grafana dashboards. Monitor Redis performance metrics, memory usage, connections, and replication status with automated alerts for production environments.
Configure Node.js application logging with Winston and log rotation for production
Set up Winston logger with structured JSON logging, multiple transports, and automated log rotation using winston-daily-rotate-file for production Node.js applications. Configure comprehensive error handling and log management best practices.
Configure Prometheus long-term storage with Thanos for unlimited data retention
Deploy Thanos components with Prometheus to achieve unlimited data retention using object storage. This advanced setup enables querying years of historical metrics while maintaining high availability and reducing local storage costs.
Setup remote backup storage with S3-compatible encryption and automated retention policies
Configure secure, encrypted backup storage using S3-compatible providers with automated retention policies, client-side GPG encryption, and monitoring scripts for reliable data protection.
Configure Cherokee web server reverse proxy and load balancing with SSL
Set up Cherokee web server with reverse proxy capabilities, load balancing across backend servers, and SSL encryption for high-performance production environments.
Set up Jaeger high availability clustering with load balancing and failover
Deploy a production-grade Jaeger distributed tracing cluster with Elasticsearch backend, load-balanced collectors, and automatic failover for enterprise-scale microservices monitoring.
Set up Spark 3.5 Delta Lake with MinIO for ACID transactions and big data analytics
Configure Apache Spark 3.5 with Delta Lake and MinIO object storage for ACID transactions, data versioning, and distributed analytics processing. Includes complete setup for production-grade data lake architecture.
Setup Caddy with Consul service discovery for dynamic load balancing
Configure Caddy web server to automatically discover backend services through Consul, enabling dynamic load balancing without manual configuration updates. This setup provides high availability and automatic failover for microservices architectures.
Deploy Deno applications with Docker containers and production optimization
Learn how to containerize Deno applications with Docker using multi-stage builds, security hardening, and production-ready configuration. This tutorial covers creating optimized Dockerfiles, implementing proper caching strategies, and deploying with Docker Compose for scalable web applications.
Need help?
Don't want to manage this yourself?
We handle infrastructure for businesses that depend on uptime. From initial setup to ongoing operations.
Talk to an engineer