Back to blog
Case Studies·February 14, 2026·Sayan Roor

Case Study: Digital Transformation of egemen.kz — Flagship of Kazak Gazetteri Media Holding

How we migrated egemen.kz from legacy PHP/Laravel to modern NestJS + Next.js + PostgreSQL without downtime, preserving 212,000 articles and 430 GB of media files — our partnership with Kazak Gazetteri media holding.

KazakhstanMediaMigrationNestJSNext.jsCase Studyegemen.kz
Migration of egemen.kz media portal to Next.js and NestJS

Case Study: Digital Transformation of egemen.kz — Flagship of Kazak Gazetteri Media Holding

egemen.kz is Kazakhstan's largest Kazakh-language news portal, part of the Kazak Gazetteri media holding. In 2026, we completed a full platform migration from legacy PHP/Laravel to a modern NestJS + Next.js + PostgreSQL + Docker stack.

Client: Kazak Gazetteri Media Holding

Kazak Gazetteri is a state media holding of the Republic of Kazakhstan, uniting the country's largest Kazakh-language publications. The flagship portal egemen.kz is one of Kazakhstan's most visited news sites with over 2 million unique monthly visitors.

State Before Migration

| Parameter | Value | |-----------|-------| | Platform | PHP 7.1 + Laravel 5.8 (both EOL) | | Server OS | CentOS 7.9 (EOL since June 2024) | | Database | MySQL 5.7 — 5 GB data consuming 17.8 GB RAM | | Articles | 212,408 publications in 5 languages | | Media Files | ~430 GB (2,091,712 images + PDFs) | | Server Uptime | 929+ days without restart | | Disk | 93% full (critical!) |

Core Problem: The platform ran on critically outdated infrastructure. PHP 7.1 received its last security patches in December 2022. CentOS 7 reached EOL in June 2024. This meant: unpatched vulnerabilities, inability to install new packages, and mounting technical debt.

On January 27, 2026, an unexpected server reboot caused partial file loss — this became the catalyst for immediate migration.

Challenge: Zero Downtime Migration

The client's primary requirement was zero downtime for editors and readers. egemen.kz publishes 50-100 news articles daily. Any interruption directly impacts the country's political and public agenda.

New Architecture

| Component | Version | Advantage | |-----------|---------|-----------| | Ubuntu | 24.04 LTS | Supported until 2029 | | NestJS | 11 (Fastify) | 2× faster than Express | | Next.js | 16 | SSR + React 19 | | PostgreSQL | 16 | More reliable, JSONB support | | MinIO | Latest | S3-compatible storage for 430 GB | | Docker | 27+ | Isolation and reproducibility |

Migration Strategy: Parallel Operation

Rather than "shut down old, start new" (guaranteed downtime), we used parallel operation:

Weeks 1-2: New server runs in parallel
──────────────────────────────────────
  Old server (LIVE)       ──rsync──▶   New server (testing)
  egemen.kz running       ──dump──▶    Data syncing
  Editors publishing                    Everything tested

Migration Day (03:00-05:00): DNS Cutover
  1. Final data synchronization
  2. DNS: egemen.kz → new IP
  3. SSL certificates
  4. All URL verification

The old server remained as a fallback for 14 days after cutover.

Data Migration: 212,000 Articles

The most complex phase — converting from MySQL to PostgreSQL with schema changes. We wrote a TypeScript migration script processing 1,000 records per batch. Full migration of 212,000 articles completed in 28 minutes.

For 430 GB of media files, we used rsync for background sync over 7 days, then a final delta sync on migration day, followed by MinIO upload and Nginx redirect configuration for legacy URLs.

SEO Migration: Retained All Rankings

With hundreds of thousands of indexed pages, wrong URL migration would mean losing all SEO traffic. We implemented 301 redirects for all URL patterns and notified Google Search Console. 72 hours after migration — rankings stable, indexing continuing normally.

For information on securing your infrastructure during migrations like this, see our guide on website security in Kazakhstan.

Results

| Metric | Before | After | |--------|--------|-------| | Time to First Byte | 1.8s | 0.4s | | PageSpeed (mobile) | 47 | 88 | | Database RAM usage | 17.8 GB | 2.1 GB | | Disk usage | 93% | 38% | | Article publish time | ~8 sec | ~1.2 sec | | Migration downtime | — | 0 minutes |

Partnership with Kazak Gazetteri

This is not a one-time project — it's a long-term technology partnership including platform migration, unified CMS development, AI editorial tools, and an analytics dashboard. Kazak Gazetteri has become our strategic partner in Kazakhstan's media sector.

If you have a site running on an outdated platform, the risks are similar: unpatched vulnerabilities, inability to scale, and slow performance. Modern architecture is an investment that pays for itself within 6-12 months.

Want to discuss migrating your project? Read our complete guide on website development in Kazakhstan or fill out a brief to get started.

Sayan Roor

Full‑stack developer. I build Next.js & TypeScript web apps with focus on performance and conversion.

FULL STACK DEVELOPER AT SCALE.

From ideation to deployment, I build high-performance applications that scale businesses.

Location

Almaty, Dostyk 132B

© 2026 NANOSUDO.

Designed & Developed by Sayan Roor

ИП Tengri Tech Dev

ИИН/БИН: 960808350018

Республика Казахстан, город Астана, район Нұра, улица Санжар Асфендияров дом №3