SlideShare uma empresa Scribd logo
1 de 24
Baixar para ler offline
Building Java Apps on
Heroku and Force.com

James Ward, Heroku
@_JamesWard
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 product or service availability, 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, new products and services, 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, the outcome of
 intellectual property and other litigation, 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-Q for the most recent fiscal quarter ended July 31, 2012. This
 documents and others containing important disclosures 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 presentations, 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.
Why Heroku?
YOUR APP
             Cloud Machines
   Logging        Deployment        Indexing

  Messaging         Scaling     Security Updates


  Monitoring       Backups      Disaster Recovery


             Virtual Machines
 File Servers     Web Servers     IP Assignmet


Load Balancers      Routing         Firewall


            Physical Machines
    Power          Network       Physical Space
Let's Deploy Some Apps!
heroku.com/java
2,308,940+ Apps Running on Heroku
Heroku Terminology

                                  Process                      Dyno
                                                 0..*

                                       0..*
                                                              Env Var
                                                 0..*

                                                     0..*
    Owner                          App                        Add-on
                    0..*

                                                 *..*
                                      1..1
                                                            Collaborator
                           *..1
                                  git repo    *..1
    Load Balancer                                             Logplex
Zero-Error Deployment
User              Slug Compiler               Buildpack             Dyno Manifold           Load Balancer

   git push heroku master
                              create slug
                                                    mvn package
                                  slug file

                                                    shutdown existing dynos
                                                                                pause routing

                                                     deploy slug on dynos
                                                                              start processes



                                                                                resume routing
Unlimited Real-Time   Granular Security &    Programmable       Real-Time Workflow    Programmable
                   Customization            Sharing            Cloud Logic          & Approvals        User Interface


cloud platform

                 Real-Time Mobile                            Real-Time Content
                                                                                                       850+ Integrated
                   Deployment          Real-Time Websites         Library        Real-Time Analytics
                                                                                                        Applications
eclipse-plugin.herokuapp.com
Environment Variables

 • Zero intervention deployment
 • Running systems only differ through env vars
 • Add-ons own their config
OAuth Setup

 • Create Remote Access Application for App
 • Set:
    • SFDC_OAUTH_CLIENT_ID
    • SFDC_OAUTH_CLIENT_SECRET
No Proprietary APIs. BYOC.




<dependency>
    <groupId>com.github.jsimone</groupId>
    <artifactId>webapp-runner</artifactId>
    <version>7.0.22</version>
    <scope>provided</scope>
</dependency>
Run Anything



web:             java -jar target/web.jar --port $PORT
worker1:         java -jar target/somejar.jar
scheduledjob1:   java -jar target/another.jar
                                                         Procfile
Logging

 • Logplex is Heroku's central logging system
 • Stream of STDOUT from Dynos, load balancer requests, slug
   compiler
 • Stream is pipe-able
 • Accessible via API
 • Heroku Add-ons can receive logs
Collaborators

 • Can push changes to an app
 • Could be a CI build system
addons.heroku.com

 • Use the Memcache Add-on for simple session externalization
 • Many other Heroku Add-ons
Scale == "allocating Dynos a process"

 Methods:
 • API
 • CLI
 • Eclipse Plugin
 • Third-Party Auto-Scaling Tools
Individual Developers
 • $0.05 / Dyno Hour
 • 750 free Dyno hours / app / month


New Enterprise Package!
• heroku.com/enterprise
heroku.com/java
Building Java Apps on Heroku and Force.com
Building Java Apps on Heroku and Force.com

Mais conteúdo relacionado

Mais procurados

Workflow, container, and beyond
Workflow, container, and beyondWorkflow, container, and beyond
Workflow, container, and beyondKohsuke Kawaguchi
 
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...Patrick Chanezon
 
Cloud Foundry Introduction - Canada - October 2012
Cloud Foundry Introduction - Canada - October 2012Cloud Foundry Introduction - Canada - October 2012
Cloud Foundry Introduction - Canada - October 2012Patrick Chanezon
 
What's new in Docker - InfraKit - Docker Meetup Berlin 2016
What's new in Docker - InfraKit - Docker Meetup Berlin 2016What's new in Docker - InfraKit - Docker Meetup Berlin 2016
What's new in Docker - InfraKit - Docker Meetup Berlin 2016Patrick Chanezon
 
Kubernetes Java Operator
Kubernetes Java OperatorKubernetes Java Operator
Kubernetes Java OperatorAnthony Dahanne
 
Scalable, Available and Reliable Cloud Applications with PaaS and Microservices
Scalable, Available and Reliable Cloud Applications with PaaS and MicroservicesScalable, Available and Reliable Cloud Applications with PaaS and Microservices
Scalable, Available and Reliable Cloud Applications with PaaS and MicroservicesDavid Currie
 
Next Generation Development Infrastructure with the Maven Enterprise Stack
Next Generation Development Infrastructure with the Maven Enterprise StackNext Generation Development Infrastructure with the Maven Enterprise Stack
Next Generation Development Infrastructure with the Maven Enterprise StackTim O'Brien
 
Devoxx 2016 - Docker Nuts and Bolts
Devoxx 2016 - Docker Nuts and BoltsDevoxx 2016 - Docker Nuts and Bolts
Devoxx 2016 - Docker Nuts and BoltsPatrick Chanezon
 
Cloud-native .NET-Microservices mit Kubernetes @BASTAcon
Cloud-native .NET-Microservices mit Kubernetes @BASTAconCloud-native .NET-Microservices mit Kubernetes @BASTAcon
Cloud-native .NET-Microservices mit Kubernetes @BASTAconMario-Leander Reimer
 
System Hardening Using Ansible
System Hardening Using AnsibleSystem Hardening Using Ansible
System Hardening Using AnsibleSonatype
 
Run your Java apps on Cloud Foundry
Run your Java apps on Cloud FoundryRun your Java apps on Cloud Foundry
Run your Java apps on Cloud FoundryAndy Piper
 
Application Modernization with PKS / Kubernetes
Application Modernization with PKS / KubernetesApplication Modernization with PKS / Kubernetes
Application Modernization with PKS / KubernetesPaul Czarkowski
 
Introduction to Cloud Foundry #JJUG
Introduction to Cloud Foundry #JJUGIntroduction to Cloud Foundry #JJUG
Introduction to Cloud Foundry #JJUGToshiaki Maki
 
Hitchhiker's Guide to Open Source Cloud Computing
Hitchhiker's Guide to Open Source Cloud ComputingHitchhiker's Guide to Open Source Cloud Computing
Hitchhiker's Guide to Open Source Cloud ComputingMark Hinkle
 
Jenkins User Conference 2013: Literate, multi-branch, mobile and more
Jenkins User Conference 2013: Literate, multi-branch, mobile and moreJenkins User Conference 2013: Literate, multi-branch, mobile and more
Jenkins User Conference 2013: Literate, multi-branch, mobile and moreKohsuke Kawaguchi
 
Pivotal Cloud Foundry 2.0: First Look
Pivotal Cloud Foundry 2.0: First LookPivotal Cloud Foundry 2.0: First Look
Pivotal Cloud Foundry 2.0: First LookVMware Tanzu
 
Kube Your Enthusiasm - Paul Czarkowski
Kube Your Enthusiasm - Paul CzarkowskiKube Your Enthusiasm - Paul Czarkowski
Kube Your Enthusiasm - Paul CzarkowskiVMware Tanzu
 
Cloud foundry Docker Openstack - Leading Open Source Triumvirate
Cloud foundry Docker Openstack - Leading Open Source TriumvirateCloud foundry Docker Openstack - Leading Open Source Triumvirate
Cloud foundry Docker Openstack - Leading Open Source TriumvirateAnimesh Singh
 
Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server
Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server
Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server Simone Morellato
 
V mware white paper virtualizing business-critical applications with confidence
V mware white paper  virtualizing business-critical applications with confidenceV mware white paper  virtualizing business-critical applications with confidence
V mware white paper virtualizing business-critical applications with confidenceReadWrite
 

Mais procurados (20)

Workflow, container, and beyond
Workflow, container, and beyondWorkflow, container, and beyond
Workflow, container, and beyond
 
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
 
Cloud Foundry Introduction - Canada - October 2012
Cloud Foundry Introduction - Canada - October 2012Cloud Foundry Introduction - Canada - October 2012
Cloud Foundry Introduction - Canada - October 2012
 
What's new in Docker - InfraKit - Docker Meetup Berlin 2016
What's new in Docker - InfraKit - Docker Meetup Berlin 2016What's new in Docker - InfraKit - Docker Meetup Berlin 2016
What's new in Docker - InfraKit - Docker Meetup Berlin 2016
 
Kubernetes Java Operator
Kubernetes Java OperatorKubernetes Java Operator
Kubernetes Java Operator
 
Scalable, Available and Reliable Cloud Applications with PaaS and Microservices
Scalable, Available and Reliable Cloud Applications with PaaS and MicroservicesScalable, Available and Reliable Cloud Applications with PaaS and Microservices
Scalable, Available and Reliable Cloud Applications with PaaS and Microservices
 
Next Generation Development Infrastructure with the Maven Enterprise Stack
Next Generation Development Infrastructure with the Maven Enterprise StackNext Generation Development Infrastructure with the Maven Enterprise Stack
Next Generation Development Infrastructure with the Maven Enterprise Stack
 
Devoxx 2016 - Docker Nuts and Bolts
Devoxx 2016 - Docker Nuts and BoltsDevoxx 2016 - Docker Nuts and Bolts
Devoxx 2016 - Docker Nuts and Bolts
 
Cloud-native .NET-Microservices mit Kubernetes @BASTAcon
Cloud-native .NET-Microservices mit Kubernetes @BASTAconCloud-native .NET-Microservices mit Kubernetes @BASTAcon
Cloud-native .NET-Microservices mit Kubernetes @BASTAcon
 
System Hardening Using Ansible
System Hardening Using AnsibleSystem Hardening Using Ansible
System Hardening Using Ansible
 
Run your Java apps on Cloud Foundry
Run your Java apps on Cloud FoundryRun your Java apps on Cloud Foundry
Run your Java apps on Cloud Foundry
 
Application Modernization with PKS / Kubernetes
Application Modernization with PKS / KubernetesApplication Modernization with PKS / Kubernetes
Application Modernization with PKS / Kubernetes
 
Introduction to Cloud Foundry #JJUG
Introduction to Cloud Foundry #JJUGIntroduction to Cloud Foundry #JJUG
Introduction to Cloud Foundry #JJUG
 
Hitchhiker's Guide to Open Source Cloud Computing
Hitchhiker's Guide to Open Source Cloud ComputingHitchhiker's Guide to Open Source Cloud Computing
Hitchhiker's Guide to Open Source Cloud Computing
 
Jenkins User Conference 2013: Literate, multi-branch, mobile and more
Jenkins User Conference 2013: Literate, multi-branch, mobile and moreJenkins User Conference 2013: Literate, multi-branch, mobile and more
Jenkins User Conference 2013: Literate, multi-branch, mobile and more
 
Pivotal Cloud Foundry 2.0: First Look
Pivotal Cloud Foundry 2.0: First LookPivotal Cloud Foundry 2.0: First Look
Pivotal Cloud Foundry 2.0: First Look
 
Kube Your Enthusiasm - Paul Czarkowski
Kube Your Enthusiasm - Paul CzarkowskiKube Your Enthusiasm - Paul Czarkowski
Kube Your Enthusiasm - Paul Czarkowski
 
Cloud foundry Docker Openstack - Leading Open Source Triumvirate
Cloud foundry Docker Openstack - Leading Open Source TriumvirateCloud foundry Docker Openstack - Leading Open Source Triumvirate
Cloud foundry Docker Openstack - Leading Open Source Triumvirate
 
Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server
Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server
Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server
 
V mware white paper virtualizing business-critical applications with confidence
V mware white paper  virtualizing business-critical applications with confidenceV mware white paper  virtualizing business-critical applications with confidence
V mware white paper virtualizing business-critical applications with confidence
 

Destaque

Хокку про Heroku
Хокку про HerokuХокку про Heroku
Хокку про HerokuSerge Seletskyy
 
Heroku - Customer Data Play (Second Call Deck)
Heroku - Customer Data Play (Second Call Deck)Heroku - Customer Data Play (Second Call Deck)
Heroku - Customer Data Play (Second Call Deck)Salesforce Partners
 
Emerging Technologies: Heroku for ISVs (October 13, 2014)
Emerging Technologies: Heroku for ISVs (October 13, 2014)Emerging Technologies: Heroku for ISVs (October 13, 2014)
Emerging Technologies: Heroku for ISVs (October 13, 2014)Salesforce Partners
 
Heroku - developer playground
Heroku - developer playground Heroku - developer playground
Heroku - developer playground Troy Sellers
 
Architecting Composite Applications With Force.com and Heroku
Architecting Composite Applications With Force.com and HerokuArchitecting Composite Applications With Force.com and Heroku
Architecting Composite Applications With Force.com and HerokuSalesforce Developers
 
Case Abril: Tracking real time user behavior in websites Homes with Ruby, Sin...
Case Abril: Tracking real time user behavior in websites Homes with Ruby, Sin...Case Abril: Tracking real time user behavior in websites Homes with Ruby, Sin...
Case Abril: Tracking real time user behavior in websites Homes with Ruby, Sin...Luis Cipriani
 
Web Apps for Salesforce with Heroku Connect
Web Apps for Salesforce with Heroku ConnectWeb Apps for Salesforce with Heroku Connect
Web Apps for Salesforce with Heroku ConnectTom Gersic
 
Introduction to HEROKU Salesforce1 Platform DevDay
Introduction to HEROKU Salesforce1 Platform DevDayIntroduction to HEROKU Salesforce1 Platform DevDay
Introduction to HEROKU Salesforce1 Platform DevDaySalesforce Developers
 
Deploy Node.js application in Heroku using Eclipse
Deploy Node.js application in Heroku using EclipseDeploy Node.js application in Heroku using Eclipse
Deploy Node.js application in Heroku using EclipseJitendra Zaa
 
Soirée Heroku par Sylpheo - 16 dec 2014
Soirée Heroku par Sylpheo - 16 dec 2014Soirée Heroku par Sylpheo - 16 dec 2014
Soirée Heroku par Sylpheo - 16 dec 2014Sylpheo
 

Destaque (12)

Хокку про Heroku
Хокку про HerokuХокку про Heroku
Хокку про Heroku
 
Heroku - Customer Data Play (Second Call Deck)
Heroku - Customer Data Play (Second Call Deck)Heroku - Customer Data Play (Second Call Deck)
Heroku - Customer Data Play (Second Call Deck)
 
Emerging Technologies: Heroku for ISVs (October 13, 2014)
Emerging Technologies: Heroku for ISVs (October 13, 2014)Emerging Technologies: Heroku for ISVs (October 13, 2014)
Emerging Technologies: Heroku for ISVs (October 13, 2014)
 
Heroku - developer playground
Heroku - developer playground Heroku - developer playground
Heroku - developer playground
 
Heroku Compliation Deck
Heroku Compliation DeckHeroku Compliation Deck
Heroku Compliation Deck
 
Architecting Composite Applications With Force.com and Heroku
Architecting Composite Applications With Force.com and HerokuArchitecting Composite Applications With Force.com and Heroku
Architecting Composite Applications With Force.com and Heroku
 
REST API Design
REST API DesignREST API Design
REST API Design
 
Case Abril: Tracking real time user behavior in websites Homes with Ruby, Sin...
Case Abril: Tracking real time user behavior in websites Homes with Ruby, Sin...Case Abril: Tracking real time user behavior in websites Homes with Ruby, Sin...
Case Abril: Tracking real time user behavior in websites Homes with Ruby, Sin...
 
Web Apps for Salesforce with Heroku Connect
Web Apps for Salesforce with Heroku ConnectWeb Apps for Salesforce with Heroku Connect
Web Apps for Salesforce with Heroku Connect
 
Introduction to HEROKU Salesforce1 Platform DevDay
Introduction to HEROKU Salesforce1 Platform DevDayIntroduction to HEROKU Salesforce1 Platform DevDay
Introduction to HEROKU Salesforce1 Platform DevDay
 
Deploy Node.js application in Heroku using Eclipse
Deploy Node.js application in Heroku using EclipseDeploy Node.js application in Heroku using Eclipse
Deploy Node.js application in Heroku using Eclipse
 
Soirée Heroku par Sylpheo - 16 dec 2014
Soirée Heroku par Sylpheo - 16 dec 2014Soirée Heroku par Sylpheo - 16 dec 2014
Soirée Heroku par Sylpheo - 16 dec 2014
 

Semelhante a Building Java Apps on Heroku and Force.com

Heroku for-team-collaboration
Heroku for-team-collaborationHeroku for-team-collaboration
Heroku for-team-collaborationJohn Stevenson
 
Heroku for team collaboration
Heroku for team collaborationHeroku for team collaboration
Heroku for team collaborationJohn Stevenson
 
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...XebiaLabs
 
Social ent. with java on heroku
Social ent. with java on herokuSocial ent. with java on heroku
Social ent. with java on herokuAnand B Narasimhan
 
Social Enterprise Java Apps on Heroku Webinar
Social Enterprise Java Apps on Heroku WebinarSocial Enterprise Java Apps on Heroku Webinar
Social Enterprise Java Apps on Heroku WebinarSalesforce Developers
 
Configuration Management and Transforming Legacy Applications in the Enterpri...
Configuration Management and Transforming Legacy Applications in the Enterpri...Configuration Management and Transforming Legacy Applications in the Enterpri...
Configuration Management and Transforming Legacy Applications in the Enterpri...Docker, Inc.
 
Creating Scalable JVM/Java Apps on Heroku
Creating Scalable JVM/Java Apps on HerokuCreating Scalable JVM/Java Apps on Heroku
Creating Scalable JVM/Java Apps on HerokuJoe Kutner
 
Introduction to PaaS and Heroku
Introduction to PaaS and HerokuIntroduction to PaaS and Heroku
Introduction to PaaS and HerokuTapio Rautonen
 
Getting rid of pain with Heroku @ BrainDev Kyiv
Getting rid of pain with Heroku @ BrainDev KyivGetting rid of pain with Heroku @ BrainDev Kyiv
Getting rid of pain with Heroku @ BrainDev KyivSeniorDevOnly
 
Introduction to Heroku - CCT London 2013
Introduction to Heroku - CCT London 2013Introduction to Heroku - CCT London 2013
Introduction to Heroku - CCT London 2013John Stevenson
 
Part 4: Custom Buildpacks and Data Services (Pivotal Cloud Platform Roadshow)
Part 4: Custom Buildpacks and Data Services (Pivotal Cloud Platform Roadshow)Part 4: Custom Buildpacks and Data Services (Pivotal Cloud Platform Roadshow)
Part 4: Custom Buildpacks and Data Services (Pivotal Cloud Platform Roadshow)VMware Tanzu
 
Continuous Delivery with Grails and CloudBees
Continuous Delivery with Grails and CloudBeesContinuous Delivery with Grails and CloudBees
Continuous Delivery with Grails and CloudBeesMarco Vermeulen
 
Apache con 2011 provisioning distributed os-gi applications in a cloud
Apache con 2011   provisioning distributed os-gi applications in a cloudApache con 2011   provisioning distributed os-gi applications in a cloud
Apache con 2011 provisioning distributed os-gi applications in a cloudGuillaume Nodet
 
Apache con 2011 provisioning distributed os-gi applications in a cloud
Apache con 2011   provisioning distributed os-gi applications in a cloudApache con 2011   provisioning distributed os-gi applications in a cloud
Apache con 2011 provisioning distributed os-gi applications in a cloudFuseSource.com
 
Operating the Hyperscale Cloud
Operating the Hyperscale CloudOperating the Hyperscale Cloud
Operating the Hyperscale CloudOpen Stack
 
Docker presentasjon java bin
Docker presentasjon java binDocker presentasjon java bin
Docker presentasjon java binOlve Hansen
 
The twelve factor app
The twelve factor appThe twelve factor app
The twelve factor appRavi Okade
 
Riverbed Stingray + vFabric Application Director
Riverbed Stingray + vFabric Application DirectorRiverbed Stingray + vFabric Application Director
Riverbed Stingray + vFabric Application DirectorRiverbed Technology
 
Enabling .NET Apps with Monitoring and Management Using Steeltoe
Enabling .NET Apps with Monitoring and Management Using SteeltoeEnabling .NET Apps with Monitoring and Management Using Steeltoe
Enabling .NET Apps with Monitoring and Management Using SteeltoeVMware Tanzu
 

Semelhante a Building Java Apps on Heroku and Force.com (20)

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
 
Heroku
HerokuHeroku
Heroku
 
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
 
Social ent. with java on heroku
Social ent. with java on herokuSocial ent. with java on heroku
Social ent. with java on heroku
 
Social Enterprise Java Apps on Heroku Webinar
Social Enterprise Java Apps on Heroku WebinarSocial Enterprise Java Apps on Heroku Webinar
Social Enterprise Java Apps on Heroku Webinar
 
Configuration Management and Transforming Legacy Applications in the Enterpri...
Configuration Management and Transforming Legacy Applications in the Enterpri...Configuration Management and Transforming Legacy Applications in the Enterpri...
Configuration Management and Transforming Legacy Applications in the Enterpri...
 
Creating Scalable JVM/Java Apps on Heroku
Creating Scalable JVM/Java Apps on HerokuCreating Scalable JVM/Java Apps on Heroku
Creating Scalable JVM/Java Apps on Heroku
 
Introduction to PaaS and Heroku
Introduction to PaaS and HerokuIntroduction to PaaS and Heroku
Introduction to PaaS and Heroku
 
Getting rid of pain with Heroku @ BrainDev Kyiv
Getting rid of pain with Heroku @ BrainDev KyivGetting rid of pain with Heroku @ BrainDev Kyiv
Getting rid of pain with Heroku @ BrainDev Kyiv
 
Introduction to Heroku - CCT London 2013
Introduction to Heroku - CCT London 2013Introduction to Heroku - CCT London 2013
Introduction to Heroku - CCT London 2013
 
Part 4: Custom Buildpacks and Data Services (Pivotal Cloud Platform Roadshow)
Part 4: Custom Buildpacks and Data Services (Pivotal Cloud Platform Roadshow)Part 4: Custom Buildpacks and Data Services (Pivotal Cloud Platform Roadshow)
Part 4: Custom Buildpacks and Data Services (Pivotal Cloud Platform Roadshow)
 
Continuous Delivery with Grails and CloudBees
Continuous Delivery with Grails and CloudBeesContinuous Delivery with Grails and CloudBees
Continuous Delivery with Grails and CloudBees
 
Apache con 2011 provisioning distributed os-gi applications in a cloud
Apache con 2011   provisioning distributed os-gi applications in a cloudApache con 2011   provisioning distributed os-gi applications in a cloud
Apache con 2011 provisioning distributed os-gi applications in a cloud
 
Apache con 2011 provisioning distributed os-gi applications in a cloud
Apache con 2011   provisioning distributed os-gi applications in a cloudApache con 2011   provisioning distributed os-gi applications in a cloud
Apache con 2011 provisioning distributed os-gi applications in a cloud
 
Operating the Hyperscale Cloud
Operating the Hyperscale CloudOperating the Hyperscale Cloud
Operating the Hyperscale Cloud
 
Docker presentasjon java bin
Docker presentasjon java binDocker presentasjon java bin
Docker presentasjon java bin
 
The twelve factor app
The twelve factor appThe twelve factor app
The twelve factor app
 
Riverbed Stingray + vFabric Application Director
Riverbed Stingray + vFabric Application DirectorRiverbed Stingray + vFabric Application Director
Riverbed Stingray + vFabric Application Director
 
Enabling .NET Apps with Monitoring and Management Using Steeltoe
Enabling .NET Apps with Monitoring and Management Using SteeltoeEnabling .NET Apps with Monitoring and Management Using Steeltoe
Enabling .NET Apps with Monitoring and Management Using Steeltoe
 

Mais de Salesforce Developers

Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSalesforce Developers
 
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceMaximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceSalesforce Developers
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base ComponentsSalesforce Developers
 
TrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsTrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsSalesforce Developers
 
Why developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaWhy developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaSalesforce Developers
 
CodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentCodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentSalesforce Developers
 
CodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsCodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsSalesforce Developers
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsSalesforce Developers
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsSalesforce Developers
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and TestingSalesforce Developers
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilitySalesforce Developers
 
Lightning web components episode 2- work with salesforce data
Lightning web components   episode 2- work with salesforce dataLightning web components   episode 2- work with salesforce data
Lightning web components episode 2- work with salesforce dataSalesforce Developers
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionSalesforce Developers
 
Migrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPMigrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPSalesforce Developers
 
Scale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceScale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceSalesforce Developers
 
Replicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureReplicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureSalesforce Developers
 
Modern Development with Salesforce DX
Modern Development with Salesforce DXModern Development with Salesforce DX
Modern Development with Salesforce DXSalesforce Developers
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectSalesforce Developers
 

Mais de Salesforce Developers (20)

Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce Developers
 
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceMaximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component Performance
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base Components
 
TrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsTrailheaDX India : Developer Highlights
TrailheaDX India : Developer Highlights
 
Why developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaWhy developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX India
 
CodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentCodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local Development
 
CodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsCodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web Components
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web Components
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer Highlights
 
Live coding with LWC
Live coding with LWCLive coding with LWC
Live coding with LWC
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and Testing
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura Interoperability
 
Lightning web components episode 2- work with salesforce data
Lightning web components   episode 2- work with salesforce dataLightning web components   episode 2- work with salesforce data
Lightning web components episode 2- work with salesforce data
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An Introduction
 
Migrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPMigrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCP
 
Scale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceScale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in Salesforce
 
Replicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureReplicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data Capture
 
Modern Development with Salesforce DX
Modern Development with Salesforce DXModern Development with Salesforce DX
Modern Development with Salesforce DX
 
Get Into Lightning Flow Development
Get Into Lightning Flow DevelopmentGet Into Lightning Flow Development
Get Into Lightning Flow Development
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS Connect
 

Building Java Apps on Heroku and Force.com

  • 1. Building Java Apps on Heroku and Force.com James Ward, Heroku @_JamesWard
  • 2. 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 product or service availability, 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, new products and services, 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, the outcome of intellectual property and other litigation, 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-Q for the most recent fiscal quarter ended July 31, 2012. This documents and others containing important disclosures 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 presentations, 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. YOUR APP Cloud Machines Logging Deployment Indexing Messaging Scaling Security Updates Monitoring Backups Disaster Recovery Virtual Machines File Servers Web Servers IP Assignmet Load Balancers Routing Firewall Physical Machines Power Network Physical Space
  • 9. Heroku Terminology Process Dyno 0..* 0..* Env Var 0..* 0..* Owner App Add-on 0..* *..* 1..1 Collaborator *..1 git repo *..1 Load Balancer Logplex
  • 10. Zero-Error Deployment User Slug Compiler Buildpack Dyno Manifold Load Balancer git push heroku master create slug mvn package slug file shutdown existing dynos pause routing deploy slug on dynos start processes resume routing
  • 11. Unlimited Real-Time Granular Security & Programmable Real-Time Workflow Programmable Customization Sharing Cloud Logic & Approvals User Interface cloud platform Real-Time Mobile Real-Time Content 850+ Integrated Deployment Real-Time Websites Library Real-Time Analytics Applications
  • 13. Environment Variables • Zero intervention deployment • Running systems only differ through env vars • Add-ons own their config
  • 14. OAuth Setup • Create Remote Access Application for App • Set: • SFDC_OAUTH_CLIENT_ID • SFDC_OAUTH_CLIENT_SECRET
  • 15. No Proprietary APIs. BYOC. <dependency> <groupId>com.github.jsimone</groupId> <artifactId>webapp-runner</artifactId> <version>7.0.22</version> <scope>provided</scope> </dependency>
  • 16. Run Anything web: java -jar target/web.jar --port $PORT worker1: java -jar target/somejar.jar scheduledjob1: java -jar target/another.jar Procfile
  • 17. Logging • Logplex is Heroku's central logging system • Stream of STDOUT from Dynos, load balancer requests, slug compiler • Stream is pipe-able • Accessible via API • Heroku Add-ons can receive logs
  • 18. Collaborators • Can push changes to an app • Could be a CI build system
  • 19. addons.heroku.com • Use the Memcache Add-on for simple session externalization • Many other Heroku Add-ons
  • 20. Scale == "allocating Dynos a process" Methods: • API • CLI • Eclipse Plugin • Third-Party Auto-Scaling Tools
  • 21. Individual Developers • $0.05 / Dyno Hour • 750 free Dyno hours / app / month New Enterprise Package! • heroku.com/enterprise