SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
.




.




             Ruby Cloud Platform
               Service: Heroku
                         @yinhm

                          June 7, 2010




    .                             .
    @yinhm        Ruby PaaS: Heroku      1/18
.




             Ruby Platform as a Service
.




             • Heroku
             • EngineYard
             • Google App Engine (via JRuby)




    .                                         .
    @yinhm                    Ruby PaaS: Heroku   2/18
.




.




    .                        .
    @yinhm   Ruby PaaS: Heroku   3/18
.




             App
.




             You App Runs on Heroku




    .                                          .
    @yinhm                     Ruby PaaS: Heroku   4/18
.




             Deploy
.




             put git workflow, just git push




    .                                            .
    @yinhm                       Ruby PaaS: Heroku   5/18
.




             All through API
.




              $sudo gem install heroku
              $heroku create sushi # create

              $git push heroku master # deploy

              $heroku   domains:add sushi.com
              $heroku   rake db:migrate
              $heroku   db:push
              $heroku   addons:add memcached


    .                                         .
    @yinhm                    Ruby PaaS: Heroku   6/18
.




             Architecture
.




    .                                  .
    @yinhm             Ruby PaaS: Heroku   7/18
.




             Architecture
.




             • HTTP: nginx
             • Http Cache: Varnish
             • Routing Mash: (custom written, Erlang)
             • Dyno Grid: code compiled to Slug then deploy cross
               services, 1dyno = 1Mongrel
             • DB: PostgreSQL
             • Memcached




    .                                          .
    @yinhm                     Ruby PaaS: Heroku                    8/18
.




             Addons
.




             • Custom domain
             • Gem management
             • DB import/export
             • Cron
             • Background job
             • Backup: Bundles
             • MySQL: Amazon RDS
             • SSL
             • more...


    .                                           .
    @yinhm                      Ruby PaaS: Heroku   9/18
.




             Cutting edge tech
.




             • MongoDB
             • Node, private beta




    .                                          .
    @yinhm                     Ruby PaaS: Heroku   10/18
.




             Supported Frameworks
.




             • Rails 2.3.x, Rails 3
             • supports Rack
             • Rack-based: Sinatra, Merb, Ramaze, and Camping
             • ActiveRecord, DataMapper or Sequel




    .                                            .
    @yinhm                       Ruby PaaS: Heroku              11/18
.




             Create App on Heroku
.




             before create, you need:
               • git
               • sign up on heroku website
               • public key placed in /.ssh/




    .                                            .
    @yinhm                       Ruby PaaS: Heroku   12/18
.




             Example App
.



              .
              Twitter API Proxy
             ..
             r e q u i r e ' http '
             r e q u i r e ' reverse_proxy '

             use Rack : : ReverseProxy do
               # Forward the path /* to h t t p s : / / a p i . t w i t t e r . com/*
               r e v e r s e _ p r o x y '/ s e a r c h ' , ' h t t p : / / s e a r c h . t w i t t e r . com/ s e a r c h '
               r e v e r s e _ p r o x y ' / ' , ' h t t p s : / / a p i . t w i t t e r . com/ '
             end

             app = proc do | env |
               [ 200 , { ' Content−Type ' = ' t e x t / p l a i n ' } , "b" ]
                                           >
             end

             run app
             .
             Just released twiap as open source!


    .                                                                             .
    @yinhm                                                        Ruby PaaS: Heroku                                            13/18
.




             Example: deploy
.




             $ g i t c l o n e h t t p : / / g i t h u b . com/yinhm/ twiap

             $cd twiap

             $heroku c r e a t e
             C r e a t i n g glowing−water − 3 4 . . . done
             Created h t t p : / / glowing−water −34. heroku . com/ | g i t @ h e r o k u . com : glowing−water −34. g i t
             G i t remote heroku added

             $ g i t push heroku master
             $heroku open




    .                                                                     .
    @yinhm                                                Ruby PaaS: Heroku                                                  14/18
.




             Pros
.




             • No lock in, Heroku based on open-source mostly
             • Dead simple deployment
             • Easy scaling
             • 1 dynos for free!
             • Custom domain for free




    .                                              .
    @yinhm                         Ruby PaaS: Heroku            15/18
.




             Crons
.




             • 5M DB space limit
             • Need credit card to enable some free features
             • No public IP(could get blocked in china, you know the
               risk)




    .                                           .
    @yinhm                      Ruby PaaS: Heroku                      16/18
.




             References
.




             • http://heroku.com, Heroku
             • http://engineyard.com, EngineYard
             • http://code.google.com/appengine/, Google App
               Engine
             • http://code.google.com/p/appengine-jruby/,
               JRuby
             • http://github.com/yinhm/twiap, Twiap




    .                                        .
    @yinhm                   Ruby PaaS: Heroku                 17/18
.




             About
.




                     Created in A E using the beamer class, TeX Live and Emacs.
                                L X
                                 T


                     Published under the Creative Commons Attribution 3.0 License
                           http://creativecommons.org/licenses/by/3.0/

                                             by @yinhm
                                     http://yinhm.appspot.com


                                   Document version June 7, 2010




    .                                            .
    @yinhm                       Ruby PaaS: Heroku                                  18/18

Weitere ähnliche Inhalte

Andere mochten auch

C Types - Extending Python
C Types - Extending PythonC Types - Extending Python
C Types - Extending PythonPriyank Kapadia
 
Getting Started with Heroku
Getting Started with HerokuGetting Started with Heroku
Getting Started with HerokuLaunchAny
 
Lecture 3 basic syntax and semantics
Lecture 3  basic syntax and semanticsLecture 3  basic syntax and semantics
Lecture 3 basic syntax and semanticsalvin567
 
Integration at Scale: Enterprise Patterns with Heroku Connect
Integration at Scale: Enterprise Patterns with Heroku ConnectIntegration at Scale: Enterprise Patterns with Heroku Connect
Integration at Scale: Enterprise Patterns with Heroku ConnectSalesforce Developers
 
Learn a language : LISP
Learn a language : LISPLearn a language : LISP
Learn a language : LISPDevnology
 
Heroku webcastdeck+20130828
Heroku webcastdeck+20130828Heroku webcastdeck+20130828
Heroku webcastdeck+20130828Heroku
 
Heroku Connect: The New Way to Build Connected Customer Applications
Heroku Connect: The New Way to Build Connected Customer ApplicationsHeroku Connect: The New Way to Build Connected Customer Applications
Heroku Connect: The New Way to Build Connected Customer ApplicationsHeroku
 
Syntax and semantics
Syntax and semanticsSyntax and semantics
Syntax and semanticsRushdi Shams
 
Programming language design_concepts
Programming language design_conceptsProgramming language design_concepts
Programming language design_conceptsYuri Dantas
 
Introduction to python for Beginners
Introduction to python for Beginners Introduction to python for Beginners
Introduction to python for Beginners Sujith Kumar
 
Heroku Elevator Pitch Deck/DX Quick Pitch of Heroku to a Customer
Heroku Elevator Pitch Deck/DX Quick Pitch of Heroku to a CustomerHeroku Elevator Pitch Deck/DX Quick Pitch of Heroku to a Customer
Heroku Elevator Pitch Deck/DX Quick Pitch of Heroku to a CustomerSalesforce Partners
 
Introduction to Python
Introduction to Python Introduction to Python
Introduction to Python amiable_indian
 
Introduction to Firebase [Google I/O Extended Bangkok 2016]
Introduction to Firebase [Google I/O Extended Bangkok 2016]Introduction to Firebase [Google I/O Extended Bangkok 2016]
Introduction to Firebase [Google I/O Extended Bangkok 2016]Sittiphol Phanvilai
 

Andere mochten auch (20)

robotics ppt
robotics ppt robotics ppt
robotics ppt
 
Solution architecture Amazon web services
Solution architecture Amazon web servicesSolution architecture Amazon web services
Solution architecture Amazon web services
 
C Types - Extending Python
C Types - Extending PythonC Types - Extending Python
C Types - Extending Python
 
Cloudyn - Multi vendor Cloud management
Cloudyn - Multi vendor Cloud management Cloudyn - Multi vendor Cloud management
Cloudyn - Multi vendor Cloud management
 
Cloud Strategy Architecture for multi country deployment
Cloud Strategy Architecture for multi country deploymentCloud Strategy Architecture for multi country deployment
Cloud Strategy Architecture for multi country deployment
 
Python
Python Python
Python
 
Getting Started with Heroku
Getting Started with HerokuGetting Started with Heroku
Getting Started with Heroku
 
Lecture 3 basic syntax and semantics
Lecture 3  basic syntax and semanticsLecture 3  basic syntax and semantics
Lecture 3 basic syntax and semantics
 
Integration at Scale: Enterprise Patterns with Heroku Connect
Integration at Scale: Enterprise Patterns with Heroku ConnectIntegration at Scale: Enterprise Patterns with Heroku Connect
Integration at Scale: Enterprise Patterns with Heroku Connect
 
Learn a language : LISP
Learn a language : LISPLearn a language : LISP
Learn a language : LISP
 
Heroku webcastdeck+20130828
Heroku webcastdeck+20130828Heroku webcastdeck+20130828
Heroku webcastdeck+20130828
 
Heroku Connect: The New Way to Build Connected Customer Applications
Heroku Connect: The New Way to Build Connected Customer ApplicationsHeroku Connect: The New Way to Build Connected Customer Applications
Heroku Connect: The New Way to Build Connected Customer Applications
 
Syntax and semantics
Syntax and semanticsSyntax and semantics
Syntax and semantics
 
Heroku Compliation Deck
Heroku Compliation DeckHeroku Compliation Deck
Heroku Compliation Deck
 
Programming language design_concepts
Programming language design_conceptsProgramming language design_concepts
Programming language design_concepts
 
Introduction to python for Beginners
Introduction to python for Beginners Introduction to python for Beginners
Introduction to python for Beginners
 
Heroku Elevator Pitch Deck/DX Quick Pitch of Heroku to a Customer
Heroku Elevator Pitch Deck/DX Quick Pitch of Heroku to a CustomerHeroku Elevator Pitch Deck/DX Quick Pitch of Heroku to a Customer
Heroku Elevator Pitch Deck/DX Quick Pitch of Heroku to a Customer
 
Introduction to Python
Introduction to Python Introduction to Python
Introduction to Python
 
LISP: Introduction to lisp
LISP: Introduction to lispLISP: Introduction to lisp
LISP: Introduction to lisp
 
Introduction to Firebase [Google I/O Extended Bangkok 2016]
Introduction to Firebase [Google I/O Extended Bangkok 2016]Introduction to Firebase [Google I/O Extended Bangkok 2016]
Introduction to Firebase [Google I/O Extended Bangkok 2016]
 

Ähnlich wie Heroku

Sinatra Heroku You And You - Keynote Format
Sinatra Heroku You And You - Keynote FormatSinatra Heroku You And You - Keynote Format
Sinatra Heroku You And You - Keynote FormatAdam Lowe
 
Sinatra Heroku You And You - PDF Format
Sinatra Heroku You And You - PDF FormatSinatra Heroku You And You - PDF Format
Sinatra Heroku You And You - PDF FormatAdam Lowe
 
The Future of library dependency manageement of Ruby
The Future of library dependency manageement of RubyThe Future of library dependency manageement of Ruby
The Future of library dependency manageement of RubyHiroshi SHIBATA
 
Stop Reinventing The Wheel - The Ruby Standard Library
Stop Reinventing The Wheel - The Ruby Standard LibraryStop Reinventing The Wheel - The Ruby Standard Library
Stop Reinventing The Wheel - The Ruby Standard LibraryBrian Hogan
 
Zero to the Cloud with @NetflixOSS
Zero to the Cloud with @NetflixOSSZero to the Cloud with @NetflixOSS
Zero to the Cloud with @NetflixOSSMike McGarr
 
How to distribute Ruby to the world
How to distribute Ruby to the worldHow to distribute Ruby to the world
How to distribute Ruby to the worldHiroshi SHIBATA
 
EuroPython 2017 - How to make money with your Python open-source project
EuroPython 2017 - How to make money with your Python open-source projectEuroPython 2017 - How to make money with your Python open-source project
EuroPython 2017 - How to make money with your Python open-source projectMax Tepkeev
 
JRuby, Ruby, Rails and You on the Cloud
JRuby, Ruby, Rails and You on the CloudJRuby, Ruby, Rails and You on the Cloud
JRuby, Ruby, Rails and You on the CloudHiro Asari
 
Github - Down the Rabbit Hole
Github  - Down the Rabbit HoleGithub  - Down the Rabbit Hole
Github - Down the Rabbit HoleVagmi Mudumbai
 
MNSEC Conference 2023: Mining Bots
MNSEC Conference 2023: Mining BotsMNSEC Conference 2023: Mining Bots
MNSEC Conference 2023: Mining BotsAPNIC
 
How to distribute Ruby to the world
How to distribute Ruby to the worldHow to distribute Ruby to the world
How to distribute Ruby to the worldHiroshi SHIBATA
 
Node.js 기반 정적 페이지 블로그 엔진, 하루프레스
Node.js 기반 정적 페이지 블로그 엔진, 하루프레스Node.js 기반 정적 페이지 블로그 엔진, 하루프레스
Node.js 기반 정적 페이지 블로그 엔진, 하루프레스Rhio Kim
 
Monitoring Behavioral Driven Infrastructures mit Cucumber-Nagios by Mike Adolphs
Monitoring Behavioral Driven Infrastructures mit Cucumber-Nagios by Mike AdolphsMonitoring Behavioral Driven Infrastructures mit Cucumber-Nagios by Mike Adolphs
Monitoring Behavioral Driven Infrastructures mit Cucumber-Nagios by Mike AdolphsNETWAYS
 
Automated Releases to RubyGems.org using Travis-CI.org
Automated Releases to RubyGems.org using Travis-CI.orgAutomated Releases to RubyGems.org using Travis-CI.org
Automated Releases to RubyGems.org using Travis-CI.orgFrancis Luong
 
The Future of Dependency Management for Ruby
The Future of Dependency Management for RubyThe Future of Dependency Management for Ruby
The Future of Dependency Management for RubyHiroshi SHIBATA
 
Symfony2: Get your project started
Symfony2: Get your project startedSymfony2: Get your project started
Symfony2: Get your project startedRyan Weaver
 
Noseevich, petukhov no locked doors no windows barred. hacking open am infr...
Noseevich, petukhov   no locked doors no windows barred. hacking open am infr...Noseevich, petukhov   no locked doors no windows barred. hacking open am infr...
Noseevich, petukhov no locked doors no windows barred. hacking open am infr...DefconRussia
 
Gemification for Ruby 2.5/3.0
Gemification for Ruby 2.5/3.0Gemification for Ruby 2.5/3.0
Gemification for Ruby 2.5/3.0Hiroshi SHIBATA
 

Ähnlich wie Heroku (20)

What's new in RubyGems3
What's new in RubyGems3What's new in RubyGems3
What's new in RubyGems3
 
Sinatra Heroku You And You - Keynote Format
Sinatra Heroku You And You - Keynote FormatSinatra Heroku You And You - Keynote Format
Sinatra Heroku You And You - Keynote Format
 
Sinatra Heroku You And You - PDF Format
Sinatra Heroku You And You - PDF FormatSinatra Heroku You And You - PDF Format
Sinatra Heroku You And You - PDF Format
 
儲かるドキュメント
儲かるドキュメント儲かるドキュメント
儲かるドキュメント
 
The Future of library dependency manageement of Ruby
The Future of library dependency manageement of RubyThe Future of library dependency manageement of Ruby
The Future of library dependency manageement of Ruby
 
Stop Reinventing The Wheel - The Ruby Standard Library
Stop Reinventing The Wheel - The Ruby Standard LibraryStop Reinventing The Wheel - The Ruby Standard Library
Stop Reinventing The Wheel - The Ruby Standard Library
 
Zero to the Cloud with @NetflixOSS
Zero to the Cloud with @NetflixOSSZero to the Cloud with @NetflixOSS
Zero to the Cloud with @NetflixOSS
 
How to distribute Ruby to the world
How to distribute Ruby to the worldHow to distribute Ruby to the world
How to distribute Ruby to the world
 
EuroPython 2017 - How to make money with your Python open-source project
EuroPython 2017 - How to make money with your Python open-source projectEuroPython 2017 - How to make money with your Python open-source project
EuroPython 2017 - How to make money with your Python open-source project
 
JRuby, Ruby, Rails and You on the Cloud
JRuby, Ruby, Rails and You on the CloudJRuby, Ruby, Rails and You on the Cloud
JRuby, Ruby, Rails and You on the Cloud
 
Github - Down the Rabbit Hole
Github  - Down the Rabbit HoleGithub  - Down the Rabbit Hole
Github - Down the Rabbit Hole
 
MNSEC Conference 2023: Mining Bots
MNSEC Conference 2023: Mining BotsMNSEC Conference 2023: Mining Bots
MNSEC Conference 2023: Mining Bots
 
How to distribute Ruby to the world
How to distribute Ruby to the worldHow to distribute Ruby to the world
How to distribute Ruby to the world
 
Node.js 기반 정적 페이지 블로그 엔진, 하루프레스
Node.js 기반 정적 페이지 블로그 엔진, 하루프레스Node.js 기반 정적 페이지 블로그 엔진, 하루프레스
Node.js 기반 정적 페이지 블로그 엔진, 하루프레스
 
Monitoring Behavioral Driven Infrastructures mit Cucumber-Nagios by Mike Adolphs
Monitoring Behavioral Driven Infrastructures mit Cucumber-Nagios by Mike AdolphsMonitoring Behavioral Driven Infrastructures mit Cucumber-Nagios by Mike Adolphs
Monitoring Behavioral Driven Infrastructures mit Cucumber-Nagios by Mike Adolphs
 
Automated Releases to RubyGems.org using Travis-CI.org
Automated Releases to RubyGems.org using Travis-CI.orgAutomated Releases to RubyGems.org using Travis-CI.org
Automated Releases to RubyGems.org using Travis-CI.org
 
The Future of Dependency Management for Ruby
The Future of Dependency Management for RubyThe Future of Dependency Management for Ruby
The Future of Dependency Management for Ruby
 
Symfony2: Get your project started
Symfony2: Get your project startedSymfony2: Get your project started
Symfony2: Get your project started
 
Noseevich, petukhov no locked doors no windows barred. hacking open am infr...
Noseevich, petukhov   no locked doors no windows barred. hacking open am infr...Noseevich, petukhov   no locked doors no windows barred. hacking open am infr...
Noseevich, petukhov no locked doors no windows barred. hacking open am infr...
 
Gemification for Ruby 2.5/3.0
Gemification for Ruby 2.5/3.0Gemification for Ruby 2.5/3.0
Gemification for Ruby 2.5/3.0
 

Mehr von yinhm .

Dart intro
Dart introDart intro
Dart introyinhm .
 
Emacs入门
Emacs入门Emacs入门
Emacs入门yinhm .
 
Write a Google Closure Editor Plugin
Write a Google Closure Editor PluginWrite a Google Closure Editor Plugin
Write a Google Closure Editor Pluginyinhm .
 
git svn workflow
git svn workflowgit svn workflow
git svn workflowyinhm .
 
Ruby的类和对象模型
Ruby的类和对象模型Ruby的类和对象模型
Ruby的类和对象模型yinhm .
 

Mehr von yinhm . (6)

Dart intro
Dart introDart intro
Dart intro
 
Emacs入门
Emacs入门Emacs入门
Emacs入门
 
Write a Google Closure Editor Plugin
Write a Google Closure Editor PluginWrite a Google Closure Editor Plugin
Write a Google Closure Editor Plugin
 
git svn workflow
git svn workflowgit svn workflow
git svn workflow
 
Ruby的类和对象模型
Ruby的类和对象模型Ruby的类和对象模型
Ruby的类和对象模型
 
Raemon
RaemonRaemon
Raemon
 

Kürzlich hochgeladen

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 

Kürzlich hochgeladen (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

Heroku

  • 1. . . Ruby Cloud Platform Service: Heroku @yinhm June 7, 2010 . . @yinhm Ruby PaaS: Heroku 1/18
  • 2. . Ruby Platform as a Service . • Heroku • EngineYard • Google App Engine (via JRuby) . . @yinhm Ruby PaaS: Heroku 2/18
  • 3. . . . . @yinhm Ruby PaaS: Heroku 3/18
  • 4. . App . You App Runs on Heroku . . @yinhm Ruby PaaS: Heroku 4/18
  • 5. . Deploy . put git workflow, just git push . . @yinhm Ruby PaaS: Heroku 5/18
  • 6. . All through API . $sudo gem install heroku $heroku create sushi # create $git push heroku master # deploy $heroku domains:add sushi.com $heroku rake db:migrate $heroku db:push $heroku addons:add memcached . . @yinhm Ruby PaaS: Heroku 6/18
  • 7. . Architecture . . . @yinhm Ruby PaaS: Heroku 7/18
  • 8. . Architecture . • HTTP: nginx • Http Cache: Varnish • Routing Mash: (custom written, Erlang) • Dyno Grid: code compiled to Slug then deploy cross services, 1dyno = 1Mongrel • DB: PostgreSQL • Memcached . . @yinhm Ruby PaaS: Heroku 8/18
  • 9. . Addons . • Custom domain • Gem management • DB import/export • Cron • Background job • Backup: Bundles • MySQL: Amazon RDS • SSL • more... . . @yinhm Ruby PaaS: Heroku 9/18
  • 10. . Cutting edge tech . • MongoDB • Node, private beta . . @yinhm Ruby PaaS: Heroku 10/18
  • 11. . Supported Frameworks . • Rails 2.3.x, Rails 3 • supports Rack • Rack-based: Sinatra, Merb, Ramaze, and Camping • ActiveRecord, DataMapper or Sequel . . @yinhm Ruby PaaS: Heroku 11/18
  • 12. . Create App on Heroku . before create, you need: • git • sign up on heroku website • public key placed in /.ssh/ . . @yinhm Ruby PaaS: Heroku 12/18
  • 13. . Example App . . Twitter API Proxy .. r e q u i r e ' http ' r e q u i r e ' reverse_proxy ' use Rack : : ReverseProxy do # Forward the path /* to h t t p s : / / a p i . t w i t t e r . com/* r e v e r s e _ p r o x y '/ s e a r c h ' , ' h t t p : / / s e a r c h . t w i t t e r . com/ s e a r c h ' r e v e r s e _ p r o x y ' / ' , ' h t t p s : / / a p i . t w i t t e r . com/ ' end app = proc do | env | [ 200 , { ' Content−Type ' = ' t e x t / p l a i n ' } , "b" ] > end run app . Just released twiap as open source! . . @yinhm Ruby PaaS: Heroku 13/18
  • 14. . Example: deploy . $ g i t c l o n e h t t p : / / g i t h u b . com/yinhm/ twiap $cd twiap $heroku c r e a t e C r e a t i n g glowing−water − 3 4 . . . done Created h t t p : / / glowing−water −34. heroku . com/ | g i t @ h e r o k u . com : glowing−water −34. g i t G i t remote heroku added $ g i t push heroku master $heroku open . . @yinhm Ruby PaaS: Heroku 14/18
  • 15. . Pros . • No lock in, Heroku based on open-source mostly • Dead simple deployment • Easy scaling • 1 dynos for free! • Custom domain for free . . @yinhm Ruby PaaS: Heroku 15/18
  • 16. . Crons . • 5M DB space limit • Need credit card to enable some free features • No public IP(could get blocked in china, you know the risk) . . @yinhm Ruby PaaS: Heroku 16/18
  • 17. . References . • http://heroku.com, Heroku • http://engineyard.com, EngineYard • http://code.google.com/appengine/, Google App Engine • http://code.google.com/p/appengine-jruby/, JRuby • http://github.com/yinhm/twiap, Twiap . . @yinhm Ruby PaaS: Heroku 17/18
  • 18. . About . Created in A E using the beamer class, TeX Live and Emacs. L X T Published under the Creative Commons Attribution 3.0 License http://creativecommons.org/licenses/by/3.0/ by @yinhm http://yinhm.appspot.com Document version June 7, 2010 . . @yinhm Ruby PaaS: Heroku 18/18