SlideShare a Scribd company logo
1 of 79
Team collaboration in the
         Cloud




                 John Stevenson
  Developer Advocate @ Salesforce / Heroku
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.




Proprietary & Confidential
Why consider Heroku ?
Challenging deployment

              “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.”
30 second app - Demo
30 second app
What is Heroku ?
4 core principles




Forget     Run          See       Trust &
Servers   Anything   Everything   Manage
What is Heroku ?

Forget servers
Introducing Dynos
      A self contained resource in which
       to run your application

A logical abstraction over servers
 scalability is more valuable than # of servers




Allows a trivial way to scale your app
 and know how much its costing you!
For Developers
Free:
750 hours per month
               per app

Have as many apps as you require
Scaling via web control panel
Inside an Heroku Dyno

 Embedded      • Jetty, Tomcat, etc
 Container


 Application
Dependencies   • Maven, Gradle, SBT,
               Leiningen, Bundle, etc.
  Your
Application    • Anyapplication
  code
               • Any framework
               (Spring, Play!, django, compojure,etc.)
Forget Servers
Focus 100% on code
Fully managed platform
Trust Heroku to be your
 DevOps support
What is Heroku ?

Run Anything
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: a
polyglot Bible.
“Supported” languages




A Polyglot platform: 6 supported languages
Additional support through
           “Build packs”

Control your own build, deploy & run cycle
 defined using shell script or ruby


Create your app with a build pack
  heroku create myapp
   --buildpack https://github.com/a/buildpack.git
Many build packs on Github
Polyglot environments


Sinatra Ruby on Rails        Play!                                  Mongo DB   Amazon RDS    Postgres


                                      Ruby      Clojure   Node.JS

   Spring             Lift


Waves       Halcyon          Noir                                    database.com Couch DB    Redis

Padrino      Ring       Compojure        Java         Scala



      Open                                                                  Open
   Frameworks                        Open Languages
                                                                          Databases
No Vendor Lock-in
Procfile

  A simple, declarative way to define app
  process types, so they can be easily
  managed in unison.

  A text file in the root of your project
  containing a startup command &
  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 & Postres
web: target/start -Dhttp.port=${PORT}

${JAVA_OPTS}

 -DapplyEvolutions.default=true


 -Ddb.default.driver=org.postgresql.Driver

 -Ddb.default.url=${DATABASE_URL}
What is Heroku ?

See Everything
logplex

Unified logging

• App operations
• Administrative commands
• All infrastructure messages

Real time Dyno information
Logplex


time-ordered events aggregated from
  the output streams of all your app’s
  running processes, system components,
  and backing services.
heroku logs
heroku logs
heroku logs --source apps
heroku logs --source heroku
heroku logs --source heroku --ps api
Example of error in logs
Trust & manage
Effortless Scaling




Web             Worker

Workload Diversity
      (Process types)
Scaling your app

$ cat Procfile
web:        java $JAVA_OPTS EmbeddedServer
worker:     java $JAVA_OPTS YourJavaClass



$ heroku scale web=4 worker=10
Scaling processes... done
Control apps via Heroku.com
Controling Heroku - CLI
$ heroku ps
Process        State          Command
-----------    -----------    -----------------------------
web.1          up for 6s      java $JAVA_OPTS EmbeddedServer
worker.1       up for 5s      java $JAVA_OPTS YourJavaClass


$ heroku restart worker.1
Restarting worker.1 process... Done

$ heroku status
=== Heroku Status
Development: No known issues at this time.
Production: No known issues at this time.

$ heroku sharing
=== enterprise-workshop Collaborators
jstevenson@heroku.com
steve@jobs.com
Trust & Manage

  24x7 platform monitoring
   Herokai know when there is
  trouble before you do!
status.heroku.com
Heroku cost calculator
What else is there to Heroku ?

Heroku add-ons
Extensibility
      A range of Relational &
       NoSQL databases
      Monitoring for your app


           …and too much to cover here



https://addons.heroku.com/
Postgres as a service
Powerful data storage
 Irrespective of if you app is deployed on Heroku
Git Push Deploy

Getting started with Heroku
Setup your Heroku account
Create an account on Heroku
Download the Heroku Toolbelt


Upload you public key
 heroku login
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
Commit your files to the local repository
Push your app to heroku
Simplistic
Continuous deployment
Continuous deployment
Github and Heroku

Collaboration in the cloud
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 repo on Github
Add the repo to your project
 git remote add github
  git@github.com/account/my-repo.git


Push you code to github
 git push –u github master
Collaborative coding on
            Github
Add people to your Github repo
 only those that you trust!



Encourage pull requests
 allows collaboration around commits
 Facilitate code reviews
Pull request discussion
Pull request code review
Adding more environments
Typically there are:
 production, staging, uat, testing , dev


Create the environments you want
 heroku create my-app-staging
 heroku create my-app-uat
 heroku create my-app-testing
Check your addons first
Check which addons used before creating
 new environments



heroku addons --remote heroku
heroku addons --remote production
More Envs = more repos
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 is great (and
  free)
git log --graph
Heroku behind HEAD
Continuous Integration servers
Continuous deployment
Travis-CI for open projects
Managing Deployment

Rolling back your applications
Heroku rollback mechanism
Release History
View info about a release
Rollback to a specific version
History after rollback & push
Try for yourself
Thank you !!!

More Related Content

What's hot

Cloud Foundry for PHP developers
Cloud Foundry for PHP developersCloud Foundry for PHP developers
Cloud Foundry for PHP developersDaniel Krook
 
Cloud Native: Designing Change-tolerant Software
Cloud Native: Designing Change-tolerant SoftwareCloud Native: Designing Change-tolerant Software
Cloud Native: Designing Change-tolerant Softwarecornelia davis
 
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
 
JavaOne 2015 - Swimming upstream in the container revolution
JavaOne 2015 - Swimming upstream in the container revolutionJavaOne 2015 - Swimming upstream in the container revolution
JavaOne 2015 - Swimming upstream in the container revolutionBert Jan Schrijver
 
Cloud foundry architecture and deep dive
Cloud foundry architecture and deep diveCloud foundry architecture and deep dive
Cloud foundry architecture and deep diveAnimesh Singh
 
2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개
2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개
2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개VMware Tanzu Korea
 
Linux Collaboration Summit Keynote: Transformation: It Takes a Platform
Linux Collaboration Summit Keynote: Transformation: It Takes a PlatformLinux Collaboration Summit Keynote: Transformation: It Takes a Platform
Linux Collaboration Summit Keynote: Transformation: It Takes a Platformcornelia davis
 
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitThe DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitMarco Ferrigno
 
JNUC 2017: Open Distribution Server
JNUC 2017: Open Distribution ServerJNUC 2017: Open Distribution Server
JNUC 2017: Open Distribution ServerBryson Tyrrell
 
Keynote: Software Kept Eating the World (Pivotal Cloud Platform Roadshow)
Keynote: Software Kept Eating the World (Pivotal Cloud Platform Roadshow)Keynote: Software Kept Eating the World (Pivotal Cloud Platform Roadshow)
Keynote: Software Kept Eating the World (Pivotal Cloud Platform Roadshow)VMware Tanzu
 
DevOPS training - Day 1/2
DevOPS training - Day 1/2DevOPS training - Day 1/2
DevOPS training - Day 1/2Vincent Mercier
 
Puppet devops wdec
Puppet devops wdecPuppet devops wdec
Puppet devops wdecWojciech Dec
 
Devops interview-questions-PDF
Devops interview-questions-PDFDevops interview-questions-PDF
Devops interview-questions-PDFMayank Kumar
 
Oracle Cloud With Azure DevOps Pipelines
Oracle Cloud With Azure DevOps PipelinesOracle Cloud With Azure DevOps Pipelines
Oracle Cloud With Azure DevOps PipelinesJohan Louwers
 
Demystify LDAP and OIDC Providing Security to Your App on Kubernetes
Demystify LDAP and OIDC Providing Security to Your App on KubernetesDemystify LDAP and OIDC Providing Security to Your App on Kubernetes
Demystify LDAP and OIDC Providing Security to Your App on KubernetesVMware Tanzu
 
DOES14 - Joshua Corman - Sonatype
DOES14 - Joshua Corman - SonatypeDOES14 - Joshua Corman - Sonatype
DOES14 - Joshua Corman - SonatypeGene Kim
 
Going Serverless Using the Spring Framework Ecosystem
Going Serverless Using the Spring Framework EcosystemGoing Serverless Using the Spring Framework Ecosystem
Going Serverless Using the Spring Framework EcosystemVMware Tanzu
 
DevOps Interview Questions Part - 2 | Devops Interview Questions And Answers ...
DevOps Interview Questions Part - 2 | Devops Interview Questions And Answers ...DevOps Interview Questions Part - 2 | Devops Interview Questions And Answers ...
DevOps Interview Questions Part - 2 | Devops Interview Questions And Answers ...Simplilearn
 
Declarative Infrastructure with Cloud Foundry BOSH
Declarative Infrastructure with Cloud Foundry BOSHDeclarative Infrastructure with Cloud Foundry BOSH
Declarative Infrastructure with Cloud Foundry BOSHcornelia davis
 

What's hot (20)

Cloud Foundry for PHP developers
Cloud Foundry for PHP developersCloud Foundry for PHP developers
Cloud Foundry for PHP developers
 
Cloud Native: Designing Change-tolerant Software
Cloud Native: Designing Change-tolerant SoftwareCloud Native: Designing Change-tolerant Software
Cloud Native: Designing Change-tolerant Software
 
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...
 
JavaOne 2015 - Swimming upstream in the container revolution
JavaOne 2015 - Swimming upstream in the container revolutionJavaOne 2015 - Swimming upstream in the container revolution
JavaOne 2015 - Swimming upstream in the container revolution
 
Cloud foundry architecture and deep dive
Cloud foundry architecture and deep diveCloud foundry architecture and deep dive
Cloud foundry architecture and deep dive
 
2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개
2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개
2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개
 
Linux Collaboration Summit Keynote: Transformation: It Takes a Platform
Linux Collaboration Summit Keynote: Transformation: It Takes a PlatformLinux Collaboration Summit Keynote: Transformation: It Takes a Platform
Linux Collaboration Summit Keynote: Transformation: It Takes a Platform
 
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitThe DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
 
JNUC 2017: Open Distribution Server
JNUC 2017: Open Distribution ServerJNUC 2017: Open Distribution Server
JNUC 2017: Open Distribution Server
 
Keynote: Software Kept Eating the World (Pivotal Cloud Platform Roadshow)
Keynote: Software Kept Eating the World (Pivotal Cloud Platform Roadshow)Keynote: Software Kept Eating the World (Pivotal Cloud Platform Roadshow)
Keynote: Software Kept Eating the World (Pivotal Cloud Platform Roadshow)
 
From ci to cd
From ci to cdFrom ci to cd
From ci to cd
 
DevOPS training - Day 1/2
DevOPS training - Day 1/2DevOPS training - Day 1/2
DevOPS training - Day 1/2
 
Puppet devops wdec
Puppet devops wdecPuppet devops wdec
Puppet devops wdec
 
Devops interview-questions-PDF
Devops interview-questions-PDFDevops interview-questions-PDF
Devops interview-questions-PDF
 
Oracle Cloud With Azure DevOps Pipelines
Oracle Cloud With Azure DevOps PipelinesOracle Cloud With Azure DevOps Pipelines
Oracle Cloud With Azure DevOps Pipelines
 
Demystify LDAP and OIDC Providing Security to Your App on Kubernetes
Demystify LDAP and OIDC Providing Security to Your App on KubernetesDemystify LDAP and OIDC Providing Security to Your App on Kubernetes
Demystify LDAP and OIDC Providing Security to Your App on Kubernetes
 
DOES14 - Joshua Corman - Sonatype
DOES14 - Joshua Corman - SonatypeDOES14 - Joshua Corman - Sonatype
DOES14 - Joshua Corman - Sonatype
 
Going Serverless Using the Spring Framework Ecosystem
Going Serverless Using the Spring Framework EcosystemGoing Serverless Using the Spring Framework Ecosystem
Going Serverless Using the Spring Framework Ecosystem
 
DevOps Interview Questions Part - 2 | Devops Interview Questions And Answers ...
DevOps Interview Questions Part - 2 | Devops Interview Questions And Answers ...DevOps Interview Questions Part - 2 | Devops Interview Questions And Answers ...
DevOps Interview Questions Part - 2 | Devops Interview Questions And Answers ...
 
Declarative Infrastructure with Cloud Foundry BOSH
Declarative Infrastructure with Cloud Foundry BOSHDeclarative Infrastructure with Cloud Foundry BOSH
Declarative Infrastructure with Cloud Foundry BOSH
 

Similar to Heroku for team collaboration

Introduction to Heroku - CCT London 2013
Introduction to Heroku - CCT London 2013Introduction to Heroku - CCT London 2013
Introduction to Heroku - CCT London 2013John Stevenson
 
Mds cloud saturday 2015 how to heroku
Mds cloud saturday 2015 how to herokuMds cloud saturday 2015 how to heroku
Mds cloud saturday 2015 how to herokuDavid Scruggs
 
Heroku Introduction: Scaling customer facing apps & services
Heroku Introduction: Scaling customer facing apps & servicesHeroku Introduction: Scaling customer facing apps & services
Heroku Introduction: Scaling customer facing apps & servicesJohn Stevenson
 
IBM Innovate 2013 Session: DevOps 101
IBM Innovate 2013 Session: DevOps 101IBM Innovate 2013 Session: DevOps 101
IBM Innovate 2013 Session: DevOps 101Sanjeev Sharma
 
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
 
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 Open Source Embiggens Salesforce.com
How Open Source Embiggens Salesforce.comHow Open Source Embiggens Salesforce.com
How Open Source Embiggens Salesforce.comSalesforce Engineering
 
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
 
CloudOps evening presentation from Salesforce.com
CloudOps evening presentation from Salesforce.comCloudOps evening presentation from Salesforce.com
CloudOps evening presentation from Salesforce.comAlistair Croll
 
Sukumar Nayak-Agile-DevOps-Cloud Management
Sukumar Nayak-Agile-DevOps-Cloud ManagementSukumar Nayak-Agile-DevOps-Cloud Management
Sukumar Nayak-Agile-DevOps-Cloud ManagementSukumar Nayak
 
Was l iberty for java batch and jsr352
Was l iberty for java batch and jsr352Was l iberty for java batch and jsr352
Was l iberty for java batch and jsr352sflynn073
 
Heroku - developer playground
Heroku - developer playground Heroku - developer playground
Heroku - developer playground Troy Sellers
 
Dev ops for python, django, ror and java stacks
Dev ops for python, django, ror and java stacksDev ops for python, django, ror and java stacks
Dev ops for python, django, ror and java stacksswamileo1
 
Building Java Apps on Heroku and Force.com
Building Java Apps on Heroku and Force.comBuilding Java Apps on Heroku and Force.com
Building Java Apps on Heroku and Force.comSalesforce Developers
 
The Business Value of PaaS Automation - Kieron Sambrook-Smith - Presentation ...
The Business Value of PaaS Automation - Kieron Sambrook-Smith - Presentation ...The Business Value of PaaS Automation - Kieron Sambrook-Smith - Presentation ...
The Business Value of PaaS Automation - Kieron Sambrook-Smith - Presentation ...eZ Systems
 
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
 
The Twelve Factor App
The Twelve Factor AppThe Twelve Factor App
The Twelve Factor AppPablo Fullana
 
Connect Your Clouds with Force.com
Connect Your Clouds with Force.comConnect Your Clouds with Force.com
Connect Your Clouds with Force.comJeff Douglas
 
OpenWhisk Introduction
OpenWhisk IntroductionOpenWhisk Introduction
OpenWhisk IntroductionIoana Baldini
 

Similar to Heroku for team collaboration (20)

Introduction to Heroku - CCT London 2013
Introduction to Heroku - CCT London 2013Introduction to Heroku - CCT London 2013
Introduction to Heroku - CCT London 2013
 
Mds cloud saturday 2015 how to heroku
Mds cloud saturday 2015 how to herokuMds cloud saturday 2015 how to heroku
Mds cloud saturday 2015 how to heroku
 
Heroku Introduction: Scaling customer facing apps & services
Heroku Introduction: Scaling customer facing apps & servicesHeroku Introduction: Scaling customer facing apps & services
Heroku Introduction: Scaling customer facing apps & services
 
IBM Innovate 2013 Session: DevOps 101
IBM Innovate 2013 Session: DevOps 101IBM Innovate 2013 Session: DevOps 101
IBM Innovate 2013 Session: DevOps 101
 
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
 
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
 
Introduction to Heroku
Introduction to HerokuIntroduction to Heroku
Introduction to Heroku
 
How Open Source Embiggens Salesforce.com
How Open Source Embiggens Salesforce.comHow Open Source Embiggens Salesforce.com
How Open Source Embiggens Salesforce.com
 
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
 
CloudOps evening presentation from Salesforce.com
CloudOps evening presentation from Salesforce.comCloudOps evening presentation from Salesforce.com
CloudOps evening presentation from Salesforce.com
 
Sukumar Nayak-Agile-DevOps-Cloud Management
Sukumar Nayak-Agile-DevOps-Cloud ManagementSukumar Nayak-Agile-DevOps-Cloud Management
Sukumar Nayak-Agile-DevOps-Cloud Management
 
Was l iberty for java batch and jsr352
Was l iberty for java batch and jsr352Was l iberty for java batch and jsr352
Was l iberty for java batch and jsr352
 
Heroku - developer playground
Heroku - developer playground Heroku - developer playground
Heroku - developer playground
 
Dev ops for python, django, ror and java stacks
Dev ops for python, django, ror and java stacksDev ops for python, django, ror and java stacks
Dev ops for python, django, ror and java stacks
 
Building Java Apps on Heroku and Force.com
Building Java Apps on Heroku and Force.comBuilding Java Apps on Heroku and Force.com
Building Java Apps on Heroku and Force.com
 
The Business Value of PaaS Automation - Kieron Sambrook-Smith - Presentation ...
The Business Value of PaaS Automation - Kieron Sambrook-Smith - Presentation ...The Business Value of PaaS Automation - Kieron Sambrook-Smith - Presentation ...
The Business Value of PaaS Automation - Kieron Sambrook-Smith - Presentation ...
 
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...
 
The Twelve Factor App
The Twelve Factor AppThe Twelve Factor App
The Twelve Factor App
 
Connect Your Clouds with Force.com
Connect Your Clouds with Force.comConnect Your Clouds with Force.com
Connect Your Clouds with Force.com
 
OpenWhisk Introduction
OpenWhisk IntroductionOpenWhisk Introduction
OpenWhisk Introduction
 

More from 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
 

More from 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
 

Recently uploaded

Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
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
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 

Recently uploaded (20)

Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
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...
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 

Heroku for team collaboration

  • 1. Team collaboration in the Cloud John Stevenson Developer Advocate @ Salesforce / Heroku
  • 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 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. Proprietary & Confidential
  • 4. Challenging deployment “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. 30 second app - Demo
  • 9.
  • 11. 4 core principles Forget Run See Trust & Servers Anything Everything Manage
  • 12. What is Heroku ? Forget servers
  • 13. Introducing Dynos A self contained resource in which to run your application A logical abstraction over servers scalability is more valuable than # of servers Allows a trivial way to scale your app and know how much its costing you!
  • 14. For Developers Free: 750 hours per month per app Have as many apps as you require
  • 15. Scaling via web control panel
  • 16. Inside an Heroku Dyno Embedded • Jetty, Tomcat, etc Container Application Dependencies • Maven, Gradle, SBT, Leiningen, Bundle, etc. Your Application • Anyapplication code • Any framework (Spring, Play!, django, compojure,etc.)
  • 17. Forget Servers Focus 100% on code Fully managed platform Trust Heroku to be your DevOps support
  • 18. What is Heroku ? Run Anything
  • 19. 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: a polyglot Bible.
  • 20. “Supported” languages A Polyglot platform: 6 supported languages
  • 21. Additional support through “Build packs” Control your own build, deploy & run cycle defined using shell script or ruby Create your app with a build pack heroku create myapp --buildpack https://github.com/a/buildpack.git
  • 22. Many build packs on Github
  • 23. Polyglot environments Sinatra Ruby on Rails Play! Mongo DB Amazon RDS Postgres Ruby Clojure Node.JS Spring Lift Waves Halcyon Noir database.com Couch DB Redis Padrino Ring Compojure Java Scala Open Open Frameworks Open Languages Databases
  • 24. No Vendor Lock-in Procfile A simple, declarative way to define app process types, so they can be easily managed in unison. A text file in the root of your project containing a startup command & parameters
  • 25. Procfile examples Simple web server web: python -m SimpleHTTPServer $PORT Clojure web: lein with-profile production trampoline run -m my-clojure-website.web
  • 26. Procfile examples Java, Play framework & Postres web: target/start -Dhttp.port=${PORT} ${JAVA_OPTS} -DapplyEvolutions.default=true -Ddb.default.driver=org.postgresql.Driver -Ddb.default.url=${DATABASE_URL}
  • 27. What is Heroku ? See Everything
  • 28. logplex Unified logging • App operations • Administrative commands • All infrastructure messages Real time Dyno information
  • 29. Logplex time-ordered events aggregated from the output streams of all your app’s running processes, system components, and backing services. heroku logs
  • 30. heroku logs heroku logs --source apps heroku logs --source heroku heroku logs --source heroku --ps api
  • 31. Example of error in logs
  • 33. Effortless Scaling Web Worker Workload Diversity (Process types)
  • 34. Scaling your app $ cat Procfile web: java $JAVA_OPTS EmbeddedServer worker: java $JAVA_OPTS YourJavaClass $ heroku scale web=4 worker=10 Scaling processes... done
  • 35. Control apps via Heroku.com
  • 36. Controling Heroku - CLI $ heroku ps Process State Command ----------- ----------- ----------------------------- web.1 up for 6s java $JAVA_OPTS EmbeddedServer worker.1 up for 5s java $JAVA_OPTS YourJavaClass $ heroku restart worker.1 Restarting worker.1 process... Done $ heroku status === Heroku Status Development: No known issues at this time. Production: No known issues at this time. $ heroku sharing === enterprise-workshop Collaborators jstevenson@heroku.com steve@jobs.com
  • 37. Trust & Manage 24x7 platform monitoring Herokai know when there is trouble before you do!
  • 39.
  • 40.
  • 41.
  • 42.
  • 44. What else is there to Heroku ? Heroku add-ons
  • 45. Extensibility A range of Relational & NoSQL databases Monitoring for your app …and too much to cover here https://addons.heroku.com/
  • 46. Postgres as a service Powerful data storage Irrespective of if you app is deployed on Heroku
  • 47. Git Push Deploy Getting started with Heroku
  • 48. Setup your Heroku account Create an account on Heroku Download the Heroku Toolbelt Upload you public key heroku login
  • 49. 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
  • 50. 5 steps to first deploy Create you app (using your build tool) Initialise a git repository for your project Create your heroku app Commit your files to the local repository Push your app to heroku
  • 54. Heroku Collaboration Add multiple developers to an app
  • 55. 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
  • 56. Github – Social Coding Collaborate on public or private projects Collaborate 24/7 all over the world
  • 57. Add Github repo to your app Create a new repo on Github Add the repo to your project git remote add github git@github.com/account/my-repo.git Push you code to github git push –u github master
  • 58. Collaborative coding on Github Add people to your Github repo only those that you trust! Encourage pull requests allows collaboration around commits Facilitate code reviews
  • 61. Adding more environments Typically there are: production, staging, uat, testing , dev Create the environments you want heroku create my-app-staging heroku create my-app-uat heroku create my-app-testing
  • 62. Check your addons first Check which addons used before creating new environments heroku addons --remote heroku heroku addons --remote production
  • 63. More Envs = more repos Every time you create a new Heroku environment a remote git repository is added git remote –v
  • 64. Managing multiple repos Learn to love git log Configure it to use –graph Or get a good visual git tool SourceTree for MacOSX is great (and free)
  • 69. Travis-CI for open projects
  • 70.
  • 71.
  • 72. Managing Deployment Rolling back your applications
  • 75. View info about a release
  • 76. Rollback to a specific version

Editor's Notes

  1. Maybe a venn diagram to illustrate these definitions better?
  2. ----- 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.