SlideShare ist ein Scribd-Unternehmen logo
1 von 76
Introduction to
Heroku
John Stevenson
Developer Advocate
Salesforce / Heroku
Proprietary &
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 April 30, 2011. 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 CONSIDER HEROKU ?
Deployment is challenging
“Ops teams are overwhelmed by developer requests”
“Different environments are not always the same.
Patching and internal processes often not automated”
“There is a divide in many enterprises between the
developers & operations teams.”
Continuous Delivery
“..reducing the cycle time between an idea and usable
software”
- Martin Fowler
“Software delivers no revenue until it is in the hands
of its users.”
-Jez Humble
“.. leads to deeper relationship between IT, their
business customer, and their final customers.”
-Jez Humble
Cloud Services should be easy
“Should have a natural way to use the services that fits into
each teams existing workflow”
“Should be easy to see the value & cost benefits”
“Should be as trust worthy as any internal service, if not more
so.”
DEMO: 30 SECOND APP
Creating live apps should be fast

WHAT IS HEROKU ?
Forget
Servers
Run
Anything
See
Everything
Trust &
Manage
4 core principles
FORGET SERVERS
What is Heroku ?
Introducing Dynos
 A self contained resource in which to run
your application (Linux container)
A logical abstraction over servers
Application scalability is more valuable than
number of servers
Introducing Dynos
 A self contained resource in which to run
your application (Linux container)
Allows a trivial way to scale your app
and know how much its costing you!
Inside an Heroku Dyno
Application
Dependencies
Your
Application
code
Embedded
Container
‱ Any application
‱ Any framework
(Spring, Play!, django, compojure,
etc.)
‱ Maven, Gradle, SBT,
Leiningen, Bundle, etc.
‱ Jetty, Tomcat, etc
Heroku For Developers
For each developer app created
- 1 Dyno with 750 hours per month free
Note: 31 days X 24 hours = 744 hours
You can create as many Heroku applications as required
Forget Servers
 Focus 100% on code
 Fully managed platform
 Trust Heroku to be your DevOps
support
RUN ANYTHING
What is Heroku ?
An Elastic
“polyglot”
Platform-as-a-Service
pol·y·glot [pol-ee-glot]
adjective
1. able to speak or write several languages; multilingual.
2. containing, composed of, or written in several languages
First class languages on Heroku
Heroku BuildPacks
Additional languages through “Build packs”
Use a 3rd party build pack
Define your own build, deploy & run cycle
Create your Heroku application with a build pack
heroku create myapp –buildpack
https://github.com/a/buildpack.git
Many build packs on Github
Open Languages
Ruby Clojure Node.JS
Open Databases
Mongo DB Amazon RDS Postgres
Couch DB Redisdatabase.com
Open
Frameworks
Sinatra Ruby on Rails
CompojureRing
Noir
Padrino
HalcyonWaves
Play!
Spring Lift
Java Scala
Polyglot frameworks & data sources
TRUST & MANAGE
Effortless ScalingScale
(runningprocesses)
Web Worker
Workload Diversity
(Process types)
Running your app processes – The Procfile
Procfile
A simple, declarative way to define application
process types, so they can be easily
managed in unison when scaling.
A text file in the root of your project containing
runtime commands & parameters
Procfile examples
Simple web server
web: python -m SimpleHTTPServer $PORT
Clojure
web: lein with-profile production trampoline
run -m my-clojure-website.web
Procfile examples
Java, Play framework & Postgres database
web: target/start -Dhttp.port=${PORT}
${JAVA_OPTS}
-DapplyEvolutions.default=true
-Ddb.default.driver=org.postgresql.Driver
-Ddb.default.url=${DATABASE_URL}
Process Types
 Define web processes that listen for http/s requests
web: command options
 Define other processes with any naming convention that
is meaningful in your app
worker: 
 queue: 
 priorityworker: 

batch: 
 scheduler: 
 maintenance: 

Scaling your app – by process type
$ cat Procfile
web: java $JAVA_OPTS EmbeddedServer
worker: java $JAVA_OPTS YourJavaClass
$ heroku scale web=4 worker=10
Scaling processes... done
Scaling via web control panel
Control apps via Heroku.com
Controlling your application Processes
$ heroku ps
Process State Command
------- ----- -------
web.1 up for 6s java $JAVA_OPTS EmbeddedServer
worker.1 up for 5s java $JAVA_OPTS YourJavaClass
$ heroku ps:restart worker.1
Restarting worker.1 process... Done
Trust & Manage
24x7 platform
monitoring
Herokai want to know when there is trouble before you do!
Heroku Status
$ heroku status
=== Heroku Status
Development: No known issues at this time.
Production: No known issues at this time.
status.heroku.com
SEE EVERYTHING
What is Heroku ?
logplex
Unified logging
- application logs
- administrative commands
- infrastructure messages
- realtime Dyno information
time-ordered events aggregated from the
output streams of all your app’s running
processes, system components, and
backing services.
heroku logs
heroku logs --source apps
heroku logs --source heroku
heroku logs --source heroku --ps api
Example of errors in logs
HEROKU ADD-ONS
What else is there to Heroku ?
New Relic – end 2 end analysis
StillAlive – High availability
Ranger – monitor domains
HireFire – auto-scaling
Extensibility
 A range of Relational & NoSQL
databases
 Monitoring for your app
 
and too much to cover here
https://addons.heroku.com/
Heroku Postgres - as a service
Powerful data storage
– Irrespective of if you app is deployed on Heroku
Heroku Postgres - adds more features
CALCULATING THE VALUE
How much does it cost?
Heroku cost calculator
How much does it really cost to
deploy software in your
organisation?
GETTING STARTED WITH HEROKU
Git Push Deploy
Setup your Heroku account
1) Create an account on Heroku
2) Download the Heroku Toolbelt
3) Upload you public key
heroku login
Or check if you already have a key:
Whats in the Toolbelt?
 Heroku command line tools
– create | logs | ps | releases |
run | addons | config

 A Git client
 Foreman
– run apps locally as they would run on Heroku
5 steps to first deploy
Create you app (using your build tool)
Initialise a git repository for your project
Create your heroku app (heroku create)
Git Commit your files to the local repository
Git Push your app to heroku
Basic continuous deployment workflow
Developer workflow
COLLABORATION IN THE CLOUD
Github and Heroku
Heroku Collaboration
 Add multiple developers to an app
Heroku Collaboration
 All collaborators can:
– push updates & trigger deployment
– view and change app settings
 Only Owners can delete the app
– or transfer ownership to a different account
Github – Social Coding
Collaborate on public or private projects
Collaborate 24/7 all over the world
Add Github repo to your app
Create a new repository on Github
Add the repository to your project
git remote add github
git@github.com/account/my-repo.git
Push your code to github
git push –u github master
Collaborative coding on Github
Add developers to your Github repo
only those that you trust!
Encourage pull requests from everyone else
allows collaboration around commits
Facilitate code reviews
Pull request discussion
Pull request code review
Adding more environments
Common environments established include:
production, staging, uat, testing, dev (foreman on dev machine)
Create the environments you want
heroku create my-app-staging
heroku create my-app-uat
heroku create my-app-testing
Check add-ons used first
heroku addons --remote heroku
More Envs = more repositories
 Every time you create a new Heroku environment a
remote git repository is added
– git remote –v
Managing multiple repos
 Learn to love git log
– Configure it to use –graph
 Or get a good visual git tool
– SourceTree for MacOSX & Windows is great (and free)
git log --graph --oneline --decorate
Heroku (origin/master) often behind HEAD & test
ROLLING BACK YOUR APPLICATIONS
Managing Deployment
Heroku rollback mechanism
Release History
View info about a release
Rollback to a specific version
History after rollback & push
Rollback is a temporary solution, fix the root cause!
Try for yourself
Get Started at
http://heroku.com/
Getting started with Heroku guides
London Salesforce Developers
http://www.meetup.com/LondonSalesforceDevelopers/
Thank you !!!

Weitere Àhnliche Inhalte

Was ist angesagt?

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
 
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 HerokuJohn Stevenson
 
Unlock the Value of your Salesforce Data at Scale with Heroku Connect
Unlock the Value of your Salesforce Data at Scale with Heroku ConnectUnlock the Value of your Salesforce Data at Scale with Heroku Connect
Unlock the Value of your Salesforce Data at Scale with Heroku ConnectSalesforce Developers
 
Dreamforce 2013 - Heroku 5 use cases
Dreamforce 2013 - Heroku 5 use casesDreamforce 2013 - Heroku 5 use cases
Dreamforce 2013 - Heroku 5 use casesVincent Spehner
 
Disruptive Trends in Application Development
Disruptive Trends in Application DevelopmentDisruptive Trends in Application Development
Disruptive Trends in Application DevelopmentWaveMaker, Inc.
 
Perth Meetup December 2021
Perth Meetup December 2021Perth Meetup December 2021
Perth Meetup December 2021Michael Price
 
Understanding Native, Hybrid, and Web Mobile Architectures
Understanding Native, Hybrid, and Web Mobile ArchitecturesUnderstanding Native, Hybrid, and Web Mobile Architectures
Understanding Native, Hybrid, and Web Mobile ArchitecturesSalesforce Developers
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015WaveMaker, Inc.
 
Leverage Progress Technologies for Telerik Developers
Leverage Progress Technologies for Telerik DevelopersLeverage Progress Technologies for Telerik Developers
Leverage Progress Technologies for Telerik DevelopersAbhishek Kant
 
Leave visual studio behind an end to end business app in 30 mins using a paas
Leave visual studio behind an end to end business app in 30 mins using a paasLeave visual studio behind an end to end business app in 30 mins using a paas
Leave visual studio behind an end to end business app in 30 mins using a paasDr Ganesh Iyer
 
Accelerate and Modernize Enterprise Application Development and Digital Proce...
Accelerate and Modernize Enterprise Application Development and Digital Proce...Accelerate and Modernize Enterprise Application Development and Digital Proce...
Accelerate and Modernize Enterprise Application Development and Digital Proce...DevOps.com
 
Embedded Analytics: 5 Steps to App Modernization
Embedded Analytics: 5 Steps to App ModernizationEmbedded Analytics: 5 Steps to App Modernization
Embedded Analytics: 5 Steps to App ModernizationPoojitha B
 
Hands-On Lab: Integrate Your Monitoring Tools into an Automated Service Impac...
Hands-On Lab: Integrate Your Monitoring Tools into an Automated Service Impac...Hands-On Lab: Integrate Your Monitoring Tools into an Automated Service Impac...
Hands-On Lab: Integrate Your Monitoring Tools into an Automated Service Impac...CA Technologies
 
Creating an app ecosystem for your APIs
Creating an app ecosystem for your APIsCreating an app ecosystem for your APIs
Creating an app ecosystem for your APIsWaveMaker, Inc.
 
Getting More Out of the Node.js, PHP, and Python Agents - AppSphere16
Getting More Out of the Node.js, PHP, and Python Agents - AppSphere16Getting More Out of the Node.js, PHP, and Python Agents - AppSphere16
Getting More Out of the Node.js, PHP, and Python Agents - AppSphere16AppDynamics
 
Developer Experience (DX) as a Fitness Function for Platform Teams
Developer Experience (DX) as a Fitness Function for Platform TeamsDeveloper Experience (DX) as a Fitness Function for Platform Teams
Developer Experience (DX) as a Fitness Function for Platform TeamsAndy Marks
 
Anypoint monitoring capabilities
Anypoint monitoring capabilitiesAnypoint monitoring capabilities
Anypoint monitoring capabilitiesMarioMartinez88103
 
Building Mobile Apps on Salesforce Platform with Mobile SDK
Building Mobile Apps on Salesforce Platform with Mobile SDKBuilding Mobile Apps on Salesforce Platform with Mobile SDK
Building Mobile Apps on Salesforce Platform with Mobile SDKSalesforce Developers
 
Gathering App Intelligence for your Web, Desktop and Mobile apps
Gathering App Intelligence for your Web, Desktop and Mobile appsGathering App Intelligence for your Web, Desktop and Mobile apps
Gathering App Intelligence for your Web, Desktop and Mobile appsAbhishek Kant
 

Was ist angesagt? (20)

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
 
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
 
Unlock the Value of your Salesforce Data at Scale with Heroku Connect
Unlock the Value of your Salesforce Data at Scale with Heroku ConnectUnlock the Value of your Salesforce Data at Scale with Heroku Connect
Unlock the Value of your Salesforce Data at Scale with Heroku Connect
 
Dreamforce 2013 - Heroku 5 use cases
Dreamforce 2013 - Heroku 5 use casesDreamforce 2013 - Heroku 5 use cases
Dreamforce 2013 - Heroku 5 use cases
 
Disruptive Trends in Application Development
Disruptive Trends in Application DevelopmentDisruptive Trends in Application Development
Disruptive Trends in Application Development
 
Perth Meetup December 2021
Perth Meetup December 2021Perth Meetup December 2021
Perth Meetup December 2021
 
Understanding Native, Hybrid, and Web Mobile Architectures
Understanding Native, Hybrid, and Web Mobile ArchitecturesUnderstanding Native, Hybrid, and Web Mobile Architectures
Understanding Native, Hybrid, and Web Mobile Architectures
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015
 
Leverage Progress Technologies for Telerik Developers
Leverage Progress Technologies for Telerik DevelopersLeverage Progress Technologies for Telerik Developers
Leverage Progress Technologies for Telerik Developers
 
Leave visual studio behind an end to end business app in 30 mins using a paas
Leave visual studio behind an end to end business app in 30 mins using a paasLeave visual studio behind an end to end business app in 30 mins using a paas
Leave visual studio behind an end to end business app in 30 mins using a paas
 
Accelerate and Modernize Enterprise Application Development and Digital Proce...
Accelerate and Modernize Enterprise Application Development and Digital Proce...Accelerate and Modernize Enterprise Application Development and Digital Proce...
Accelerate and Modernize Enterprise Application Development and Digital Proce...
 
Embedded Analytics: 5 Steps to App Modernization
Embedded Analytics: 5 Steps to App ModernizationEmbedded Analytics: 5 Steps to App Modernization
Embedded Analytics: 5 Steps to App Modernization
 
Hands-On Lab: Integrate Your Monitoring Tools into an Automated Service Impac...
Hands-On Lab: Integrate Your Monitoring Tools into an Automated Service Impac...Hands-On Lab: Integrate Your Monitoring Tools into an Automated Service Impac...
Hands-On Lab: Integrate Your Monitoring Tools into an Automated Service Impac...
 
Creating an app ecosystem for your APIs
Creating an app ecosystem for your APIsCreating an app ecosystem for your APIs
Creating an app ecosystem for your APIs
 
Getting More Out of the Node.js, PHP, and Python Agents - AppSphere16
Getting More Out of the Node.js, PHP, and Python Agents - AppSphere16Getting More Out of the Node.js, PHP, and Python Agents - AppSphere16
Getting More Out of the Node.js, PHP, and Python Agents - AppSphere16
 
Developer Experience (DX) as a Fitness Function for Platform Teams
Developer Experience (DX) as a Fitness Function for Platform TeamsDeveloper Experience (DX) as a Fitness Function for Platform Teams
Developer Experience (DX) as a Fitness Function for Platform Teams
 
Anypoint monitoring capabilities
Anypoint monitoring capabilitiesAnypoint monitoring capabilities
Anypoint monitoring capabilities
 
Professional summary
Professional summaryProfessional summary
Professional summary
 
Building Mobile Apps on Salesforce Platform with Mobile SDK
Building Mobile Apps on Salesforce Platform with Mobile SDKBuilding Mobile Apps on Salesforce Platform with Mobile SDK
Building Mobile Apps on Salesforce Platform with Mobile SDK
 
Gathering App Intelligence for your Web, Desktop and Mobile apps
Gathering App Intelligence for your Web, Desktop and Mobile appsGathering App Intelligence for your Web, Desktop and Mobile apps
Gathering App Intelligence for your Web, Desktop and Mobile apps
 

Andere mochten auch

Heroku 101 py con 2015 - David Gouldin
Heroku 101   py con 2015 - David GouldinHeroku 101   py con 2015 - David Gouldin
Heroku 101 py con 2015 - David GouldinHeroku
 
Introduction to PaaS and Heroku
Introduction to PaaS and HerokuIntroduction to PaaS and Heroku
Introduction to PaaS and HerokuTapio Rautonen
 
Heroku
HerokuHeroku
Herokuyinhm .
 
Bulutlara YerleƟmek: Heroku ve Web Uygulamaları
Bulutlara YerleƟmek: Heroku ve Web UygulamalarıBulutlara YerleƟmek: Heroku ve Web Uygulamaları
Bulutlara YerleƟmek: Heroku ve Web UygulamalarıRoy Simkes
 
Cloudcamp Athens 2011 Presenting Heroku
Cloudcamp Athens 2011 Presenting HerokuCloudcamp Athens 2011 Presenting Heroku
Cloudcamp Athens 2011 Presenting HerokuSavvas Georgiou
 
Heroku Inside
Heroku InsideHeroku Inside
Heroku InsideAyumu Aizawa
 
Heroku Update
Heroku UpdateHeroku Update
Heroku UpdateAyumu Aizawa
 
Auto scaling Heroku addon Bounscale
Auto scaling Heroku addon BounscaleAuto scaling Heroku addon Bounscale
Auto scaling Heroku addon BounscaleShota Onishi
 
Getting Started with Heroku
Getting Started with HerokuGetting Started with Heroku
Getting Started with HerokuLaunchAny
 
Unite Customer-Facing Apps with a Salesforce Backend: Heroku Connect in Practice
Unite Customer-Facing Apps with a Salesforce Backend: Heroku Connect in PracticeUnite Customer-Facing Apps with a Salesforce Backend: Heroku Connect in Practice
Unite Customer-Facing Apps with a Salesforce Backend: Heroku Connect in PracticeSalesforce Developers
 
Lighting up the Bay, Real-World App Cloud
Lighting up the Bay, Real-World App CloudLighting up the Bay, Real-World App Cloud
Lighting up the Bay, Real-World App CloudSalesforce Developers
 
Lightning Developer Experience, Eclipse IDE Evolved
Lightning Developer Experience, Eclipse IDE EvolvedLightning Developer Experience, Eclipse IDE Evolved
Lightning Developer Experience, Eclipse IDE EvolvedSalesforce Developers
 
Introduction to the Wave Platform API
Introduction to the Wave Platform APIIntroduction to the Wave Platform API
Introduction to the Wave Platform APISalesforce Developers
 
Easy REST Integrations with Lightning Components and Salesforce1
Easy REST Integrations with Lightning Components and Salesforce1Easy REST Integrations with Lightning Components and Salesforce1
Easy REST Integrations with Lightning Components and Salesforce1Salesforce Developers
 
IoT Quick Demo for Heroku & Salesforce
IoT Quick Demo for Heroku & SalesforceIoT Quick Demo for Heroku & Salesforce
IoT Quick Demo for Heroku & SalesforceAkihiro Iwaya
 
Introduction to Apex for Developers
Introduction to Apex for DevelopersIntroduction to Apex for Developers
Introduction to Apex for DevelopersSalesforce Developers
 
Process Automation on Lightning Platform Workshop
Process Automation on Lightning Platform WorkshopProcess Automation on Lightning Platform Workshop
Process Automation on Lightning Platform WorkshopSalesforce Developers
 
Intro a Heroku
Intro a HerokuIntro a Heroku
Intro a Herokubitfon
 

Andere mochten auch (20)

Heroku 101 py con 2015 - David Gouldin
Heroku 101   py con 2015 - David GouldinHeroku 101   py con 2015 - David Gouldin
Heroku 101 py con 2015 - David Gouldin
 
Introduction to PaaS and Heroku
Introduction to PaaS and HerokuIntroduction to PaaS and Heroku
Introduction to PaaS and Heroku
 
Heroku
HerokuHeroku
Heroku
 
Dokku
DokkuDokku
Dokku
 
Bulutlara YerleƟmek: Heroku ve Web Uygulamaları
Bulutlara YerleƟmek: Heroku ve Web UygulamalarıBulutlara YerleƟmek: Heroku ve Web Uygulamaları
Bulutlara YerleƟmek: Heroku ve Web Uygulamaları
 
Cloudcamp Athens 2011 Presenting Heroku
Cloudcamp Athens 2011 Presenting HerokuCloudcamp Athens 2011 Presenting Heroku
Cloudcamp Athens 2011 Presenting Heroku
 
Heroku Inside
Heroku InsideHeroku Inside
Heroku Inside
 
Introducing Heroku for Beginners
Introducing Heroku for BeginnersIntroducing Heroku for Beginners
Introducing Heroku for Beginners
 
Heroku Update
Heroku UpdateHeroku Update
Heroku Update
 
Auto scaling Heroku addon Bounscale
Auto scaling Heroku addon BounscaleAuto scaling Heroku addon Bounscale
Auto scaling Heroku addon Bounscale
 
Getting Started with Heroku
Getting Started with HerokuGetting Started with Heroku
Getting Started with Heroku
 
Unite Customer-Facing Apps with a Salesforce Backend: Heroku Connect in Practice
Unite Customer-Facing Apps with a Salesforce Backend: Heroku Connect in PracticeUnite Customer-Facing Apps with a Salesforce Backend: Heroku Connect in Practice
Unite Customer-Facing Apps with a Salesforce Backend: Heroku Connect in Practice
 
Lighting up the Bay, Real-World App Cloud
Lighting up the Bay, Real-World App CloudLighting up the Bay, Real-World App Cloud
Lighting up the Bay, Real-World App Cloud
 
Lightning Developer Experience, Eclipse IDE Evolved
Lightning Developer Experience, Eclipse IDE EvolvedLightning Developer Experience, Eclipse IDE Evolved
Lightning Developer Experience, Eclipse IDE Evolved
 
Introduction to the Wave Platform API
Introduction to the Wave Platform APIIntroduction to the Wave Platform API
Introduction to the Wave Platform API
 
Easy REST Integrations with Lightning Components and Salesforce1
Easy REST Integrations with Lightning Components and Salesforce1Easy REST Integrations with Lightning Components and Salesforce1
Easy REST Integrations with Lightning Components and Salesforce1
 
IoT Quick Demo for Heroku & Salesforce
IoT Quick Demo for Heroku & SalesforceIoT Quick Demo for Heroku & Salesforce
IoT Quick Demo for Heroku & Salesforce
 
Introduction to Apex for Developers
Introduction to Apex for DevelopersIntroduction to Apex for Developers
Introduction to Apex for Developers
 
Process Automation on Lightning Platform Workshop
Process Automation on Lightning Platform WorkshopProcess Automation on Lightning Platform Workshop
Process Automation on Lightning Platform Workshop
 
Intro a Heroku
Intro a HerokuIntro a Heroku
Intro a Heroku
 

Ähnlich wie Introduction to Heroku - CCT London 2013

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
 
Salesforce CCT Munich 2013 Introducing heroku - elastic, polyglot platform as...
Salesforce CCT Munich 2013 Introducing heroku - elastic, polyglot platform as...Salesforce CCT Munich 2013 Introducing heroku - elastic, polyglot platform as...
Salesforce CCT Munich 2013 Introducing heroku - elastic, polyglot platform as...John Stevenson
 
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.comSalesforce Developers
 
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.comSalesforce Developers
 
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 timeAbhinav Gupta
 
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 HerokuSalesforce Developers
 
Srecon18americas lightning talk: Auto-Cascading Security Updates Through Dock...
Srecon18americas lightning talk: Auto-Cascading Security Updates Through Dock...Srecon18americas lightning talk: Auto-Cascading Security Updates Through Dock...
Srecon18americas lightning talk: Auto-Cascading Security Updates Through Dock...Andrey Falko
 
Reusable Build Scripts for Managed Package Development (October 14, 2014)
Reusable Build Scripts for Managed Package Development (October 14, 2014)Reusable Build Scripts for Managed Package Development (October 14, 2014)
Reusable Build Scripts for Managed Package Development (October 14, 2014)Salesforce Partners
 
Dreamforce 2013 - Pitfalls and solutions
Dreamforce 2013 - Pitfalls and solutionsDreamforce 2013 - Pitfalls and solutions
Dreamforce 2013 - Pitfalls and solutionsVincent Spehner
 
Salesforce DX Pilot Product Overview
Salesforce DX Pilot Product OverviewSalesforce DX Pilot Product Overview
Salesforce DX Pilot Product OverviewSalesforce Partners
 
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
 
Igor Androsov on Mobilizing Salesforce Data with 12 Factor App on Heroku
Igor Androsov on Mobilizing Salesforce Data with 12 Factor App on HerokuIgor Androsov on Mobilizing Salesforce Data with 12 Factor App on Heroku
Igor Androsov on Mobilizing Salesforce Data with 12 Factor App on HerokuIgor Androsov
 
Salesforce Lightning workshop Hartford - 12 March
Salesforce Lightning workshop Hartford - 12 MarchSalesforce Lightning workshop Hartford - 12 March
Salesforce Lightning workshop Hartford - 12 MarchJitendra Zaa
 
TDX19 - Accelerate DevOps with GitLab and Salesforce
TDX19 - Accelerate DevOps with GitLab and SalesforceTDX19 - Accelerate DevOps with GitLab and Salesforce
TDX19 - Accelerate DevOps with GitLab and SalesforceDoug Ayers
 
Spring '14 Release Developer Preview Webinar
Spring '14 Release Developer Preview WebinarSpring '14 Release Developer Preview Webinar
Spring '14 Release Developer Preview WebinarSalesforce Developers
 
Building Command-line Tools with the Tooling API
Building Command-line Tools with the Tooling APIBuilding Command-line Tools with the Tooling API
Building Command-line Tools with the Tooling APIJeff Douglas
 

Ähnlich wie Introduction to Heroku - CCT London 2013 (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
 
Salesforce CCT Munich 2013 Introducing heroku - elastic, polyglot platform as...
Salesforce CCT Munich 2013 Introducing heroku - elastic, polyglot platform as...Salesforce CCT Munich 2013 Introducing heroku - elastic, polyglot platform as...
Salesforce CCT Munich 2013 Introducing heroku - elastic, polyglot platform as...
 
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
 
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
 
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
 
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
 
Srecon18americas lightning talk: Auto-Cascading Security Updates Through Dock...
Srecon18americas lightning talk: Auto-Cascading Security Updates Through Dock...Srecon18americas lightning talk: Auto-Cascading Security Updates Through Dock...
Srecon18americas lightning talk: Auto-Cascading Security Updates Through Dock...
 
Reusable Build Scripts for Managed Package Development (October 14, 2014)
Reusable Build Scripts for Managed Package Development (October 14, 2014)Reusable Build Scripts for Managed Package Development (October 14, 2014)
Reusable Build Scripts for Managed Package Development (October 14, 2014)
 
Dreamforce 2013 - Pitfalls and solutions
Dreamforce 2013 - Pitfalls and solutionsDreamforce 2013 - Pitfalls and solutions
Dreamforce 2013 - Pitfalls and solutions
 
Coding in the App Cloud
Coding in the App CloudCoding in the App Cloud
Coding in the App Cloud
 
Salesforce DX Pilot Product Overview
Salesforce DX Pilot Product OverviewSalesforce DX Pilot Product Overview
Salesforce DX Pilot Product Overview
 
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...
 
Igor Androsov on Mobilizing Salesforce Data with 12 Factor App on Heroku
Igor Androsov on Mobilizing Salesforce Data with 12 Factor App on HerokuIgor Androsov on Mobilizing Salesforce Data with 12 Factor App on Heroku
Igor Androsov on Mobilizing Salesforce Data with 12 Factor App on Heroku
 
Salesforce Lightning workshop Hartford - 12 March
Salesforce Lightning workshop Hartford - 12 MarchSalesforce Lightning workshop Hartford - 12 March
Salesforce Lightning workshop Hartford - 12 March
 
TDX19 - Accelerate DevOps with GitLab and Salesforce
TDX19 - Accelerate DevOps with GitLab and SalesforceTDX19 - Accelerate DevOps with GitLab and Salesforce
TDX19 - Accelerate DevOps with GitLab and Salesforce
 
Spring '14 Release Developer Preview Webinar
Spring '14 Release Developer Preview WebinarSpring '14 Release Developer Preview Webinar
Spring '14 Release Developer Preview Webinar
 
Salesforce Lightning workshop
Salesforce Lightning workshopSalesforce Lightning workshop
Salesforce Lightning workshop
 
Building Command-line Tools with the Tooling API
Building Command-line Tools with the Tooling APIBuilding Command-line Tools with the Tooling API
Building Command-line Tools with the Tooling API
 
Adopting Salesforce DX
Adopting Salesforce DXAdopting Salesforce DX
Adopting Salesforce DX
 

Mehr von John Stevenson

ClojureX Conference 2017 - 10 amazing years of Clojure
ClojureX Conference 2017 - 10 amazing years of ClojureClojureX Conference 2017 - 10 amazing years of Clojure
ClojureX Conference 2017 - 10 amazing years of ClojureJohn Stevenson
 
Confessions of a developer community builder
Confessions of a developer community builderConfessions of a developer community builder
Confessions of a developer community builderJohn Stevenson
 
Progscon 2017: Taming the wild fronteer - Adventures in Clojurescript
Progscon 2017: Taming the wild fronteer - Adventures in ClojurescriptProgscon 2017: Taming the wild fronteer - Adventures in Clojurescript
Progscon 2017: Taming the wild fronteer - Adventures in ClojurescriptJohn Stevenson
 
Introduction to Functional Reactive Web with Clojurescript
Introduction to Functional Reactive Web with ClojurescriptIntroduction to Functional Reactive Web with Clojurescript
Introduction to Functional Reactive Web with ClojurescriptJohn Stevenson
 
Thinking Functionally with Clojure
Thinking Functionally with ClojureThinking Functionally with Clojure
Thinking Functionally with ClojureJohn Stevenson
 
Communication improbable
Communication improbableCommunication improbable
Communication improbableJohn Stevenson
 
Getting into public speaking at conferences
Getting into public speaking at conferencesGetting into public speaking at conferences
Getting into public speaking at conferencesJohn Stevenson
 
Functional web with clojure
Functional web with clojureFunctional web with clojure
Functional web with clojureJohn Stevenson
 
Get into Functional Programming with Clojure
Get into Functional Programming with ClojureGet into Functional Programming with Clojure
Get into Functional Programming with ClojureJohn Stevenson
 
Guiding people into Clojure
Guiding people into ClojureGuiding people into Clojure
Guiding people into ClojureJohn Stevenson
 
Git and github - Verson Control for the Modern Developer
Git and github - Verson Control for the Modern DeveloperGit and github - Verson Control for the Modern Developer
Git and github - Verson Control for the Modern DeveloperJohn Stevenson
 
Get Functional Programming with Clojure
Get Functional Programming with ClojureGet Functional Programming with Clojure
Get Functional Programming with ClojureJohn Stevenson
 
So you want to run a developer event, are you crazy?
So you want to run a developer event, are you crazy?So you want to run a developer event, are you crazy?
So you want to run a developer event, are you crazy?John Stevenson
 
Trailhead live - Overview of Salesforce App Cloud
Trailhead live - Overview of Salesforce App CloudTrailhead live - Overview of Salesforce App Cloud
Trailhead live - Overview of Salesforce App CloudJohn Stevenson
 
Clojure for Java developers
Clojure for Java developersClojure for Java developers
Clojure for Java developersJohn Stevenson
 
Introducing the Salesforce platform
Introducing the Salesforce platformIntroducing the Salesforce platform
Introducing the Salesforce platformJohn Stevenson
 
Dreamforce14 Metadata Management with Git Version Control
Dreamforce14 Metadata Management with Git Version ControlDreamforce14 Metadata Management with Git Version Control
Dreamforce14 Metadata Management with Git Version ControlJohn Stevenson
 
Getting started with Clojure
Getting started with ClojureGetting started with Clojure
Getting started with ClojureJohn Stevenson
 
Salesforce Summer of Hacks London - Introduction
Salesforce Summer of Hacks London - IntroductionSalesforce Summer of Hacks London - Introduction
Salesforce Summer of Hacks London - IntroductionJohn Stevenson
 
Developers guide to the Salesforce1 Platform
Developers guide to the Salesforce1 PlatformDevelopers guide to the Salesforce1 Platform
Developers guide to the Salesforce1 PlatformJohn Stevenson
 

Mehr von John Stevenson (20)

ClojureX Conference 2017 - 10 amazing years of Clojure
ClojureX Conference 2017 - 10 amazing years of ClojureClojureX Conference 2017 - 10 amazing years of Clojure
ClojureX Conference 2017 - 10 amazing years of Clojure
 
Confessions of a developer community builder
Confessions of a developer community builderConfessions of a developer community builder
Confessions of a developer community builder
 
Progscon 2017: Taming the wild fronteer - Adventures in Clojurescript
Progscon 2017: Taming the wild fronteer - Adventures in ClojurescriptProgscon 2017: Taming the wild fronteer - Adventures in Clojurescript
Progscon 2017: Taming the wild fronteer - Adventures in Clojurescript
 
Introduction to Functional Reactive Web with Clojurescript
Introduction to Functional Reactive Web with ClojurescriptIntroduction to Functional Reactive Web with Clojurescript
Introduction to Functional Reactive Web with Clojurescript
 
Thinking Functionally with Clojure
Thinking Functionally with ClojureThinking Functionally with Clojure
Thinking Functionally with Clojure
 
Communication improbable
Communication improbableCommunication improbable
Communication improbable
 
Getting into public speaking at conferences
Getting into public speaking at conferencesGetting into public speaking at conferences
Getting into public speaking at conferences
 
Functional web with clojure
Functional web with clojureFunctional web with clojure
Functional web with clojure
 
Get into Functional Programming with Clojure
Get into Functional Programming with ClojureGet into Functional Programming with Clojure
Get into Functional Programming with Clojure
 
Guiding people into Clojure
Guiding people into ClojureGuiding people into Clojure
Guiding people into Clojure
 
Git and github - Verson Control for the Modern Developer
Git and github - Verson Control for the Modern DeveloperGit and github - Verson Control for the Modern Developer
Git and github - Verson Control for the Modern Developer
 
Get Functional Programming with Clojure
Get Functional Programming with ClojureGet Functional Programming with Clojure
Get Functional Programming with Clojure
 
So you want to run a developer event, are you crazy?
So you want to run a developer event, are you crazy?So you want to run a developer event, are you crazy?
So you want to run a developer event, are you crazy?
 
Trailhead live - Overview of Salesforce App Cloud
Trailhead live - Overview of Salesforce App CloudTrailhead live - Overview of Salesforce App Cloud
Trailhead live - Overview of Salesforce App Cloud
 
Clojure for Java developers
Clojure for Java developersClojure for Java developers
Clojure for Java developers
 
Introducing the Salesforce platform
Introducing the Salesforce platformIntroducing the Salesforce platform
Introducing the Salesforce platform
 
Dreamforce14 Metadata Management with Git Version Control
Dreamforce14 Metadata Management with Git Version ControlDreamforce14 Metadata Management with Git Version Control
Dreamforce14 Metadata Management with Git Version Control
 
Getting started with Clojure
Getting started with ClojureGetting started with Clojure
Getting started with Clojure
 
Salesforce Summer of Hacks London - Introduction
Salesforce Summer of Hacks London - IntroductionSalesforce Summer of Hacks London - Introduction
Salesforce Summer of Hacks London - Introduction
 
Developers guide to the Salesforce1 Platform
Developers guide to the Salesforce1 PlatformDevelopers guide to the Salesforce1 Platform
Developers guide to the Salesforce1 Platform
 

KĂŒrzlich hochgeladen

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
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
🐬 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
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
[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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
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
 
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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
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
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
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
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 

KĂŒrzlich hochgeladen (20)

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
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
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...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
[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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
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
 
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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
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
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
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
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 

Introduction to Heroku - CCT London 2013

  • 1. Introduction to Heroku John Stevenson Developer Advocate Salesforce / Heroku
  • 2. Proprietary & 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 April 30, 2011. 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. Deployment is challenging “Ops teams are overwhelmed by developer requests” “Different environments are not always the same. Patching and internal processes often not automated” “There is a divide in many enterprises between the developers & operations teams.”
  • 5. Continuous Delivery “..reducing the cycle time between an idea and usable software” - Martin Fowler “Software delivers no revenue until it is in the hands of its users.” -Jez Humble “.. leads to deeper relationship between IT, their business customer, and their final customers.” -Jez Humble
  • 6. Cloud Services should be easy “Should have a natural way to use the services that fits into each teams existing workflow” “Should be easy to see the value & cost benefits” “Should be as trust worthy as any internal service, if not more so.”
  • 7. DEMO: 30 SECOND APP Creating live apps should be fast

  • 11. Introducing Dynos  A self contained resource in which to run your application (Linux container) A logical abstraction over servers Application scalability is more valuable than number of servers
  • 12. Introducing Dynos  A self contained resource in which to run your application (Linux container) Allows a trivial way to scale your app and know how much its costing you!
  • 13. Inside an Heroku Dyno Application Dependencies Your Application code Embedded Container ‱ Any application ‱ Any framework (Spring, Play!, django, compojure, etc.) ‱ Maven, Gradle, SBT, Leiningen, Bundle, etc. ‱ Jetty, Tomcat, etc
  • 14. Heroku For Developers For each developer app created - 1 Dyno with 750 hours per month free Note: 31 days X 24 hours = 744 hours You can create as many Heroku applications as required
  • 15. Forget Servers  Focus 100% on code  Fully managed platform  Trust Heroku to be your DevOps support
  • 17. An Elastic “polyglot” Platform-as-a-Service pol·y·glot [pol-ee-glot] adjective 1. able to speak or write several languages; multilingual. 2. containing, composed of, or written in several languages
  • 20. Additional languages through “Build packs” Use a 3rd party build pack Define your own build, deploy & run cycle Create your Heroku application with a build pack heroku create myapp –buildpack https://github.com/a/buildpack.git
  • 21. Many build packs on Github
  • 22. Open Languages Ruby Clojure Node.JS Open Databases Mongo DB Amazon RDS Postgres Couch DB Redisdatabase.com Open Frameworks Sinatra Ruby on Rails CompojureRing Noir Padrino HalcyonWaves Play! Spring Lift Java Scala Polyglot frameworks & data sources
  • 25. Running your app processes – The Procfile Procfile A simple, declarative way to define application process types, so they can be easily managed in unison when scaling. A text file in the root of your project containing runtime commands & parameters
  • 26. Procfile examples Simple web server web: python -m SimpleHTTPServer $PORT Clojure web: lein with-profile production trampoline run -m my-clojure-website.web
  • 27. Procfile examples Java, Play framework & Postgres database web: target/start -Dhttp.port=${PORT} ${JAVA_OPTS} -DapplyEvolutions.default=true -Ddb.default.driver=org.postgresql.Driver -Ddb.default.url=${DATABASE_URL}
  • 28. Process Types  Define web processes that listen for http/s requests web: command options  Define other processes with any naming convention that is meaningful in your app worker: 
 queue: 
 priorityworker: 
 batch: 
 scheduler: 
 maintenance: 

  • 29. Scaling your app – by process type $ cat Procfile web: java $JAVA_OPTS EmbeddedServer worker: java $JAVA_OPTS YourJavaClass $ heroku scale web=4 worker=10 Scaling processes... done
  • 30. Scaling via web control panel
  • 31. Control apps via Heroku.com
  • 32. Controlling your application Processes $ heroku ps Process State Command ------- ----- ------- web.1 up for 6s java $JAVA_OPTS EmbeddedServer worker.1 up for 5s java $JAVA_OPTS YourJavaClass $ heroku ps:restart worker.1 Restarting worker.1 process... Done
  • 33. Trust & Manage 24x7 platform monitoring Herokai want to know when there is trouble before you do!
  • 34. Heroku Status $ heroku status === Heroku Status Development: No known issues at this time. Production: No known issues at this time.
  • 37. logplex Unified logging - application logs - administrative commands - infrastructure messages - realtime Dyno information time-ordered events aggregated from the output streams of all your app’s running processes, system components, and backing services.
  • 38. heroku logs heroku logs --source apps heroku logs --source heroku heroku logs --source heroku --ps api
  • 39. Example of errors in logs
  • 40. HEROKU ADD-ONS What else is there to Heroku ?
  • 41. New Relic – end 2 end analysis
  • 42. StillAlive – High availability
  • 45. Extensibility  A range of Relational & NoSQL databases  Monitoring for your app  
and too much to cover here https://addons.heroku.com/
  • 46. Heroku Postgres - as a service Powerful data storage – Irrespective of if you app is deployed on Heroku
  • 47. Heroku Postgres - adds more features
  • 48. CALCULATING THE VALUE How much does it cost?
  • 50. How much does it really cost to deploy software in your organisation?
  • 51. GETTING STARTED WITH HEROKU Git Push Deploy
  • 52. Setup your Heroku account 1) Create an account on Heroku 2) Download the Heroku Toolbelt 3) Upload you public key heroku login Or check if you already have a key:
  • 53. Whats in the Toolbelt?  Heroku command line tools – create | logs | ps | releases | run | addons | config   A Git client  Foreman – run apps locally as they would run on Heroku
  • 54. 5 steps to first deploy Create you app (using your build tool) Initialise a git repository for your project Create your heroku app (heroku create) Git Commit your files to the local repository Git Push your app to heroku
  • 57. COLLABORATION IN THE CLOUD Github and Heroku
  • 58. Heroku Collaboration  Add multiple developers to an app
  • 59. Heroku Collaboration  All collaborators can: – push updates & trigger deployment – view and change app settings  Only Owners can delete the app – or transfer ownership to a different account
  • 60. Github – Social Coding Collaborate on public or private projects Collaborate 24/7 all over the world
  • 61. Add Github repo to your app Create a new repository on Github Add the repository to your project git remote add github git@github.com/account/my-repo.git Push your code to github git push –u github master
  • 62. Collaborative coding on Github Add developers to your Github repo only those that you trust! Encourage pull requests from everyone else allows collaboration around commits Facilitate code reviews
  • 65. Adding more environments Common environments established include: production, staging, uat, testing, dev (foreman on dev machine) Create the environments you want heroku create my-app-staging heroku create my-app-uat heroku create my-app-testing Check add-ons used first heroku addons --remote heroku
  • 66. More Envs = more repositories  Every time you create a new Heroku environment a remote git repository is added – git remote –v
  • 67. Managing multiple repos  Learn to love git log – Configure it to use –graph  Or get a good visual git tool – SourceTree for MacOSX & Windows is great (and free)
  • 68. git log --graph --oneline --decorate
  • 69. Heroku (origin/master) often behind HEAD & test
  • 70. ROLLING BACK YOUR APPLICATIONS Managing Deployment
  • 73. View info about a release
  • 74. Rollback to a specific version
  • 75. History after rollback & push Rollback is a temporary solution, fix the root cause!
  • 76. Try for yourself Get Started at http://heroku.com/ Getting started with Heroku guides London Salesforce Developers http://www.meetup.com/LondonSalesforceDevelopers/ Thank you !!!

Hinweis der Redaktion

  1. ----- Meeting Notes (16/01/2013 11:59) -----Create a new app via the website & on the command line.Show the addon market place, apps control panel & the dev center.