A better WordPress Experience

Introduction

When we launched EasyWP a couple of months ago, our initial launch was quiet. We wanted a week or two of testing our latest managed WordPress hosting service, fully built on our own stack from the bare metal foundation up. With something as ground-breaking as this, despite our expansive testing, it was important for us to spin up workload in a careful and cautious manner.

No amount of testting or simulated workloads behave in the same way as real world workload.

Fast forward three months, after a few weeks of successful testing, and I’d like to tell you more about the background and underlying technology behind one of Namecheap’s up and coming products.

WordPress is no stranger to Namecheap. This blog, the main Namecheap blog, is powered by WordPress. And our hosting service, which I wrote about recently celebrating its 10th birthday, is home to hundreds of thousands of WordPress websites.

These WordPress websites enjoy the strong foundations of Namecheap’s hosting – robust network infrastructure, modern server hardware with fast SSD storage, security and route optimization across the network layer and of course, our amazing customer care. Our shared hosting is also very affordable, making it a cost-effective home for a wide variety of websites.

However, the above is somewhat traditional. WordPress is installed through a 1-click installer after you’ve purchased the hosting package. This requires some technical expertise and you ‘need to know where to look’ to do it quickly and efficiently.

WordPress on Namecheap hosting is fast and secure. We offer generous resource quotas, so a customer’s site can grow. But this is still WordPress in a shared single server environment, which doesn’t give it the redundancy of cloud. It doesn’t enable scaling to the level we strive to deliver to customers. And managing WordPress on a daily basis, particularly if you are managing more than one WordPress instance, requires technical expertise and is time consuming.

Enter EasyWP

The name does give it away. We envisaged a fast, easy way to setup WordPress as soon as you’ve bought a domain, or if the domain is to be decided later, just a quick way to get WordPress up and running. No complicated multiple step process. No waiting for approval before you can begin work. No editing complex config files. And you don’t even need to choose your permanent domain, you can get started right away on a temporary/free domain and choose the domain you wish to use at a later date.

But further than this, our concept was to deliver more value across other key pillars as well as the slick setup. The key pillars were:

  • The benefit of cloud – redundancy through a cloud platform and scalability to support growth (we want our customers websites to be successful!)
  • Value – it is no secret that other managed WordPress offerings exist but the vast majority are more expensive
  • Ease of management – a single dashboard to manage your WordPress websites through a single pane of glass
  • Abstract complexity – make security, upgrades, backups and more as easy as possible

To deliver across all of these and in particular, the benefit of cloud but without the cost, we embarked on building a cloud application ecosystem. A platform in which customers WordPress websites could grow and thrive. A platform that is friendly and compatible with the web’s most popular platform for building and publishing websites (we love WordPress but it does have its quirks!). And finally, a platform that we can extend and reuse to reinvent and simplify future SaaS style apps.

The vast majority of the other managed WordPress offerings are either single-server based, or built on public cloud. Single server based was too similar to our traditional shared hosting offering, and we did consider public cloud but then discounted it for several reasons.

Why we built our own cloud

Public cloud has many benefits. The scaling, the reliability and the tooling to take advantage of both of these, and more, with minimal effort goes without saying. This is covered in much greater and better detail on a plethora of other blogs and case studies, so I won’t be writing about that today.

But what I will say is:

Public cloud is expensive. Public cloud at the type of performance we want to deliver against our pillars is even more expensive. For us to deliver a managed WordPress experience at a much lower price point, enabling customers to enjoy all of the benefits but without paying $50/month, the numbers on public cloud just did not add up.

So we set about building our own. We’ve built a number previously to serve internal needs, but never an external customer-facing cloud designed from day 1 to run container workloads. We firmly believe that containers are the future and in EasyWP’s case, have helped us deliver against the foundation pillars outlined above.

The heart of EasyWP’s powerful engine consists of Docker containers. We’ve built a comprehensive system of containers that live inside pods, orchestrated by Kubernetes. Every customer pod is isolated from  others and brings with it everything you need for a smooth, fast WordPress experience. This includes Nginx, PHP 7.1 and Varnish, a caching system to boost site load speeds. Under the hood, we use some system level virtualization with VMware, running a number of CoreOS virtual machines. 

For database and storage,  we have a powerful replicated Galera cluster driving the database, and an object store for WordPress’s many small files.

 

 

And now we get to the performance. Namecheap operates an advanced primary datacenter in Phoenix, AZ where we have a route-optimized, DDoS protected network with solid connectivity worldwide. When latency and milliseconds count towards our performance goal, we couldn’t have a stronger network.

By building from bare metal, it gave us the flexibility in choosing the server hardware and network infrastructure to suit our needs. We had a point to prove on performance and choosing the latest Xeon v4s, DDR4 RAM, PCI-E SSD connected with 40G networking enabled us to do this. Could we have done this on public cloud? Possibly, yes. But the cost would have been so great it would be impossible to offer the ground-breaking price of $8.88/year for the first year.

Of course, combine something new and with the latest technology and you do run into teething problems. EasyWP is in a beta mode, and we expect this to continue until the end of the year. With this said, we are delivering 99% uptime each month.

In everything we do, Namecheap puts our customers first. We’ve taken a more difficult road to accomplish a better, lower cost product for you, our customers. We’re excited by the early successes of EasyWP and we have an exciting roadmap of features to come. Stay tuned!

Leave a Reply