FastTools

Infrastructure & DevOps

Size containers, plan cloud resources, and estimate infrastructure costs

7 tools

Tools in This Collection

Guides & Articles

Infrastructure and DevOps Workflow

Infrastructure work involves a recurring set of calculations and configuration tasks: scheduling jobs, sizing containers, planning cloud resource allocation, and managing deployment workflows. These tools handle the lookup and calculation work so you can focus on architecture decisions.

Cron Scheduling

Cron expressions are compact but cryptic. The 5-field format (minute hour day-of-month month day-of-week) supports a wide range of scheduling patterns including every N minutes, specific weekdays, and monthly dates. The Cron Generator builds expressions from visual dropdowns and immediately shows the human-readable description and next 5 scheduled run times — critical for verifying that a complex schedule like "every weekday at 9am except the 1st of the month" produces the intended result before deploying to production.

Container and Cloud Sizing

Docker image size affects deployment times, storage costs, and attack surface. The Docker Image Size Calculator estimates compressed image size by base image (node:20 vs alpine vs distroless) and added layers, helping identify size reduction opportunities before building. The Kubernetes Resource Calculator converts between CPU millicores and vCPUs, and between memory megabytes and gibibytes — the units frequently mismatched in pod specs.

CDN Selection and Cost

CDN pricing models vary significantly: some charge per GB transferred, others charge per request, and some (Cloudflare) offer free tiers. The CDN Cost Estimator projects monthly cost at your traffic levels across major providers, letting you make a data-driven vendor selection rather than choosing based on familiarity alone.

Version Management and Commit Standards

Semantic versioning communicates breaking changes, new features, and bug fixes through version number structure. The Semver Version Bumper handles major.minor.patch increments and pre-release tags. The Git Commit Message Generator formats conventional commits (feat, fix, chore, docs, refactor) with type, scope, and breaking change indicators that feed into automated changelog generation tools.

Frequently Asked Questions

How do I write a cron expression for every weekday at 9am?

The cron expression is: 0 9 * * 1-5 (minute=0, hour=9, any day-of-month, any month, Monday-Friday). In the Cron Generator, set minute=0, hour=9, day-of-month=* (every), month=* (every), day-of-week=1-5 (Mon-Fri). The tool confirms this runs at 09:00 Monday through Friday and shows the next 5 scheduled times.

How do I reduce Docker image size?

Key strategies: use Alpine or distroless base images instead of full OS images (often 10x smaller), use multi-stage builds to exclude build tools from the final image, minimize layers by chaining RUN commands, use .dockerignore to exclude node_modules, test directories, and git history. The Docker Image Optimization article covers a worked example from 1.8GB down to under 200MB.

What is the difference between Kubernetes CPU requests and limits?

Requests are the guaranteed CPU allocation — Kubernetes uses this value for scheduling decisions. Limits are the maximum a container can use. If a container exceeds its CPU limit, it's throttled. If it exceeds its memory limit, it's OOMKilled. Best practice: set CPU requests slightly below typical usage, set limits 2-4x higher. The Kubernetes Resource Calculator helps estimate appropriate values.

What is semantic versioning?

Semantic versioning uses a three-part MAJOR.MINOR.PATCH format. MAJOR increments for breaking changes (not backward-compatible). MINOR increments for new features that are backward-compatible. PATCH increments for bug fixes. Consumers of a library can use this structure to set safe version constraints: ^1.2.0 allows MINOR and PATCH updates but not MAJOR (breaking) updates.

What are conventional commits?

Conventional Commits is a specification for structured commit messages: type(scope): description, where type is feat (new feature), fix (bug fix), chore (maintenance), docs (documentation), or refactor. Breaking changes add a ! before the colon. Tools like semantic-release use these messages to automatically determine version bumps and generate changelogs.