Fully managed Reverb is here, only on Laravel Cloud
14M Requests, 1 Engineer: How Ghost Runs a 50,000-Site Directory on Laravel Cloud

14M Requests, 1 Engineer: How Ghost Runs a 50,000-Site Directory on Laravel Cloud

Ghost has grown steadily for more than a decade. The company began when founder and CEO John O'Nolan, then a WordPress core contributor, noticed WordPress drifting toward a general-purpose content management system. He wanted to reimagine a publishing platform using modern technology, focusing entirely on publishing.

A blog post became a Kickstarter campaign, which became an open-source company now stewarded by a nonprofit. Today, Ghost has a team of 35 people and generates 9 million dollars in annual revenue.

Laravel Cloud has been central to John’s ability to run production workloads efficiently, powering the Ghost Explore project and enabling the founder to manage a complex directory with over 50,000 websites and 14 million monthly requests in under 10 minutes per week.

Building Ghost Explore, a 14M Monthly Requests Website on a 1GB App Server

Previously familiar with the Laravel framework, John used Laravel Cloud to build Ghost Explore, a public directory showcasing the publishers’ work and how they build with the platform.

Centralized platforms can easily list users because everything lives in a single database. Open-source software is different. Ghost installations run on thousands of servers across the world. Every site is independent. That makes it difficult to answer a basic question: who is using the product?

Ghost Explore solves this. The Ghost founder built a Laravel application that scans the web for Ghost sites, gathers public metadata to promote the publishers’ work, ranks them using an algorithm, and uses AI to categorize them.

The frontend acts as a directory. The backend functions as an internal customer relationship management system for the Ghost(Pro) managed cloud service, helping Ghost understand its user base and how its product is used, something John finds useful for driving innovation.

The directory currently tracks about 50,000 sites and connects to 15-20 data sources, with more being added regularly. This translates into “14 million requests per month on a tiny 1GB app server.”

While the frontend will stay focused on showcasing sites, John wishes to continue expanding the backend into marketing automation for Ghost(Pro) customers. At the moment, Ghost uses it to associate testimonials with sites and to provide an API for its marketing pages, replacing external SaaS tools with custom logic within one application. All built in Laravel Cloud and run by a single developer.

Why Laravel Cloud

John is the only engineer working on Ghost Explore. That shaped the decision to adopt Laravel Cloud from the moment it launched. He attended Laracon when the platform was demoed for the first time, and he immediately recognized its value.

“I’d been deploying my Laravel apps before then on a mix of different third-party services, which were fine. But there’s more to figure out with third-party tools, other companies to deal with, and things to learn. So if I could have it all just work on an official platform, it would mean fewer headaches, and that’s what Cloud has given me.”

The founder’s goal was to run a production Laravel application without becoming a systems administrator or involving one. Laravel Cloud met that need instantly.

“If I were not using Laravel Cloud, I would definitely need multiple engineers involved to manage it,” he said.

Resource Savings and Key Features

While he finds it hard to estimate how many hours Laravel Cloud saves him per week since he was using semi-managed tools before, John points out that the biggest difference lies in the resources.

Cloud enables a single engineer to run a full production app that pulls data from dozens of sources and updates continuously. “The setup is my ideal one: I connect to my GitHub repository, click a couple of buttons, and it works,” he said.

“I don’t want to be dealing with operating system versions and certificate renewals, or any of that nonsense. I’m not going to learn that stuff. So if I had to solve those problems, I would need to involve a team or hire one. So the fact that I don’t need to do that with Cloud is wonderful.”

The feature he uses most is automated builds. He pushes hundreds of times a day and relies on Cloud to handle the process quietly in the background. “Once you’ve got it up and running, the feature set…well, you just kind of set it and forget it.”

That’s also the case with his early access experience with Laravel Valkey, a managed Redis-compatible KV store integrated into Cloud. “I turned it on and I haven't thought about it since, which is kind of my ultimate measure of success,” he commented.

Noting the platform’s evolution, he described onboarding as "super easy" and said deploying two new projects recently was "even faster and easier than last time."

Running a Production App in Ten Minutes or Less per Week

As for time spent on the platform, John estimates he’s only four or five hours per week on the Cloud interface, mostly out of “choice and curiosity.”

“There’s almost no need to go in there whatsoever. I primarily work in my code editor, and every time I push, it’s live within a couple of minutes. I could do it with 0 to 10 minutes a week, and still run this app.”

Save on Infra Management with Cloud

Ghost Explore continues to grow in scale, complexity, and dataset size. Laravel Cloud allows John to manage a production application with 50,000 sites and dozens of data sources entirely on his own in under 10 minutes a week.

Like John, you can run real production workloads without managing servers or hiring a dedicated team. Focus on building your Laravel applications and let Cloud handle the infrastructure.

Try Laravel Cloud today.

Keep reading