Production Infrastructure
Spectrum of options (with lots of overlap):
- Platform as a Service Cloud (eg, nodejitsu)
- Infrastructure as a Service (eg, Joyent, AWS)
- VPS (eg, Linode)
- Dedicated off-site servers (eg, Peak 10)
- Dedicated on-site servers (eg, your IT staff)
Platform as a service
heroku, nodejitsu
- Setup: easy
- Continuous integration: easy
-
Time spent in devops: low
- Portability: average
-
Control: low
-
Cost premium: high
Good for startups, small teams, small companies, very lean and agile tech companies with limited devops budgets. Leverages proprietary deployment systems and abstract infrastructure ideas ("dynos," "drones").
infrastructure as a service
Joyent, AWS
- Setup: easy
-
- Continuous integration: medium
-
Time spent in devops: medium
- Portability: average
-
Control: medium
- Cost premium: medium
Good for companies without lots of internal IT resources, servers, etc. Leverages machine images / profiles and configuration tools like Chef and Puppet alongside services like block storage, CDN, and abstract databases.
vps
Linode, lots of others
-
- Setup: medium
- Continuous integration: medium
-
Time spent in devops: medium
- Portability: high
-
Control: high
- Cost premium: low
Similar to infrastructure-as-a-service, but with fewer "out of the box" configurations and a bare-bones approach. Leverages custom images, build scripts, and tools like Chef and Puppet.
dedicated servers
Internal, external
-
- Setup: high
- Continuous integration: medium
-
Time spent in devops: high
- Portability: high
-
Control: high
- Cost premium: low
Traditional infrastructure; best for large teams with realistic IT budgets and dedicated operations personel. Leverages custom build scripts and images, build tools like Chef and Puppet, as well as general OS and ops expertise.