際際滷

際際滷Share a Scribd company logo
Heroku in Real Life
jimmy thrasher <jimmy@brownbirdlabs.com>
              @jimmythrasher
My Thesis
Heroku in Real Life
Stuff you know already
James-Thrashers-MacBook-Pro:frogs jjthrash$ git push heroku
Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 311 bytes, done.
Total 3 (delta 2), reused 0 (delta 0)

-----> Heroku receiving push
-----> Sinatra app detected
-----> Gem鍖le detected, running Bundler version 1.0.0
    All dependencies are satis鍖ed
    Compiled slug size is 1.6MB
-----> Launching.... done
    http://blooming-stream-31.heroku.com deployed to Heroku

To git@heroku.com:blooming-stream-31.git
  3d13669..54a688e master -> master
Stuff thats already set up
A Constrained Environment
Gratuitous and Pointless, but nonetheless required

                 DEMO
867-5309
(919) 555-5555
Heroku in Real Life
Rapid Development
A Constrained Environment
(Lazy) Control
Real Life:
Action Mailer
Real Life:
Asynchronous Jobs
Real Life:
Emergency Migration
Real Life:
Personal site
Real Life:
Bundler and RVM
Real Life:
hassle (R/O FS)
Real Life:
Support
Real Life in the Future?
  Amazon SNS/SQS
Real Life in the Future?
   Heterogeneous
    Deployment
questions?
   Attribution

       Huntington Library Japanese Rock Garden Wall 0075, Pamla J. Eisenberg: http://
        www.鍖ickr.com/photos/27398485@N08/3279507695/

       MG Gundam Exia, _Chag: http://www.鍖ickr.com/photos/_chag/3827822037/

       And yet another apple pie, Benny Mazur: http://www.鍖ickr.com/photos/benimoto/
        2109973292/

       The walled garden of Hever Castle in Kent, Anguskirk: http://www.鍖ickr.com/
        photos/anguskirk/3209898354/

       臓臓Caza Fantasmas..!!, Jaime el Andr辿s: http://www.鍖ickr.com/photos/heraclito/
        3561566486/

       Spring Peeper 1, Keith Robinson: http://www.鍖ickr.com/photos/kjrob/4509343567/

       Chainsaw Art (1), Chuck Walker: http://www.鍖ickr.com/photos/
        cwalker71/1083376338/

       One. Lazy. Cat., Jess Loughborough: http://www.鍖ickr.com/photos/

More Related Content

What's hot (8)

Mood board for story
Mood board for storyMood board for story
Mood board for story
Jake-hyatt123
Racesen
RacesenRacesen
Racesen
bostonredsox808
Assignment 1 (8)
Assignment 1 (8)Assignment 1 (8)
Assignment 1 (8)
Gillian Pitzer
Iron Chef and Hyper Docs
Iron Chef and Hyper DocsIron Chef and Hyper Docs
Iron Chef and Hyper Docs
Marlena Hebern
Im Not Happy Till You're Not Happy: Building better Information Security rela...
Im Not Happy Till You're Not Happy: Building better Information Security rela...Im Not Happy Till You're Not Happy: Building better Information Security rela...
Im Not Happy Till You're Not Happy: Building better Information Security rela...
Heather Diehl
Insiders itd
Insiders itdInsiders itd
Insiders itd
Imy Tyra
Cristina h poetry
Cristina h poetryCristina h poetry
Cristina h poetry
Ms Wilson
Ha3 task 1
Ha3 task 1Ha3 task 1
Ha3 task 1
Adambailey-eccles
Mood board for story
Mood board for storyMood board for story
Mood board for story
Jake-hyatt123
Iron Chef and Hyper Docs
Iron Chef and Hyper DocsIron Chef and Hyper Docs
Iron Chef and Hyper Docs
Marlena Hebern
Im Not Happy Till You're Not Happy: Building better Information Security rela...
Im Not Happy Till You're Not Happy: Building better Information Security rela...Im Not Happy Till You're Not Happy: Building better Information Security rela...
Im Not Happy Till You're Not Happy: Building better Information Security rela...
Heather Diehl
Insiders itd
Insiders itdInsiders itd
Insiders itd
Imy Tyra
Cristina h poetry
Cristina h poetryCristina h poetry
Cristina h poetry
Ms Wilson

Viewers also liked (7)

The Asynchronous Pattern (for beginners)
The Asynchronous Pattern (for beginners)The Asynchronous Pattern (for beginners)
The Asynchronous Pattern (for beginners)
Andrea Tino
Speedy perception trumps speedy receptionsmart asynchronous interactions - L...
Speedy perception trumps speedy receptionsmart asynchronous interactions - L...Speedy perception trumps speedy receptionsmart asynchronous interactions - L...
Speedy perception trumps speedy receptionsmart asynchronous interactions - L...
NLJUG
Git
GitGit
Git
jimmythrasher
Facilitator Training Manual
Facilitator Training ManualFacilitator Training Manual
Facilitator Training Manual
cdette21
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting Personal
Kirsty Hulse
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika AldabaLightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
ux singapore
Succession Losers: What Happens to Executives Passed Over for the CEO Job?
Succession Losers: What Happens to Executives Passed Over for the CEO Job? Succession Losers: What Happens to Executives Passed Over for the CEO Job?
Succession Losers: What Happens to Executives Passed Over for the CEO Job?
Stanford GSB Corporate Governance Research Initiative
The Asynchronous Pattern (for beginners)
The Asynchronous Pattern (for beginners)The Asynchronous Pattern (for beginners)
The Asynchronous Pattern (for beginners)
Andrea Tino
Speedy perception trumps speedy receptionsmart asynchronous interactions - L...
Speedy perception trumps speedy receptionsmart asynchronous interactions - L...Speedy perception trumps speedy receptionsmart asynchronous interactions - L...
Speedy perception trumps speedy receptionsmart asynchronous interactions - L...
NLJUG
Facilitator Training Manual
Facilitator Training ManualFacilitator Training Manual
Facilitator Training Manual
cdette21
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting Personal
Kirsty Hulse
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika AldabaLightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
ux singapore

Recently uploaded (20)

Tesla strategy for development in modern era.pptx
Tesla strategy for development in modern era.pptxTesla strategy for development in modern era.pptx
Tesla strategy for development in modern era.pptx
hibahassan160702
[QUICK TALK] "Coaching 101: How to Identify and Develop Your Leadership Quali...
[QUICK TALK] "Coaching 101: How to Identify and Develop Your Leadership Quali...[QUICK TALK] "Coaching 101: How to Identify and Develop Your Leadership Quali...
[QUICK TALK] "Coaching 101: How to Identify and Develop Your Leadership Quali...
Fwdays
Comprehensive Guide to Ansible Application Roles.pdf
Comprehensive Guide to Ansible Application Roles.pdfComprehensive Guide to Ansible Application Roles.pdf
Comprehensive Guide to Ansible Application Roles.pdf
RHCSA Guru
WSO2Con 2025 - How an Internal Developer Platform Lets Developers Focus on Code
WSO2Con 2025 - How an Internal Developer Platform Lets Developers Focus on CodeWSO2Con 2025 - How an Internal Developer Platform Lets Developers Focus on Code
WSO2Con 2025 - How an Internal Developer Platform Lets Developers Focus on Code
WSO2
DevOps 101 - DevOps Columbia 3-20-2025.pdf
DevOps 101 - DevOps Columbia 3-20-2025.pdfDevOps 101 - DevOps Columbia 3-20-2025.pdf
DevOps 101 - DevOps Columbia 3-20-2025.pdf
judy (fink) johnson
Benefits of Using Ultrasonic Level Transmitters for Control
Benefits of Using Ultrasonic Level Transmitters for ControlBenefits of Using Ultrasonic Level Transmitters for Control
Benefits of Using Ultrasonic Level Transmitters for Control
nikeson80
SOC as a Service 24/7 Threat Monitoring and Response
SOC as a Service  24/7 Threat Monitoring and ResponseSOC as a Service  24/7 Threat Monitoring and Response
SOC as a Service 24/7 Threat Monitoring and Response
Cybercops
Powering Energy and Utilities with Data Integration: Smarter Data, Smoother O...
Powering Energy and Utilities with Data Integration: Smarter Data, Smoother O...Powering Energy and Utilities with Data Integration: Smarter Data, Smoother O...
Powering Energy and Utilities with Data Integration: Smarter Data, Smoother O...
Safe Software
Unleash the Power of Symfony Messenger
Unleash the  Power  of Symfony MessengerUnleash the  Power  of Symfony Messenger
Unleash the Power of Symfony Messenger
Kris Wallsmith
"AI-Driven Automation for High-Performing Teams: Optimize Routine Tasks & Lea...
"AI-Driven Automation for High-Performing Teams: Optimize Routine Tasks & Lea..."AI-Driven Automation for High-Performing Teams: Optimize Routine Tasks & Lea...
"AI-Driven Automation for High-Performing Teams: Optimize Routine Tasks & Lea...
Fwdays
Multi Agent Systems | PPT | Presentation
Multi Agent Systems |  PPT | PresentationMulti Agent Systems |  PPT | Presentation
Multi Agent Systems | PPT | Presentation
Codiste
Slack Social Meetup Connect, Collaborate & Grow!.pptx
Slack Social Meetup Connect, Collaborate & Grow!.pptxSlack Social Meetup Connect, Collaborate & Grow!.pptx
Slack Social Meetup Connect, Collaborate & Grow!.pptx
SanjeetMishra29
CSUN 2025 - Personalization of Accessible Charts and Graphs.pptx
CSUN 2025 - Personalization of Accessible Charts and Graphs.pptxCSUN 2025 - Personalization of Accessible Charts and Graphs.pptx
CSUN 2025 - Personalization of Accessible Charts and Graphs.pptx
ystein Moseng
Emancipatory Information Retrieval (Invited Talk at UCC)
Emancipatory Information Retrieval (Invited Talk at UCC)Emancipatory Information Retrieval (Invited Talk at UCC)
Emancipatory Information Retrieval (Invited Talk at UCC)
Bhaskar Mitra
Software-Engineering-and-Best-Practices.
Software-Engineering-and-Best-Practices.Software-Engineering-and-Best-Practices.
Software-Engineering-and-Best-Practices.
oziasrondonc
20250314_Kit-Works Team Study_JAVA Record.pdf
20250314_Kit-Works Team Study_JAVA Record.pdf20250314_Kit-Works Team Study_JAVA Record.pdf
20250314_Kit-Works Team Study_JAVA Record.pdf
Wonjun Hwang
Best Crane Manufacturers in India Industry Leaders & Innovations.pdf
Best Crane Manufacturers in India Industry Leaders & Innovations.pdfBest Crane Manufacturers in India Industry Leaders & Innovations.pdf
Best Crane Manufacturers in India Industry Leaders & Innovations.pdf
Hercules Hoists
L13_ICT_Project_Publication_and_Statistics.ppt
L13_ICT_Project_Publication_and_Statistics.pptL13_ICT_Project_Publication_and_Statistics.ppt
L13_ICT_Project_Publication_and_Statistics.ppt
emilymharlruiz1
"Scaling Product Mindset: From Individual Ideas to Team Culture", Oksana Holu...
"Scaling Product Mindset: From Individual Ideas to Team Culture", Oksana Holu..."Scaling Product Mindset: From Individual Ideas to Team Culture", Oksana Holu...
"Scaling Product Mindset: From Individual Ideas to Team Culture", Oksana Holu...
Fwdays
Real World RAG: 5 common issues encountered when building Real World Applicat...
Real World RAG: 5 common issues encountered when building Real World Applicat...Real World RAG: 5 common issues encountered when building Real World Applicat...
Real World RAG: 5 common issues encountered when building Real World Applicat...
walterheck3
Tesla strategy for development in modern era.pptx
Tesla strategy for development in modern era.pptxTesla strategy for development in modern era.pptx
Tesla strategy for development in modern era.pptx
hibahassan160702
[QUICK TALK] "Coaching 101: How to Identify and Develop Your Leadership Quali...
[QUICK TALK] "Coaching 101: How to Identify and Develop Your Leadership Quali...[QUICK TALK] "Coaching 101: How to Identify and Develop Your Leadership Quali...
[QUICK TALK] "Coaching 101: How to Identify and Develop Your Leadership Quali...
Fwdays
Comprehensive Guide to Ansible Application Roles.pdf
Comprehensive Guide to Ansible Application Roles.pdfComprehensive Guide to Ansible Application Roles.pdf
Comprehensive Guide to Ansible Application Roles.pdf
RHCSA Guru
WSO2Con 2025 - How an Internal Developer Platform Lets Developers Focus on Code
WSO2Con 2025 - How an Internal Developer Platform Lets Developers Focus on CodeWSO2Con 2025 - How an Internal Developer Platform Lets Developers Focus on Code
WSO2Con 2025 - How an Internal Developer Platform Lets Developers Focus on Code
WSO2
DevOps 101 - DevOps Columbia 3-20-2025.pdf
DevOps 101 - DevOps Columbia 3-20-2025.pdfDevOps 101 - DevOps Columbia 3-20-2025.pdf
DevOps 101 - DevOps Columbia 3-20-2025.pdf
judy (fink) johnson
Benefits of Using Ultrasonic Level Transmitters for Control
Benefits of Using Ultrasonic Level Transmitters for ControlBenefits of Using Ultrasonic Level Transmitters for Control
Benefits of Using Ultrasonic Level Transmitters for Control
nikeson80
SOC as a Service 24/7 Threat Monitoring and Response
SOC as a Service  24/7 Threat Monitoring and ResponseSOC as a Service  24/7 Threat Monitoring and Response
SOC as a Service 24/7 Threat Monitoring and Response
Cybercops
Powering Energy and Utilities with Data Integration: Smarter Data, Smoother O...
Powering Energy and Utilities with Data Integration: Smarter Data, Smoother O...Powering Energy and Utilities with Data Integration: Smarter Data, Smoother O...
Powering Energy and Utilities with Data Integration: Smarter Data, Smoother O...
Safe Software
Unleash the Power of Symfony Messenger
Unleash the  Power  of Symfony MessengerUnleash the  Power  of Symfony Messenger
Unleash the Power of Symfony Messenger
Kris Wallsmith
"AI-Driven Automation for High-Performing Teams: Optimize Routine Tasks & Lea...
"AI-Driven Automation for High-Performing Teams: Optimize Routine Tasks & Lea..."AI-Driven Automation for High-Performing Teams: Optimize Routine Tasks & Lea...
"AI-Driven Automation for High-Performing Teams: Optimize Routine Tasks & Lea...
Fwdays
Multi Agent Systems | PPT | Presentation
Multi Agent Systems |  PPT | PresentationMulti Agent Systems |  PPT | Presentation
Multi Agent Systems | PPT | Presentation
Codiste
Slack Social Meetup Connect, Collaborate & Grow!.pptx
Slack Social Meetup Connect, Collaborate & Grow!.pptxSlack Social Meetup Connect, Collaborate & Grow!.pptx
Slack Social Meetup Connect, Collaborate & Grow!.pptx
SanjeetMishra29
CSUN 2025 - Personalization of Accessible Charts and Graphs.pptx
CSUN 2025 - Personalization of Accessible Charts and Graphs.pptxCSUN 2025 - Personalization of Accessible Charts and Graphs.pptx
CSUN 2025 - Personalization of Accessible Charts and Graphs.pptx
ystein Moseng
Emancipatory Information Retrieval (Invited Talk at UCC)
Emancipatory Information Retrieval (Invited Talk at UCC)Emancipatory Information Retrieval (Invited Talk at UCC)
Emancipatory Information Retrieval (Invited Talk at UCC)
Bhaskar Mitra
Software-Engineering-and-Best-Practices.
Software-Engineering-and-Best-Practices.Software-Engineering-and-Best-Practices.
Software-Engineering-and-Best-Practices.
oziasrondonc
20250314_Kit-Works Team Study_JAVA Record.pdf
20250314_Kit-Works Team Study_JAVA Record.pdf20250314_Kit-Works Team Study_JAVA Record.pdf
20250314_Kit-Works Team Study_JAVA Record.pdf
Wonjun Hwang
Best Crane Manufacturers in India Industry Leaders & Innovations.pdf
Best Crane Manufacturers in India Industry Leaders & Innovations.pdfBest Crane Manufacturers in India Industry Leaders & Innovations.pdf
Best Crane Manufacturers in India Industry Leaders & Innovations.pdf
Hercules Hoists
L13_ICT_Project_Publication_and_Statistics.ppt
L13_ICT_Project_Publication_and_Statistics.pptL13_ICT_Project_Publication_and_Statistics.ppt
L13_ICT_Project_Publication_and_Statistics.ppt
emilymharlruiz1
"Scaling Product Mindset: From Individual Ideas to Team Culture", Oksana Holu...
"Scaling Product Mindset: From Individual Ideas to Team Culture", Oksana Holu..."Scaling Product Mindset: From Individual Ideas to Team Culture", Oksana Holu...
"Scaling Product Mindset: From Individual Ideas to Team Culture", Oksana Holu...
Fwdays
Real World RAG: 5 common issues encountered when building Real World Applicat...
Real World RAG: 5 common issues encountered when building Real World Applicat...Real World RAG: 5 common issues encountered when building Real World Applicat...
Real World RAG: 5 common issues encountered when building Real World Applicat...
walterheck3

Heroku in Real Life

Editor's Notes

  • #2: I&amp;#x2019;m a software consultant from Efland Rails dev since last year, Ruby dev since the turn of the millenium Credibility: MBP, iPod Touch Not an employee of Heroku, just a fan Next: Thesis
  • #3: Code flows like the wind. If you don&amp;#x2019;t use Heroku A wall arises. &lt;poll&gt; Production code in Heroku? Live toy code in production? Have played with it/read about it? Haven&amp;#x2019;t heard of it? Next: What is Heroku?
  • #4: What is Heroku? Components version, a flyover. From a developer&amp;#x2019;s perspective.. Heroku architecture is interesting, but out of scope. Next: Stuff you know already
  • #5: Rack, Thin, Varnish, Linux, PGSQL, git Varnish will use Cache-Control headers and static content is automatically cached. Next: git workflow
  • #6: Next: Stuff that&amp;#x2019;s already set up
  • #7: Stack, Memcached, SendGrid, New Relic, /dev/ops Next: constrained environment
  • #8: 30s hard limit on request length, R/O FS, no SSH Next: Demo
  • #10: Just kidding
  • #11: Next: What is Heroku, take 2
  • #12: What is Heroku? Principles version. Next: Rapid Development
  • #13: Up and running in no time with a real URL. This is why it&amp;#x2019;s my GOTO service. Next: Constrained environment
  • #14: Very easy to migrate *from* Heroku, code becomes the focus (e.g. Rake tasks) Next: Lazy control
  • #15: Most decisions are late-binding. How many nodes? What kind of caching? Etc. Couple of iOS mgmt apps (Nezumi, Doppler). Next: Real Life
  • #16: Action Mailer. No code, configuration, just heroku addons:add sendgrid:free.
  • #17: SimpleGeo (3rd-party), long-running tasks Delayed::Job, Async Jobs controller, AsyncResults model
  • #18: Emergency Migration: Had a site where we lost access to the admin, and needed to get up and running again. Took 30 minutes. Could have been faster if I&amp;#x2019;d automated app setup.
  • #19: Bucketwise Simple personal site, deployed with free Heroku support. Gets shut down occasionally, but no problem.
  • #20: Bundler and RVM: They are the man. require &amp;#x2018;generator&amp;#x2019; (Ruby 1.8.6) Getting app set up and telling Heroku your dependencies become the same operation
  • #21: hassle: Using Compass, which renders CSS, but Heroku has a read only FS. hassle renders to tmp FS. Works locally, works on Heroku.
  • #22: Hint: Become a paying customer and use tickets. Freenode and email list covered by other devs.
  • #23: Long-polling is impossible in Heroku. This may be a simple way to enable it.
  • #24: Zynga deployment = known core of real machines, variable group of virtual servers to handle bursts