DevOps & Deployment Automation

Infrastructure designed
for safe deployments
and reliable operations.

Deployment infrastructure and operational workflows designed for safe, consistent software releases.

8+
Production-ready systems built
0
Manual deploys needed
100%
Automated rollback coverage

End-to-end deployment automation

Systems designed with operational reliability in mind.

DEPLOYMENT SYSTEM

CI/CD Pipeline Setup

Automated testing and deployment on every code push. No more manual deployments. No more "works on my machine."

CONTAINER RUNTIME SYSTEM

Docker & Containerization

Your app runs identically in development, staging, and production. Consistent environments, consistent results.

SERVICE ORCHESTRATION SYSTEM

Multi-Service Systems

Connect your app, database, and services into a reliable system with Docker Compose. Proper networking and config management.

ENVIRONMENT MANAGEMENT SYSTEM

Staging & Production Environments

Test before it reaches users. Separate environments with approval gates so bad code never reaches production automatically.

Production-ready systems designed for deployment reliability and operational stability.

FastAPI Nginx PostgreSQL HTTPS

Production Waitlist API Infrastructure

Problem: Production APIs need secure HTTPS access, reverse proxy routing, isolated environments, and reliable deployments. A single container exposed directly to the internet is not production-ready.

  • Built a production-grade FastAPI system with PostgreSQL backend, Nginx reverse proxy, and HTTPS via Let's Encrypt
  • Nginx handles SSL termination and forwards traffic internally to FastAPI over a private Docker network — application and database containers are never publicly exposed
  • Full GitHub Actions pipeline with staging deployment, production approval gate, health checks, SHA-based rollback, and environment-specific Nginx configurations
View on GitHub →
Docker GitHub Actions Python Flask EC2

Operationalizing an Existing Application

Problem: Existing applications often lack deployment automation, environment isolation, and operational reliability. Production infrastructure must be designed around software that was not originally built for deployment workflows.

  • Integrated a complete DevOps layer into an existing Flask warehouse management application — Docker, Docker Compose, GitHub Actions pipeline, staging and production environments, and deployment approval gates
  • Identified and resolved undocumented operational gaps including missing dependencies, incomplete database schema setup, and unmerged migration scripts
  • Implemented persistent Docker volume storage so application data survives container restarts and deployments reliably
View on GitHub →
Staging Production Approval Gates GitHub Environments

Staging & Production Environment Separation

Problem: Deploying directly to production on every push means users are exposed to every bug. There is no safe place to test before it's live.

  • Two isolated EC2 environments — staging deploys automatically on every push, production requires manual approval
  • Single Docker image built once and deployed identically to both environments — no drift between staging and prod
  • Per-environment secrets via GitHub Environments — staging and production have completely isolated credentials
View on GitHub →
Docker Compose PostgreSQL Flask API EC2

Multi-Container System with Database

Problem: Real apps need databases. Running an app and a database together in production requires careful networking, configuration, and startup ordering.

  • Flask API and PostgreSQL running as separate containers connected via Docker Compose networking
  • Containers discover each other by service name — no hardcoded IPs, no fragile config
  • All secrets injected at runtime via environment variables, never stored in code or images
View on GitHub →
Docker GitHub Actions Python Flask EC2

Docker-Based CI/CD Pipeline

Problem: Deploying raw code to a server means the server must be configured for every app. One wrong dependency breaks everything.

  • Containerized a Python Flask app with Docker — server only needs Docker installed, nothing else
  • Three-job pipeline: tests run inside the container, image pushed to Docker Hub tagged with Git commit SHA, EC2 pulls and runs the image
  • Automatic rollback to previous image by SHA if health check fails after deploy
View on GitHub →

Built from first principles

Radiance IT Solution focuses on deployment automation and operational reliability — building infrastructure systems that help teams ship software confidently through automated pipelines, containerized environments, and structured deployment workflows.

Every system is approached with a focus on understanding why each component exists, not just making it function. The result is cleaner infrastructure, faster debugging, and more reliable delivery systems designed to handle operational failure gracefully.

The goal is simple: make software delivery reliable, repeatable, and scalable for teams that have more important things to focus on than deployment complexity.

W.K.V.P Randunu
DevOps Engineer
Tools & Technologies
Docker Docker Compose GitHub Actions AWS EC2 Python PostgreSQL Linux Bash Git Gunicorn Nginx

Let's talk about your system

Ready to automate your deployments?

If your team is deploying manually, has no testing pipeline, or wants to stop worrying about broken deploys — let's have a conversation.

wkvp.randunu@gmail.com