SlideShare a Scribd company logo
1 of 32
Download to read offline
Developer’s Meetup #8
   at Tokyo, Japan
                        □◇○
                         Heroku Update
                             Ayumu Aizawa
                                    ayumin
                        Developer Marketing, Heroku, Inc.
                                  4th Apr, 2013
『HerokuではじめるRailsプログラミング入門』
     www.amazon.co.jp/dp/4797371838
Safe harbor

Safe harbor statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain forward-looking
statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions
proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-
looking statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any
projections of subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of
management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or
technology developments and customer contracts or use of our services.

The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new
functionality for our service, our new business model, our past operating losses, possible fluctuations in our operating results and
rate of growth, interruptions or delays in our Web hosting, breach of our security measures, risks associated with possible mergers
and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and
motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited
history reselling non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on
potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-K for the
most recent fiscal quarter ended July 31, 2011. This document and others are available on the SEC Filings section of the Investor
Information section of our Web site.

Any unreleased services or features referenced in this or other press releases or public statements are not currently available and
may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon
features that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-
looking statements.
Heroku Postgres
Postgres 9.2
            now default
heroku addons:add heroku-postgresql:dev
            --version=9.2
New features
          Index-only scan
 Streaming replication improvement
           JSON datatype
             Range Type
http://wiki.postgresql.org/wiki/What's_new_in_PostgreSQL_9.2
Double Memory
2X Dyno available (beta)
                        heroku ps:resize web=2X
                    https://devcenter.heroku.com/articles/dyno-size



- vertical scale approach
- able to deploy more big Apps (e.g. Java)
- able to run more # of thread (e.g. unicorn, Puma)
Java heap size



$ cat Procfile
web: java -Xmx1024m -cp target/classes:target/dependency/* HelloWorld
heroku beta program
   beta.heroku.com
Identity
Heroku OAuth
  (experimental)
OAuth Specification
OAuth1.0 - RFC5840 / OAuth2.0 - RFC 6749
Create OAuthClient
                  note: You can NOT create OAuthClient yet, this is under development



$ curl -i -n -X POST 
> -d "client[name]=oauth-sample&client[redirect_uri]=http://localhost:5000/
auth/heroku/callback" 
> https://api.heroku.com/oauth/clients
HTTP/1.1 201 Created
...
{
   "id":"cafaa8bcbd7a900023bfb70d",
   "name":"oauth-sample",
   "description":null,
   "redirect_uri":"http://localhost:5000/auth/heroku/callback",
   "secret":"368b70ff11389ebb73634c8b5860827a4a9dc10fc6db0e05",
   "trusted":false
}
heroku-bouncer
   heroku/heroku-bouncer
※bouncer : 用心棒
Consumer App

$ cat .env                     $ cat config.ru
HEROKU_OAUTH_ID=cafaa8bc...    require 'heroku/bouncer'
HEROKU_OAUTH_SECRET=368b7...   require './app'

                               use Heroku::Bouncer, expose_token: true
$ cat Gemfile                   run App
source :rubygems
gem 'heroku-bouncer'
gem 'heroku-api'
gem 'sinatra'                  $ cat Procfile
gem 'thin'                     web: bundle exec thin start -p $PORT
request.env

$ cat app.rb
require 'heroku-api'
class App < Sinatra::Base
 get '/' do
  api = Heroku::API.new(:api_key => request.env["bouncer.token"])
  apps = api.get_apps.body
  “You have #{apps.size} app(s).”
 end
end
ayumin-oauth-sample.com

  bit.ly/10vn3kY
ayumin-oauth-sample.com
ayumin/heroku-oauth-sample
Conclusion




  Heroku Postgres came more better !
2X Dyno improves to apps performance !!
   Heroku id becomes more social !!!
Conclusion(cont.)




Follow @herokujp on twitter!
Like! facebook.com/herokujp!
   Buy Heroku book now!
Thank you!




 www.heroku.com

More Related Content

Similar to Heroku Update

Visualforce: Using ActionFunction vs. RemoteAction
Visualforce: Using ActionFunction vs. RemoteActionVisualforce: Using ActionFunction vs. RemoteAction
Visualforce: Using ActionFunction vs. RemoteAction
Salesforce Developers
 
Java Tech & Tools | Deploying Java & Play Framework Apps to the Cloud | Sande...
Java Tech & Tools | Deploying Java & Play Framework Apps to the Cloud | Sande...Java Tech & Tools | Deploying Java & Play Framework Apps to the Cloud | Sande...
Java Tech & Tools | Deploying Java & Play Framework Apps to the Cloud | Sande...
JAX London
 
Heroku for-team-collaboration
Heroku for-team-collaborationHeroku for-team-collaboration
Heroku for-team-collaboration
John Stevenson
 
Spring '14 Release Developer Preview Webinar
Spring '14 Release Developer Preview WebinarSpring '14 Release Developer Preview Webinar
Spring '14 Release Developer Preview Webinar
Salesforce Developers
 

Similar to Heroku Update (20)

Heroku
Heroku Heroku
Heroku
 
Introduction to Heroku
Introduction to HerokuIntroduction to Heroku
Introduction to Heroku
 
Visualforce: Using ActionFunction vs. RemoteAction
Visualforce: Using ActionFunction vs. RemoteActionVisualforce: Using ActionFunction vs. RemoteAction
Visualforce: Using ActionFunction vs. RemoteAction
 
Java Tech & Tools | Deploying Java & Play Framework Apps to the Cloud | Sande...
Java Tech & Tools | Deploying Java & Play Framework Apps to the Cloud | Sande...Java Tech & Tools | Deploying Java & Play Framework Apps to the Cloud | Sande...
Java Tech & Tools | Deploying Java & Play Framework Apps to the Cloud | Sande...
 
Heroku Introduction
Heroku IntroductionHeroku Introduction
Heroku Introduction
 
Heroku for team collaboration
Heroku for team collaborationHeroku for team collaboration
Heroku for team collaboration
 
Heroku for-team-collaboration
Heroku for-team-collaborationHeroku for-team-collaboration
Heroku for-team-collaboration
 
Using Python on Heroku and Force.com Canvas to Enhance Salesforce.com
Using Python on Heroku and Force.com Canvas to Enhance Salesforce.comUsing Python on Heroku and Force.com Canvas to Enhance Salesforce.com
Using Python on Heroku and Force.com Canvas to Enhance Salesforce.com
 
Developing Offline Mobile Apps with Salesforce Mobile SDK SmartStore
Developing Offline Mobile Apps with Salesforce Mobile SDK SmartStoreDeveloping Offline Mobile Apps with Salesforce Mobile SDK SmartStore
Developing Offline Mobile Apps with Salesforce Mobile SDK SmartStore
 
Salesforce platform session 2
 Salesforce platform session 2 Salesforce platform session 2
Salesforce platform session 2
 
Introduction to Heroku
Introduction to HerokuIntroduction to Heroku
Introduction to Heroku
 
Heroku in Japan
Heroku in JapanHeroku in Japan
Heroku in Japan
 
Spring '14 Release Developer Preview Webinar
Spring '14 Release Developer Preview WebinarSpring '14 Release Developer Preview Webinar
Spring '14 Release Developer Preview Webinar
 
Hands-on Workshop: Intermediate Development with Heroku and Force.com
Hands-on Workshop: Intermediate Development with Heroku and Force.comHands-on Workshop: Intermediate Development with Heroku and Force.com
Hands-on Workshop: Intermediate Development with Heroku and Force.com
 
Making External Web Pages Interact With Visualforce
Making External Web Pages Interact With VisualforceMaking External Web Pages Interact With Visualforce
Making External Web Pages Interact With Visualforce
 
Lightning Component - Components, Actions and Events
Lightning Component - Components, Actions and EventsLightning Component - Components, Actions and Events
Lightning Component - Components, Actions and Events
 
How Force.com developers do more in less time
How Force.com developers do more in less timeHow Force.com developers do more in less time
How Force.com developers do more in less time
 
Dreamforce 13 developer session: Introduction to Heroku
Dreamforce 13 developer session: Introduction to HerokuDreamforce 13 developer session: Introduction to Heroku
Dreamforce 13 developer session: Introduction to Heroku
 
Best Practices for Creating Scalable Apps with Heroku
Best Practices for Creating Scalable Apps with HerokuBest Practices for Creating Scalable Apps with Heroku
Best Practices for Creating Scalable Apps with Heroku
 
JavaScript Integration with Visualforce
JavaScript Integration with VisualforceJavaScript Integration with Visualforce
JavaScript Integration with Visualforce
 

More from Ayumu Aizawa

PaaSに適したアプリケーション設計 がもたらすメリット
PaaSに適したアプリケーション設計がもたらすメリットPaaSに適したアプリケーション設計がもたらすメリット
PaaSに適したアプリケーション設計 がもたらすメリット
Ayumu Aizawa
 
Heroku - Forget Servers!!
Heroku - Forget Servers!!Heroku - Forget Servers!!
Heroku - Forget Servers!!
Ayumu Aizawa
 
Heroku Getting Started
Heroku Getting StartedHeroku Getting Started
Heroku Getting Started
Ayumu Aizawa
 
カスタムアプリケーションプラットフォーム Salesforce Heroku ~ ソーシャルアプリケーションを支える技術 ~
カスタムアプリケーションプラットフォーム Salesforce Heroku~ ソーシャルアプリケーションを支える技術 ~カスタムアプリケーションプラットフォーム Salesforce Heroku~ ソーシャルアプリケーションを支える技術 ~
カスタムアプリケーションプラットフォーム Salesforce Heroku ~ ソーシャルアプリケーションを支える技術 ~
Ayumu Aizawa
 
(Ruby + Agile) x Cloud = Like!
(Ruby + Agile) x Cloud = Like!(Ruby + Agile) x Cloud = Like!
(Ruby + Agile) x Cloud = Like!
Ayumu Aizawa
 
Herokuのご紹介
Herokuのご紹介Herokuのご紹介
Herokuのご紹介
Ayumu Aizawa
 
SIerのなかのRubyistが書くべき成果物の具体例
SIerのなかのRubyistが書くべき成果物の具体例SIerのなかのRubyistが書くべき成果物の具体例
SIerのなかのRubyistが書くべき成果物の具体例
Ayumu Aizawa
 
Issues of Rubyists
Issues of RubyistsIssues of Rubyists
Issues of Rubyists
Ayumu Aizawa
 
もしRubyistがドラッガーの『マネジメント』を読んだら
もしRubyistがドラッガーの『マネジメント』を読んだらもしRubyistがドラッガーの『マネジメント』を読んだら
もしRubyistがドラッガーの『マネジメント』を読んだら
Ayumu Aizawa
 

More from Ayumu Aizawa (20)

Introducing Fn Project
Introducing Fn ProjectIntroducing Fn Project
Introducing Fn Project
 
Heroku HTTP API Design Guide
Heroku HTTP API Design GuideHeroku HTTP API Design Guide
Heroku HTTP API Design Guide
 
PaaSに適したアプリケーション設計 がもたらすメリット
PaaSに適したアプリケーション設計がもたらすメリットPaaSに適したアプリケーション設計がもたらすメリット
PaaSに適したアプリケーション設計 がもたらすメリット
 
Heroku
HerokuHeroku
Heroku
 
Heroku Changelog in 2013
Heroku Changelog in 2013Heroku Changelog in 2013
Heroku Changelog in 2013
 
Connected Products
Connected ProductsConnected Products
Connected Products
 
Heroku - Forget Servers!!
Heroku - Forget Servers!!Heroku - Forget Servers!!
Heroku - Forget Servers!!
 
Heroku Getting Started
Heroku Getting StartedHeroku Getting Started
Heroku Getting Started
 
Heroku Postgres
Heroku PostgresHeroku Postgres
Heroku Postgres
 
Using Ruby2.0 on Heroku
Using Ruby2.0 on HerokuUsing Ruby2.0 on Heroku
Using Ruby2.0 on Heroku
 
Enterprise Heroku for Java
Enterprise Heroku for JavaEnterprise Heroku for Java
Enterprise Heroku for Java
 
カスタムアプリケーションプラットフォーム Salesforce Heroku ~ ソーシャルアプリケーションを支える技術 ~
カスタムアプリケーションプラットフォーム Salesforce Heroku~ ソーシャルアプリケーションを支える技術 ~カスタムアプリケーションプラットフォーム Salesforce Heroku~ ソーシャルアプリケーションを支える技術 ~
カスタムアプリケーションプラットフォーム Salesforce Heroku ~ ソーシャルアプリケーションを支える技術 ~
 
Herokuのご紹介
Herokuのご紹介Herokuのご紹介
Herokuのご紹介
 
(Ruby + Agile) x Cloud = Like!
(Ruby + Agile) x Cloud = Like!(Ruby + Agile) x Cloud = Like!
(Ruby + Agile) x Cloud = Like!
 
Herokuのご紹介
Herokuのご紹介Herokuのご紹介
Herokuのご紹介
 
Building scalablewebapps
Building scalablewebappsBuilding scalablewebapps
Building scalablewebapps
 
Ruby コミュニティの文化に学ぶエンタープライズシステム開発の処方箋
Ruby コミュニティの文化に学ぶエンタープライズシステム開発の処方箋Ruby コミュニティの文化に学ぶエンタープライズシステム開発の処方箋
Ruby コミュニティの文化に学ぶエンタープライズシステム開発の処方箋
 
SIerのなかのRubyistが書くべき成果物の具体例
SIerのなかのRubyistが書くべき成果物の具体例SIerのなかのRubyistが書くべき成果物の具体例
SIerのなかのRubyistが書くべき成果物の具体例
 
Issues of Rubyists
Issues of RubyistsIssues of Rubyists
Issues of Rubyists
 
もしRubyistがドラッガーの『マネジメント』を読んだら
もしRubyistがドラッガーの『マネジメント』を読んだらもしRubyistがドラッガーの『マネジメント』を読んだら
もしRubyistがドラッガーの『マネジメント』を読んだら
 

Recently uploaded

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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
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...
 
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
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
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
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

Heroku Update

  • 1. Developer’s Meetup #8 at Tokyo, Japan □◇○ Heroku Update Ayumu Aizawa ayumin Developer Marketing, Heroku, Inc. 4th Apr, 2013
  • 3. Safe harbor Safe harbor statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward- looking statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services. The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our service, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, risks associated with possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-K for the most recent fiscal quarter ended July 31, 2011. This document and others are available on the SEC Filings section of the Investor Information section of our Web site. Any unreleased services or features referenced in this or other press releases or public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward- looking statements.
  • 4.
  • 5.
  • 7. Postgres 9.2 now default heroku addons:add heroku-postgresql:dev --version=9.2
  • 8. New features Index-only scan Streaming replication improvement JSON datatype Range Type http://wiki.postgresql.org/wiki/What's_new_in_PostgreSQL_9.2
  • 9.
  • 11. 2X Dyno available (beta) heroku ps:resize web=2X https://devcenter.heroku.com/articles/dyno-size - vertical scale approach - able to deploy more big Apps (e.g. Java) - able to run more # of thread (e.g. unicorn, Puma)
  • 12.
  • 13. Java heap size $ cat Procfile web: java -Xmx1024m -cp target/classes:target/dependency/* HelloWorld
  • 14. heroku beta program beta.heroku.com
  • 15.
  • 17.
  • 18. Heroku OAuth (experimental)
  • 19. OAuth Specification OAuth1.0 - RFC5840 / OAuth2.0 - RFC 6749
  • 20. Create OAuthClient note: You can NOT create OAuthClient yet, this is under development $ curl -i -n -X POST > -d "client[name]=oauth-sample&client[redirect_uri]=http://localhost:5000/ auth/heroku/callback" > https://api.heroku.com/oauth/clients HTTP/1.1 201 Created ... { "id":"cafaa8bcbd7a900023bfb70d", "name":"oauth-sample", "description":null, "redirect_uri":"http://localhost:5000/auth/heroku/callback", "secret":"368b70ff11389ebb73634c8b5860827a4a9dc10fc6db0e05", "trusted":false }
  • 21. heroku-bouncer heroku/heroku-bouncer ※bouncer : 用心棒
  • 22. Consumer App $ cat .env $ cat config.ru HEROKU_OAUTH_ID=cafaa8bc... require 'heroku/bouncer' HEROKU_OAUTH_SECRET=368b7... require './app' use Heroku::Bouncer, expose_token: true $ cat Gemfile run App source :rubygems gem 'heroku-bouncer' gem 'heroku-api' gem 'sinatra' $ cat Procfile gem 'thin' web: bundle exec thin start -p $PORT
  • 23. request.env $ cat app.rb require 'heroku-api' class App < Sinatra::Base get '/' do api = Heroku::API.new(:api_key => request.env["bouncer.token"]) apps = api.get_apps.body “You have #{apps.size} app(s).” end end
  • 26.
  • 27.
  • 28.
  • 30. Conclusion Heroku Postgres came more better ! 2X Dyno improves to apps performance !! Heroku id becomes more social !!!
  • 31. Conclusion(cont.) Follow @herokujp on twitter! Like! facebook.com/herokujp! Buy Heroku book now!