Ranil Perera

Principal Consultant

Ranil Perera is an IT executive and technology consultant with more than 25 years of experience helping organisations design, modernise and manage business-critical technology platforms. As Director & CEO of Onsys Technologies, Ranil works with organisations across Australia and the Asia-Pacific region to deliver practical solutions across database technologies, cloud infrastructure, cybersecurity, DevOps, software development and AI. His background combines deep technical expertise in enterprise database platforms with solution architecture, cloud transformation, IT consulting and business leadership. He has a strong focus on improving system reliability, security, performance and operational efficiency while helping organisations adopt emerging technologies in practical and commercially valuable ways. Ranil is passionate about working with technology leaders, partners and organisations to solve complex technology challenges, modernise IT environments and build secure, scalable solutions for the future.

  • Microsoft Certified: Azure Solutions Architect Expert
  • Microsoft® Certified Solutions Expert: Data Management and Analytics Charter Member
  • Microsoft® Certified Solutions Expert: Data Platform
  • Microsoft® Certified Solutions Expert: Business Intelligence
  • Oracle Cloud Infrastructure 2025 Certified Generative AI Professional
  • Microsoft Certified: Azure AI Engineer Associate
  • Microsoft Certified: Azure Administrator Associate
  • Microsoft Certified: Azure Security Engineer Associate
  • PRINCE2 Practitioner
  • ITIL-V3 Foundation
  • Oracle Certified Professional (OCP)
  • Microsoft Certified Professional (MCP)
Articles

51 articles by Ranil Perera

Database

How to Reduce Excessive PostgreSQL Log File Growth in Production Environments

· 10 min read

PostgreSQL logging is essential for troubleshooting, performance monitoring, auditing, and operational support. However, incorrectly configured logging can quickly consume large amounts of disk space and create unnecessary operational risk. In a recent production scenario, a PostgreSQL 15 environment was generating more than 20 GB of logs per day, with approximately 150 GB of disk space consumed in less than a week. This article explains how to identify the root cause of excessive PostgreSQL logging, safely reduce log volume, improve rotation and retention, and understand the impact of these changes in a streaming replication environment.

Database

Replicating AWS RDS MySQL to SQL Server on Windows

· 14 min read

Building a Debezium CDC Proof of Concept Replicating AWS RDS MySQL to SQL Server on Windows Introduction Many organisations need a reliable way to move operational data from one database platform to another without relying on heavy batch jobs, manual exports, or nightly ETL windows. One practical approach is Change Data Capture, usually called CDC.

Database

Secure Your Reports: How to Enable SSL/TLS Certificate on SQL Server Reporting Services 2019

· 8 min read

Secure Your Reports: How to Enable SSL/TLS Certificate on SQL Server Reporting Services 2019 SQL Server Reporting Services, commonly known as SSRS, is widely used by organisations to publish business reports, dashboards, operational summaries, financial reports, and customer-facing analytics. Because these reports often contain sensitive business information, securing access to the SSRS web portal

Database

Secure Your SQL Server 2019: A Practical Guide to Enabling SSL/TLS Encryption

· 6 min read

Secure Your SQL Server 2019: A Practical Guide to Enabling SSL/TLS Encryption In today’s security-first IT environment, protecting database traffic is no longer optional. SQL Server often holds business-critical information such as customer records, financial data, application transactions, reports, and internal operational data. If connections between applications and SQL Server are not encrypted

Database

Building an On-Premises Disaster Recovery Option for Azure SQL Managed Instance

· 7 min read

Building an On-Premises Disaster Recovery Option for Azure SQL Managed Instance Many organisations are moving their SQL Server workloads to Azure SQL Managed Instance to gain the benefits of a fully managed cloud database platform. However, some industries still have compliance, regulatory, sovereignty, or internal risk requirements that demand a disaster recovery copy outside Azure,

Database

Mastering SQL Server Transactional Replication: Creating, Testing, and Monitoring a Reliable Data Sync Environment

· 4 min read

Mastering SQL Server Transactional Replication: Creating, Testing, and Monitoring a Reliable Data Sync Environment In modern IT environments, businesses often need data to be available in multiple locations for reporting, disaster recovery, analytics, or application performance. One of the most proven technologies for near real-time data distribution in Microsoft SQL Server is Transactional Replic

Database

How to Identify and Troubleshoot Slow Queries in Oracle Database 19c

· 3 min read

🚀How to Identify and Troubleshoot Slow Queries in Oracle Database 19c Performance issues are one of the most common challenges faced by database administrators. When users report that “the system is slow”, the root cause is often inefficient SQL queries. In this guide, we’ll walk through a practical, step-by-step approach to identifying slow queries in

Database

Git Essentials for Developers: Commands, Best Practices, and Real-World Workflow with GitLab

· 3 min read

Git Essentials for Developers: Commands, Best Practices, and Real-World Workflow with GitLab Version control is at the heart of modern software development. Whether you’re working solo or in a distributed team, mastering Git is essential for maintaining code quality, collaboration, and traceability. In this guide, we’ll cover: 🧱 What is Git? Git is a distributed

Database

Setting Up GitLab on Ubuntu with HAProxy and Using HTTPS for Development – Complete Guide

· 3 min read

Setting Up GitLab on Ubuntu with HAProxy and Using HTTPS for Development – Complete Guide In modern software engineering, having a centralized, secure, and scalable code repository is critical. This guide walks through a real-world implementation of a self-hosted GitLab platform deployed on an Ubuntu VM, integrated with HAProxy for SSL termination, and configured for

Database

Complete Guide: Setting Up Ubuntu 22.04 for Docker-Based Application Deployment

· 3 min read

Complete Guide: Setting Up Ubuntu 22.04 for Docker-Based Application Deployment Running modern applications efficiently requires a solid, production-ready environment. In this guide, we walk through how to prepare an Ubuntu 22.04 LTS server for running containerized applications using Docker, along with essential tools like Node.js, npm, pnpm, and PostgreSQL. This setup is ideal for SaaS

Database

How to Find Which Application Is Using A Port 3002 on a Windows

· 3 min read

How to Find Which Application Is Using a Port on a Windows When you are troubleshooting a Node.js app, React frontend, backend API, Docker container, or any local development service on Windows, one common problem is discovering that a required port is already in use. If your application needs port 3002 and Windows says the

Database

How to Enable TDE on SQL Server 2019 Standard with Always On Availability Groups for Selected Databases

· 7 min read

How to Enable TDE on SQL Server 2019 Standard with Always On Availability Groups for Selected Databases Protecting sensitive business data at rest is now a core requirement for many organisations. For SQL Server environments running critical production workloads, Transparent Data Encryption (TDE) is one of the most effective built-in security features for encrypting database

Database

Integrating IntelliJ IDEA Community Edition + Codex (OpenAI)

· 3 min read

Integrating IntelliJ IDEA Community Edition + Codex (OpenAI) A practical, step-by-step guide (plugins, setup options, and a solid workflow) If you’re an IntelliJ IDEA (Community Edition) person but you want Codex-style “agentic” help — refactors, bug fixes, test generation, and codebase Q&A — you’ve got a good path now: Codex is available inside JetBrains IDEs

Database

Integrating VS Code + Codex (OpenAI)

· 3 min read

Integrating VS Code + Codex (OpenAI) A practical setup guide (extensions, install steps, and best-practice workflow) If you live in VS Code, Codex is one of the nicest ways to bring an “agentic” coding assistant into your daily workflow—so you can ask for changes, refactors, bug fixes, and explanations inside the editor, with Codex able

Database

How to Change the Ownership of a CIFS Mount Point on Linux

· 3 min read

How to Change the Ownership of a CIFS Mount Point on Linux When working with network-mounted storage on Linux, especially Azure Files or SMB/CIFS shares, administrators often notice something confusing: even after running chown, the mounted folder still shows as root:root. This happens because CIFS mount points do not behave like normal local Linux filesystems

Database

OpenSSL on Windows Made Simple: Create a PFX Certificate from PEM Files

· 3 min read

OpenSSL on Windows Made Simple: Create a PFX Certificate from PEM Files Introduction When you work with SSL/TLS certificates on Windows—especially for platforms like Azure Key Vault, IIS, Application Gateway, Load Balancers, or Kubernetes—you’ll often receive certificates in PEM format (for example: .pem, .crt, fullchain.pem). The challenge: many enterprise platforms require a PFX (PKCS#12) file

Database

How to Set Up Secure Cross-Account AWS DBA Access Using IAM Roles (Step-by-Step)

· 6 min read

How to Set Up Secure Cross-Account AWS DBA Access Using IAM Roles (Step-by-Step) Managing databases in AWS often requires DBAs to access customer environments securely—without sharing passwords, long-lived keys, or granting excessive permissions. A common and recommended approach is to use AWS IAM roles with cross-account role assumption. This guide walks through a practical, secure

Database

How to Create Databases and Users in Azure Database for MySQL (Flexible Server)

· 3 min read

How to Create Databases and Users in Azure Database for MySQL (Flexible Server) Managing users and databases in Azure Database for MySQL (Flexible Server) is similar to standard MySQL, but with one important difference: Azure is a managed database service, so some “superuser-style” permissions (especially global grants) are intentionally restricted for security and platform stability.

Database

How to Check Where PostgreSQL Stores Its Database Files (Step-by-Step)

· 3 min read

How to Check Where PostgreSQL Stores Its Database Files (Step-by-Step) When you’re troubleshooting disk usage, planning backups, investigating performance issues, or validating a migration, one of the first questions you’ll ask is: “Where are my PostgreSQL database files actually stored?” PostgreSQL is very transparent about this—if you know where to look. In this guide, we’ll

Database

The Practical Beginner’s Guide to Git

· 4 min read

The Practical Beginner’s Guide to Git Clone, branch, commit, push, merge — and deploy with Docker Git is the most popular version control system for tracking code changes, collaborating with others, and safely delivering features without breaking your main codebase. This guide walks you through a real-world Git workflow: ✅ Create or clone a repo✅

Database

Install WordPress on Ubuntu 24.04 With Free SSL (Let’s Encrypt)

· 4 min read

Install WordPress on Ubuntu 24.04 With Free SSL (Let’s Encrypt) This guide shows how to install WordPress on Ubuntu 24.04 using Apache, PHP, and MySQL — then secure it with a free SSL certificate from Let's Encrypt. It also includes two common production needs: blocking search engines until launch and increasing WordPress upload size. What

Database

Monitoring SQL Server Restore Progress with sys.dm_exec_requests

· 5 min read

Monitoring SQL Server Restore Progress with sys.dm_exec_requests When restoring a large database in SQL Server, one of the most common questions from administrators, project teams, and business users is: “How much longer will it take?” SQL Server does not always give clear progress feedback in the standard restore window, especially when you are managing restores

Database

End-to-End Guide to Expanding Linux Volumes and Mount Points

· 3 min read

Overview If your Azure Portal shows a larger disk size (e.g., 128GB) but Linux reports smaller sizes in df -h or lsblk, the issue is almost always one of these: This guide covers: Symptoms You’ll See Example: Why df -h Doesn’t Show Your Disk df -h reports filesystems that are mounted (like /, /opt, /home).It

Azure Cloud

How to Change the Hostname on a Linux Server (Safely, the Right Way)

· 3 min read

Changing a Linux server hostname sounds simple—and it is—but doing it properly matters. A hostname touches everything from SSH prompts, monitoring, logging, certificates, internal DNS, and even some application configs. In this guide, I’ll show you the safest and most common methods to change a Linux hostname without breaking anything. What is a hostname (and

Artificial Intelligence

Which AI Model Fits Your Business? A Practical Guide to Cohere, Gemini, Llama, GPT-OSS, and Grok

· 3 min read

Generative AI is no longer experimental—it’s powering real-world enterprise, research, and consumer use cases. Five models stand out in 2025: Cohere Command R, Google Gemini 2.5 Pro, Meta Llama 4 Maverick, OpenAI gpt-oss-120B, and xAI Grok 4. Below we compare their strengths, limitations, and practical applications. Cohere Command R OverviewA 32-billion-parameter text-only model with retrieval-aug

Database

Application Modernisation: Breaking Free from Legacy Systems

· 3 min read

For decades, businesses have relied on applications that once solved critical problems and became the backbone of operations. These legacy applications were designed for their time—built to automate manual tasks, improve efficiency, and enable business growth. Many organisations still depend on them daily, even though the technology landscape has shifted dramatically. Why Organisations Still Use

Database

Installing Docker and Portainer on Windows Server (Azure VM)

· 2 min read

Installing docker and Portainer on windows server on Azure VM This guide walks through the tested and verified process for installing Docker and Portainer on a Windows Server virtual machine hosted on Microsoft Azure. These instructions are intended for production-grade setups using Windows-native Docker. To install Docker on an Azure Windows VM (for production workloads),

Software Development

Download and install IntelliJ IDEA Community Edition

· 2 min read

1. Download IntelliJ IDEA Community Edition 2. Install IntelliJ IDEA Community Edition For Windows For macOS For Linux (Ubuntu/Debian) 3. Activate IntelliJ IDEA Community Edition The Community Edition is free and does not require activation.When you first open IntelliJ IDEA: 4. Set Up IntelliJ IDEA for First Use Configure the UI Install Plugins (Optional) 5.

Database

Powershell cannot be loaded because running scripts is disabled.

· 1 min read

The error in your PowerShell terminal indicates that script execution is disabled on your system due to security policies. This is a common issue related to PowerShell's Execution Policy settings. Fix: Enable Script Execution To resolve this, follow these steps: Step 1: Check the Current Execution Policy Step 2: Change the Execution Policy To allow

Database

With Onsys Remote Database Services you can save up to 50% of DBA cost

· 2 min read

Save up to 50% of DBA cost with Onsys Remote Remote Database Support. In today’s fast-paced digital landscape, businesses rely on robust and well-maintained databases to drive operations, ensure data integrity, and support mission-critical applications. However, managing databases effectively requires expert DBA (Database Administrator) support, which can be costly for many organizations. This is

Ranil Perera — Principal Consultant | Onsys