SlideShare une entreprise Scribd logo
1  sur  24
Heroku in Real Life
jimmy thrasher <jimmy@brownbirdlabs.com>
              @jimmythrasher
My Thesis
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
-----> Gemfile detected, running Bundler version 1.0.0
    All dependencies are satisfied
    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 that’s already set up
A Constrained Environment
Gratuitous and Pointless, but nonetheless required

                 DEMO
867-5309
(919) 555-5555
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.flickr.com/photos/27398485@N08/3279507695/

    •   MG Gundam Exia, _Chag: http://www.flickr.com/photos/_chag/3827822037/

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

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

    •   ¡¡Caza Fantasmas..!!, Jaime el Andrés: http://www.flickr.com/photos/heraclito/
        3561566486/

    •   Spring Peeper 1, Keith Robinson: http://www.flickr.com/photos/kjrob/4509343567/

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

    •   One. Lazy. Cat., Jess Loughborough: http://www.flickr.com/photos/

Contenu connexe

Tendances (8)

Mood board for story
Mood board for storyMood board for story
Mood board for story
 
Racesen
RacesenRacesen
Racesen
 
Assignment 1 (8)
Assignment 1 (8)Assignment 1 (8)
Assignment 1 (8)
 
Iron Chef and Hyper Docs
Iron Chef and Hyper DocsIron Chef and Hyper Docs
Iron Chef and Hyper Docs
 
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...
 
Insiders itd
Insiders itdInsiders itd
Insiders itd
 
Cristina h poetry
Cristina h poetryCristina h poetry
Cristina h poetry
 
Ha3 task 1
Ha3 task 1Ha3 task 1
Ha3 task 1
 

En vedette

En vedette (7)

The Asynchronous Pattern (for beginners)
The Asynchronous Pattern (for beginners)The Asynchronous Pattern (for beginners)
The Asynchronous Pattern (for beginners)
 
Speedy perception trumps speedy reception–smart asynchronous interactions - L...
Speedy perception trumps speedy reception–smart asynchronous interactions - L...Speedy perception trumps speedy reception–smart asynchronous interactions - L...
Speedy perception trumps speedy reception–smart asynchronous interactions - L...
 
Git
GitGit
Git
 
Facilitator Training Manual
Facilitator Training ManualFacilitator Training Manual
Facilitator Training Manual
 
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting Personal
 
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
 
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?
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Dernier (20)

A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 

Heroku in Real Life

Notes de l'éditeur

  1. 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
  2. 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?
  3. 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
  4. Rack, Thin, Varnish, Linux, PGSQL, git Varnish will use Cache-Control headers and static content is automatically cached. Next: git workflow
  5. Next: Stuff that&amp;#x2019;s already set up
  6. Stack, Memcached, SendGrid, New Relic, /dev/ops Next: constrained environment
  7. 30s hard limit on request length, R/O FS, no SSH Next: Demo
  8. Just kidding
  9. Next: What is Heroku, take 2
  10. What is Heroku? Principles version. Next: Rapid Development
  11. Up and running in no time with a real URL. This is why it&amp;#x2019;s my GOTO service. Next: Constrained environment
  12. Very easy to migrate *from* Heroku, code becomes the focus (e.g. Rake tasks) Next: Lazy control
  13. Most decisions are late-binding. How many nodes? What kind of caching? Etc. Couple of iOS mgmt apps (Nezumi, Doppler). Next: Real Life
  14. Action Mailer. No code, configuration, just heroku addons:add sendgrid:free.
  15. SimpleGeo (3rd-party), long-running tasks Delayed::Job, Async Jobs controller, AsyncResults model
  16. 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.
  17. Bucketwise Simple personal site, deployed with free Heroku support. Gets shut down occasionally, but no problem.
  18. 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
  19. hassle: Using Compass, which renders CSS, but Heroku has a read only FS. hassle renders to tmp FS. Works locally, works on Heroku.
  20. Hint: Become a paying customer and use tickets. Freenode and email list covered by other devs.
  21. Long-polling is impossible in Heroku. This may be a simple way to enable it.
  22. Zynga deployment = known core of real machines, variable group of virtual servers to handle bursts