Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Peter van Hardenberg
committed
Jul 7, 2011
0 parents
commit 44ebdc6
Showing
11 changed files
with
245 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
bluecloth | ||
nokogiri | ||
showoff | ||
gli |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
require "showoff" | ||
run ShowOff.new |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
!SLIDE | ||
|
||
# Things That Worked | ||
|
||
!SLIDE | ||
|
||
# Outside-In Administration | ||
* simplifies deploys | ||
* easily inspected | ||
|
||
!SLIDE | ||
|
||
# Simple Instances | ||
* off the shelf packages | ||
* predictable behaviour | ||
* low rate of change | ||
|
||
!SLIDE | ||
|
||
# Open Questions | ||
|
||
!SLIDE | ||
|
||
# Cloud computing resource suitability | ||
* IO performance | ||
* Uptime concerns | ||
|
||
!SLIDE | ||
|
||
# |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
!SLIDE | ||
|
||
# PostgreSQL, Web Apps, and EC2 | ||
|
||
!SLIDE bullets incremental | ||
|
||
# Running 100,000 Apps At Once | ||
|
||
* 2000 free databases per server | ||
* plus dedicated databases | ||
|
||
!SLIDE bullets incremental | ||
|
||
# EC2 | ||
|
||
* servers provisioned on demand | ||
* from 300mb of RAM to 68gb of RAM | ||
* sub-ms latency within EC2 zone | ||
|
||
!SLIDE bullets incremental | ||
|
||
# IO Performance on EBS | ||
|
||
* Not great | ||
* 8-volume mdadm raid | ||
* lvm2 on top | ||
* GNBD | ||
* see: http://orion.heroku.com/past/2009/7/29/io_performance_on_ebs/ | ||
|
||
!SLIDE bullets incremental | ||
|
||
# Multi-tenant | ||
|
||
* Tried per-user schemas, not secure enough | ||
* Shared cluster allows high density | ||
* Shared cluster makes logging and introspection hard | ||
|
||
!SLIDE bullets incremental | ||
|
||
# Dedicated | ||
|
||
* challenging to monitor performance | ||
* constant monitoring | ||
* regular backups | ||
* secured ingress | ||
|
||
!SLIDE | ||
|
||
# Interesting Questions | ||
|
||
!SLIDE bullets incremental | ||
|
||
# What is my responsibility? | ||
|
||
* You create indexes... | ||
* I pick filesystems... | ||
* but I get paged at 3AM when you become nonresponsive. | ||
|
||
!SLIDE bullets incremental | ||
|
||
# How can I put more tools in your hands? | ||
|
||
* Fewer SIGHUP context GUC would be nice | ||
* Particularly logging | ||
* Host monitoring tools | ||
* CPU, IO, free memory, etc. | ||
* Requests welcome! | ||
|
||
!SLIDE | ||
|
||
# FIN | ||
# (demos!) | ||
# pvh@heroku.com | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
!SLIDE | ||
# PostgreSQL-in-the-Cloud # | ||
## How to Run 97,283(ish) Ruby Apps At Once ## | ||
|
||
!SLIDE | ||
## Peter van Hardenberg ## | ||
### pvh@pvh.ca ### | ||
### Tech Lead, Department of Data ### | ||
## Heroku ## | ||
|
||
!SLIDE bullets incremental | ||
# Heroku # | ||
|
||
* Ruby host | ||
* PostgreSQL since day one | ||
* Local to SF | ||
* PaaS | ||
|
||
!SLIDE bullets incremental | ||
# PostgreSQL-in-the-Cloud # | ||
|
||
* The Dejargonizer | ||
* Cloud Service Architecture 101 | ||
* Running PostgreSQL on EC2 | ||
* Problems Outstanding | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
!SLIDE | ||
|
||
# Cloud Jargon Demystified | ||
|
||
!SLIDE bullets incremental | ||
|
||
# Cloud | ||
|
||
* Someone else's computer | ||
* Usually virtualized resources | ||
* Available on demand | ||
* Pay as you go | ||
|
||
!SLIDE bullets incremental | ||
|
||
# *-as-a-service | ||
|
||
* Available on demand | ||
* Pay as you go | ||
* Somebody Else's Problem | ||
|
||
!SLIDE bullets incremental | ||
|
||
# Ruby-as-a-service | ||
|
||
* Read-only filesystem ... | ||
* ... enforces scalability | ||
* Wide array off addons... | ||
* ... rapid prototyping | ||
|
||
!SLIDE bullets incremental | ||
|
||
# PostgreSQL-as-a-service | ||
|
||
* No superuser... | ||
* ... enables managed backups and monitoring | ||
* Instant* provisioning | ||
* Convenient tooling | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
!SLIDE | ||
# Cloud Service Architecture | ||
|
||
!SLIDE bullets incremental | ||
|
||
# Cloud Computers | ||
|
||
* Computers are free... | ||
* ... but running them is expensive. | ||
* You can have it now... | ||
* ... but it may disappear. | ||
|
||
!SLIDE | ||
|
||
# Computer = Transistor | ||
|
||
!SLIDE center | ||
|
||
<img height="500" src="/image/platform/computer.jpg"/> | ||
|
||
!SLIDE | ||
|
||
# = | ||
|
||
!SLIDE center | ||
|
||
<img height="500" src="/image/platform/transistor.jpg"/> | ||
|
||
!SLIDE bullets incremental | ||
|
||
# Whaaa? | ||
|
||
* Don't try and fix a transistor. | ||
* If one transistor fails, throw it away. | ||
* If several transistors fail, fix the supply process. | ||
|
||
!SLIDE bullets incremental | ||
|
||
# Treat Servers like Transistors | ||
|
||
* Use a reliable method for creating them | ||
* Keep them simple | ||
* Replace them if something goes wrong | ||
|
||
!SLIDE bullets incremental | ||
|
||
# Deploys are Hard | ||
|
||
* O(n) worse than O(1) | ||
* Well understood, minimally unique servers | ||
* Heroku app for central control | ||
* Outside-in management of servers | ||
* None* of our code on the server | ||
|
||
!SLIDE | ||
|
||
# App Architecture | ||
|
||
<img height="500" src="/image/platform/architecture.png"/> | ||
|
||
|
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
{ "name": "Postgres in the Cloud", | ||
|
||
"sections": [ | ||
{"section":"intro"}, | ||
{"section":"jargon"}, | ||
{"section":"platform"}, | ||
{"section":"ec2"} | ||
]} |