Amazon Web Services, Microsoft Azure and the Google Cloud Platform are a great cloud hosting infrastructure services — IaaS. We use AWS ourselves: the fortrabbit hosting platform runs on top of AWS. Do you have the time to study for your "AWS degree"?

AWS provides 70+ services with gazillions of options. You have to invest time to understand and master it. Then you'll need a spreadsheet to calculate your costs. Some parts are managed, but eventually it's your responsibility to maintain and secure it.

fortrabbit is a simple to use and fully managed hosting platform. It's made for you — the smart developer: freelancer, startup or digital agency. We encourage you to use best development- and deployment-practices. Build your online business in PHP and host it here. Start small and scale on demand. Outgrow to AWS later on.

How we use AWS

This is not just reselling EC2 servers. The fortrabbit infrastructure is an advanced orchestration making use of multiple AWS services.

Topology of a typical App on fortrabbit


                                            ┌─────────────┐
                                            │ ┌─────────┐ │
                                            │ │   Web   │ │
                                            │ │frontend │ │    ┌─────────┐
              ┌─────────────────────────┐   │ │   EC2   │ │    │  MySQL  ├┐      ┌──────────┐
              │             ┌─────────┐ │   │ └─────────┘ ├────▶   RDS   │◀──────┤  Tunnel  │
              │           ┌─▶ Routing │ │   │ ┌─────────┐ │    └┬────────┘│      │   EC2    │
 ┌──────────┐ │ ┌───────┐ │ │   EC2   │ │   │ │   Web   │ │     └─────────┘      └─────▲────┘
 │ Internet ├─┼─┼▶ ELB  ├─┤ └─────────┘ ├───┼▶│frontend │ │                            │
 └──────────┘ │ └───────┘ │ ┌─────────┐ │   │ │   EC2   │ │    ┌─────────┐       ┌─────┴────┐
              │           │ │ Routing │ │   │ └─────────┘ │    │  Cache  ├┐      │  Remote  │
              │           └─▶   EC2   │ │   │ ┌─────────┐ ├────▶   EC2   ││      │  MySQL   │
              │             └─────────┘ │   │ │   Web   │ │    └┬────────┘│      └──────────┘
              └────────────┬────────────┘   │ │frontend │ │     └─────────┘
                           │         ┌──────│ │   EC2   │ │
                           │         │      │ └─────────┘ │
                      ┌────▼────┐    │      └──────▲──────┘
                      │   Log   │    │             │
                      │ parsing ◀────┘             │
                      │   EC2   │                  │
                      └────┬────┘                  │
                           │                 ┌─────┴─────┐
                           │                 │Deployment │
                      ┌────▼────┐            │    EC2    │
                      │ Logging │            └─────▲─────┘
                      │   EC2   │                  │
                      └────▲────┘             ┌────┴────┐
                           │                  │   Git   │           Other AWS services we use:
                      ┌────┴────┐             └─────────┘
                      │   SSH   │                                   CloudWatch, DynamoDB, KMS, S3, SQS
                      └─────────┘

Routing: Multiple clusters consisting of Amazon's ELB before two EC2 routing instances. Failure of a single routing instances does not affect the availability of any App.

Web frontend: EC2 instance running a shared, containerized Apache web server and per-App containerized PHP/FPM runtimes. Apps run in multiple containers on different EC2 instances at the same time, so that the failure of one EC2 instance does not affect the App's health.

MySQL database: Redundant RDS instances for shared or dedicated usage. Failure of the master triggers near-instant, automatic takeover of the slave. Slave failure just starts a new slave.

Caching: Multiple EC2 instances, each providing memcached servers. Plans run on two EC2 instances in parallel. If used in a redundant configuration (recommended) then failure of a single EC2 instances does not affect App health.

Convenient deployment: Code is deployed using a simple `git push` to an EC2 deployment instance. The following build process runs Composer and optional custom scripts. The resulting build package is deployed to all web frontends within milliseconds.

Centralized logging: Very easy to use SSH based live log output with multiple log sources, including Apache access logs and custom application logs. Internally this takes multiple EC2 instances parsing, storing and delegating the logs.

Features & responsibilities

Hosting providers are like apples and oranges. This table might help comparing:

aPaaS Shared hosting VPS Managed hosting IaaS
Sample providers fortrabbit,
Heroku,
platform.sh
GoDaddy,
1&1,
HostGator
DigitalOcean,
Linode,
Server4you
SysEleven,
Peer1,
Rackspace
AWS,
Windows Azure,
Google Cloud
Price level low - high very low - low low - high high - very high medium - very high
Complexity medium low medium medium very high
Developer features available n/a your responsibility on request your responsibility
Scaling limitless, simple downtime, limited n/a on request complex, limitless
Deployment workflows included n/a your responsibility your responsibility your responsibility
Operating system managed managed your responsibility managed your responsibility
Security managed low your responsibility managed your responsibility
Skill requirements developer developer developer & admin developer developer & admin & cloud architect

How to compare pricing

Purchasing AWS resources directly is cheaper than using fortrabbit. Or is it? We free lots of your time so you can concentrate on development. We preemptive cure the headaches you would have setting up and maintaining a sophisticated hosting setup. See our Specs page for a fully transparent overview and to compare the raw AWS costs with ours.