Take care. This article is likely outdated.

PHP Hosting Possibilities

Another self-opinionated hosting guide

Trying to understand state-of-the-art hosting solutions. This article is for YOU, the developer — freelancer, small team, digital agency, startup.

Prologue

Let's face it: web hosting is a market for lemons. There are so many providers. New categories are emerging. Borders blur. Microservices everywhere. It's complex. It's noisy. It's hard.

The popular wisdom that cloud computing comes in three flavors — SaaS, IaaS and PaaS — no longer describes reality. We find that vendors are blurring the lines …

John Rymer & James Staten for Forrester

Is hosting finally a commodity? Is it horsepower for bucks? What about value, productivity and developer happiness?

We run a hosting service ourselves. So we are carefully studying how developers are choosing vendors.

Naturally, we see a lot of "peer intelligence": What are the other kids using? And we also see confusion. Our service for example is very abstracted, so there are no servers — still we get support tickets from people asking about their server with us.

Let's clear some dust here.

Old school hosting providers

It's about hosting packages. They usually run data centers and bare metal servers themselves. You'll get all-in-one packages often including even domain and email services. Lot's of stuff for little money. Mostly for hobbyists, real developer tools are often missing.

New school virtual boxes

It's about servers. Actually just a category of classical hosting, but somehow special. A popular choice among devs. Affordable, straight forward, total control and freedom of choice as the root user. With the flexibility comes responsibility for maintaining and securing your box — are you SysOp enough? Horizontal scaling is hard. But hey, it runs on SSDs!

Cloud enterprise players

It's about services. The big guys are operating here. The clouds wholesale trade were you'll need a degree in rocket science to understand the product palette. But once into that, you only need to provision your cloud fleet. Cool for big teams, big projects, big budgets.

All in one platforms

It's about Apps. Apple-like: a black box, an end-to-end experience. High abstraction, no file-system, 12-factor instead. Streamlined so that everything hopefully fits together nicely. Limited in possibilities but managed and production-ready. We have automated DevOps so you don't have to.

This space has a wide variety. Some vendors offer a very wide spectrum on solutions, others are specialized in certain programming languages or even applications / CMS systems.

Extensions & glue

Here comes the herd of one-trick ponies. Decouple all the things! Focus on one part and be really good at it. If this then that. Combine infrastructure resources with other services.

Server provisioning & management

Run your servers on any vendor and have web-based GUI to control them. The cPanel for the cloud. Filling the gap between raw computing resources and an easy-to-use developer interface.

Containers

VMception

Docker is everywhere, at least on HN. The very successful "leftover" from an all-in-one platform. Now a huge ecosystem — a cross-platform cloud standard. Automating provisioning. Do you want to manage containers the rest of your life? Go ahead download it, it's open source. Docker as a Service providers are here:

This (2015) will be the year that containers begin to be used heavily in production, as the missing pieces begin to appear. Docker itself, Mesosphere, and CoreOS, along with others are starting to provide the most key ingredient: orchestration. While this is important, we believe the bigger winners in this category will be those who abstract away containers entirely, so that app developers can focus on writing software instead of managing containers.

James Lindenbaum, Heavybit

Deployment helpers

Your code lives on GitHub or on Bitbucket. Now: how to move that over to the infrastructure? There is a service for that:

Epilogue

The higher the abstraction grade, the less you need to care about OS level stuff — which doesn't mean that abstraction layers are for noobs. Ship code now instead of configuring your architecture first. But higher abstraction gives you less options — deploy only this way.

Ever tried to run iOs on a Samsung? When combining raw infrastructure with third party services you risk some quirkinesses.

Never trust a system you didn't forge yourself. Reinvent the wheel, master complex technologies, have more choice, pay less and be responsible for everything yourself. Good luck with that.

You have many options. Choose something that fits your skills, business needs and preferences.

Similar topics, same blog

Share & discuss this: