SlideShare una empresa de Scribd logo
1 de 16
nzoschke




                   /
Heroku Secrets - Waza 2013
Twelve-Factor
Adam Wiggins' The Twelve-Factor App (http://12factor.net/)

Modern software design for software-as-a-service

Heroku enables and enforces these patterns
Continuous Deployment
One codebase - many deploys

2 million releases in Feb alone

600 "kernel" releases in Feb alone
Dependencies
2x more Rails than Sinatra

3x more Webrick than Thin

5x more Thin than Unicorn

10x more Unicorn than Puma
Bundler API
6 web dynos, 1 data worker, 4 databases

1 production DB

2 read-only follower DBs

1 test DB
Config
Encrypted

Stored in Dynamo
Data
$hrk adn:d hrk-otrsldv-vrin92
  eou dosad eoupsgeq:e -eso=.
Atce a HRK_OTRSLCPE_R
 tahd s EOUPSGEQ_OPRUL

$hrk p:slCPE
  eou gpq OPR
=  shm.q
 > i ceasl
CET TBE
 RAE AL

= cet etninp_ttsaeet;
 > rae xeso gsa_ttmns
CET ETNIN
 RAE XESO
Data Tools
Datascope (https://datascope.herokuapp.com)

Dataclips
(https://dataclips.heroku.com/xqzzcwmlubhblavdipydzzqmlmbm

Dataclips
(https://dataclips.heroku.com/xqzzcwmlubhblavdipydzzqmlmbm

Dataclips
(https://docs.google.com/a/heroku.com/spreadsheet/ccc?
key=0AuBDxqx7T2vodDhfZk1YR0xIXzl2ckJRaFA5RUZjU0E&rm
Build
        https://github.com/nzoschke/apache-http-git
       (https://github.com/nzoschke/apache-http-git)
        https://github.com/kr/heroku-buildpack-inline
       (https://github.com/kr/heroku-buildpack-inline)
$ctbncmie
  a i/opl
#/i/ah
 !bnbs
st-
 e x
BIDDR$pd
 UL_I=(w)

mdr- $UL_I/r
 ki p BIDDRsc
cr - ht:/pcemrospi.o/tp/tp-..4trg |trx - $UL_I/r
 ul s tp/aah.irr.arcmhtdhtd222.a.z  a z C BIDDRsc
cr - ht:/i-oegolcd.o/ie/i-....a.z |trx - $UL_I/r
 ul s tp/gtcr.ogeoecmflsgt1814trg   a z C BIDDRsc

c $UL_I/r/i-...
 d BIDDRscgt1814
.cniue-pei=apvno/i -wtottlk
 /ofgr -rfx/p/edrgt -ihu-ct
mk - -
 ae i k
DSDR$UL_I mk - isal
 ETI=BIDDR ae i ntl

c $UL_I/r/tp-..4
 d BIDDRschtd222
.cniue-pei=apvno/tp
 /ofgr -rfx/p/edrhtd
mk
 ae
DSDR$UL_I mk isal
 ETI=BIDDR ae ntl

r -f$UL_I/r
 m r BIDDRsc
Build Services
$ctbnhtd
  a i/tp

#/i/ah
 !bnbs
PR={OT-00
 OT$PR:50}
RO=(d$drae$).;pd
 OT$c (inm 0/. w)

epr GTDR/m/o.i
 xot I_I=tpfogt
gtii -br $I_I
 i nt -ae GTDR
gtcni ht.eevpc tu
 i ofg tprcieak re

ct>tphtd$.of<EF
 a /m/tp.$cn <O
CsoLg"tpacs_o"cmiei
 utmo /m/ceslg obndo
Erro "tperrlg
 roLg /m/ro_o"
Lgee dbg
 oLvl eu

Stn GTPOETRO /m
 eEv I_RJC_OT tp
Stn GTHT_XOTAL
 eEv I_TPEPR_L
SrpAis/$OTvno/i/iee/i-oegtht-akn/
 citla   RO/edrgtlbxcgtcr/i-tpbced

Lse $OT
 itn PR
EF
 O

tuh
 oc     /m/ceslg
         tpacs_o
tuh
 oc     /m/ro_o
         tperrlg
ti -
 al F   /m/ceslg&
         tpacs_o
ti -
 al F   /m/ro_o &
         tperrlg

ee /p/edrhtdbnhtd- FRGON - /m/tp.$cn &
 xc apvno/tp/i/tp D OERUD f tphtd$.of
Build Services
             https://github.com/ddollar/anvil
            (https://github.com/ddollar/anvil)
$hrk bid.
  eou ul
Cekn frapflst sn..dn,2flsnee
 hcig o  p ie o yc. oe  ie edd
Ulaig 100 (T:0)
 podn: 0.% EA s
Lucigbidpoes. dn
 anhn ul   rcs.. oe
Fthn bidak. dn
 ecig ulpc.. oe
Cmiigap.
 opln p..
Sces su i hts/aiavlok.r/lg/d4c658-ab9e-ca9658tz
 ucs, lg s tp:/p.niwrsogsusc478-2a44-003e2b4e.g
Release API
     https://devcenter.heroku.com/articles/labs-pipelines
    (https://devcenter.heroku.com/articles/labs-pipelines)
$cr -XPS hts/csuu.eoup.o/1ap/eouscesrlae
   ul v OT tp:/iarshrkapcmv/pshrk-ert/ees       
  - "otn-ye tx/sn
   H CnetTp: etjo"                              
  - "$EOUAIKY 
   u :HRK_P_E"
  - '"p""eousces,"ecito""o" "lgul:hts/aiavlok.r/lg/d
   d {ap:hrk-ert" dsrpin:fo, su_r""tp:/p.niwrsogsusc4
4c658-ab9e-ca9658tz}
 78-2a44-003e2b4e.g"'

<HT/. 22Acpe
  TP11 0 cetd
Run
$hrk rnbs
  eou u ah
~$d -h
    u s
52 .
 .M

~$hsnm
   otae
e313-3e43-b07936c5
 b47c73-d893-fd5f54

~$eh $OT
    co PR
278
 22

~$/bnicni |sd- '/*ntad:(09]+)s*/'|ha -
   si/fofg  e n s.ie dr[-../1p  ed 1
1.91117
 02.4.9

~$cr icni.ehs
   ul fofgm/ot
e25-3-85.opt-.mznw.o
 c-4245-9cmue1aaoascm
~$bnl ee ib
   ude xc r
Profile Scripts
$hrk rnbs
  eou u ah
Rnig`ah atce t tria..u,rn87
 unn bs` tahd o emnl. p u.69

SmtmsIwne i Imi m rgtmn. Te i pse ofadIm
 oeie    odr f ' n y ih id hn t ass f n '
a itlieta ee.
 s nelgn   s vr
   - Sme Bcet "ngm"
    - aul ekt, Edae

~$
$ct$OE.rfl./otn.h
  a HM/poiedfrues
#/i/ah
 !bnbs

rb <'O'
 uy <EF
  cnet =Dr"apvno/s/hr/ae/otns*]mp{||Fl.pnf.ed}
   otns  i[/p/edrursaegmsfrue/".a  f ieoe()ra
  frue =cnet.a {||fslt"n" }
   otns  otnsmp  f .pi(%n)
  pt frue.lte.hfl[]
   us otnsfatnsufe0
EF
 O
Disposability
56.5 million unique runs in February alone

75000+ instances and counting in Heroku's production cloud
life
Logs
  https://devcenter.heroku.com/articles/labs-https-drains
 (https://devcenter.heroku.com/articles/labs-https-drains)

HTTP Drains

L2met Server / Service
(https://github.com/ryandotsmith/l2met) -> Librato, etc.

Más contenido relacionado

La actualidad más candente

Building a desktop app with HTTP::Engine, SQLite and jQuery
Building a desktop app with HTTP::Engine, SQLite and jQueryBuilding a desktop app with HTTP::Engine, SQLite and jQuery
Building a desktop app with HTTP::Engine, SQLite and jQueryTatsuhiko Miyagawa
 
如何透過 Go-kit 快速搭建微服務架構應用程式實戰
如何透過 Go-kit 快速搭建微服務架構應用程式實戰如何透過 Go-kit 快速搭建微服務架構應用程式實戰
如何透過 Go-kit 快速搭建微服務架構應用程式實戰KAI CHU CHUNG
 
Docker Demo @ IuK Seminar
Docker Demo @ IuK SeminarDocker Demo @ IuK Seminar
Docker Demo @ IuK SeminarMartin Scharm
 
Building with Firebase
Building with FirebaseBuilding with Firebase
Building with FirebaseMike Fowler
 
Making environment for_infrastructure_as_code
Making environment for_infrastructure_as_codeMaking environment for_infrastructure_as_code
Making environment for_infrastructure_as_codeSoshi Nemoto
 
Docker @ Data Science Meetup
Docker @ Data Science MeetupDocker @ Data Science Meetup
Docker @ Data Science MeetupDaniel Nüst
 
GIT, RVM, FIRST HEROKU APP
GIT, RVM, FIRST HEROKU APPGIT, RVM, FIRST HEROKU APP
GIT, RVM, FIRST HEROKU APPPavel Tyk
 
Scaling Next-Generation Internet TV on AWS With Docker, Packer, and Chef
Scaling Next-Generation Internet TV on AWS With Docker, Packer, and ChefScaling Next-Generation Internet TV on AWS With Docker, Packer, and Chef
Scaling Next-Generation Internet TV on AWS With Docker, Packer, and Chefbridgetkromhout
 
PDXPortland - Dockerize Django
PDXPortland - Dockerize DjangoPDXPortland - Dockerize Django
PDXPortland - Dockerize DjangoHannes Hapke
 
Weird things we've seen with OpenStack Neutron
Weird things we've seen with OpenStack NeutronWeird things we've seen with OpenStack Neutron
Weird things we've seen with OpenStack NeutronNick Jones
 
AnyMQ, Hippie, and the real-time web
AnyMQ, Hippie, and the real-time webAnyMQ, Hippie, and the real-time web
AnyMQ, Hippie, and the real-time webclkao
 
Rapid Infrastructure Provisioning
Rapid Infrastructure ProvisioningRapid Infrastructure Provisioning
Rapid Infrastructure ProvisioningUchit Vyas ☁
 
DevOps tools for everyone - Vagrant, Puppet and Webmin
DevOps tools for everyone - Vagrant, Puppet and WebminDevOps tools for everyone - Vagrant, Puppet and Webmin
DevOps tools for everyone - Vagrant, Puppet and Webminpostrational
 
ApacheCon 2014 - What's New in Apache httpd 2.4
ApacheCon 2014 - What's New in Apache httpd 2.4ApacheCon 2014 - What's New in Apache httpd 2.4
ApacheCon 2014 - What's New in Apache httpd 2.4Jim Jagielski
 
60分鐘完送百萬edm,背後雲端ci/cd實戰大公開
60分鐘完送百萬edm,背後雲端ci/cd實戰大公開60分鐘完送百萬edm,背後雲端ci/cd實戰大公開
60分鐘完送百萬edm,背後雲端ci/cd實戰大公開KAI CHU CHUNG
 
Docker for data science
Docker for data scienceDocker for data science
Docker for data scienceCalvin Giles
 

La actualidad más candente (20)

Building a desktop app with HTTP::Engine, SQLite and jQuery
Building a desktop app with HTTP::Engine, SQLite and jQueryBuilding a desktop app with HTTP::Engine, SQLite and jQuery
Building a desktop app with HTTP::Engine, SQLite and jQuery
 
如何透過 Go-kit 快速搭建微服務架構應用程式實戰
如何透過 Go-kit 快速搭建微服務架構應用程式實戰如何透過 Go-kit 快速搭建微服務架構應用程式實戰
如何透過 Go-kit 快速搭建微服務架構應用程式實戰
 
Docker Demo @ IuK Seminar
Docker Demo @ IuK SeminarDocker Demo @ IuK Seminar
Docker Demo @ IuK Seminar
 
Building with Firebase
Building with FirebaseBuilding with Firebase
Building with Firebase
 
Making environment for_infrastructure_as_code
Making environment for_infrastructure_as_codeMaking environment for_infrastructure_as_code
Making environment for_infrastructure_as_code
 
Puppet and Openshift
Puppet and OpenshiftPuppet and Openshift
Puppet and Openshift
 
Docker @ Data Science Meetup
Docker @ Data Science MeetupDocker @ Data Science Meetup
Docker @ Data Science Meetup
 
GIT, RVM, FIRST HEROKU APP
GIT, RVM, FIRST HEROKU APPGIT, RVM, FIRST HEROKU APP
GIT, RVM, FIRST HEROKU APP
 
Plack at OSCON 2010
Plack at OSCON 2010Plack at OSCON 2010
Plack at OSCON 2010
 
Scaling Next-Generation Internet TV on AWS With Docker, Packer, and Chef
Scaling Next-Generation Internet TV on AWS With Docker, Packer, and ChefScaling Next-Generation Internet TV on AWS With Docker, Packer, and Chef
Scaling Next-Generation Internet TV on AWS With Docker, Packer, and Chef
 
Plack at YAPC::NA 2010
Plack at YAPC::NA 2010Plack at YAPC::NA 2010
Plack at YAPC::NA 2010
 
PDXPortland - Dockerize Django
PDXPortland - Dockerize DjangoPDXPortland - Dockerize Django
PDXPortland - Dockerize Django
 
Weird things we've seen with OpenStack Neutron
Weird things we've seen with OpenStack NeutronWeird things we've seen with OpenStack Neutron
Weird things we've seen with OpenStack Neutron
 
AnyMQ, Hippie, and the real-time web
AnyMQ, Hippie, and the real-time webAnyMQ, Hippie, and the real-time web
AnyMQ, Hippie, and the real-time web
 
Rapid Infrastructure Provisioning
Rapid Infrastructure ProvisioningRapid Infrastructure Provisioning
Rapid Infrastructure Provisioning
 
DevOps tools for everyone - Vagrant, Puppet and Webmin
DevOps tools for everyone - Vagrant, Puppet and WebminDevOps tools for everyone - Vagrant, Puppet and Webmin
DevOps tools for everyone - Vagrant, Puppet and Webmin
 
ApacheCon 2014 - What's New in Apache httpd 2.4
ApacheCon 2014 - What's New in Apache httpd 2.4ApacheCon 2014 - What's New in Apache httpd 2.4
ApacheCon 2014 - What's New in Apache httpd 2.4
 
60分鐘完送百萬edm,背後雲端ci/cd實戰大公開
60分鐘完送百萬edm,背後雲端ci/cd實戰大公開60分鐘完送百萬edm,背後雲端ci/cd實戰大公開
60分鐘完送百萬edm,背後雲端ci/cd實戰大公開
 
Triple Blitz Strike
Triple Blitz StrikeTriple Blitz Strike
Triple Blitz Strike
 
Docker for data science
Docker for data scienceDocker for data science
Docker for data science
 

Similar a Heroku Secrets - Waza 2013

Marko Gargenta_Remixing android
Marko Gargenta_Remixing androidMarko Gargenta_Remixing android
Marko Gargenta_Remixing androidDroidcon Berlin
 
Keep it simple web development stack
Keep it simple web development stackKeep it simple web development stack
Keep it simple web development stackEric Ahn
 
Nginx Scripting - Extending Nginx Functionalities with Lua
Nginx Scripting - Extending Nginx Functionalities with LuaNginx Scripting - Extending Nginx Functionalities with Lua
Nginx Scripting - Extending Nginx Functionalities with LuaTony Fabeen
 
Devinsampa nginx-scripting
Devinsampa nginx-scriptingDevinsampa nginx-scripting
Devinsampa nginx-scriptingTony Fabeen
 
Angular.js + Rails at WeWork or: The Accidental Feature
Angular.js + Rails at WeWork or: The Accidental FeatureAngular.js + Rails at WeWork or: The Accidental Feature
Angular.js + Rails at WeWork or: The Accidental FeatureJonathan Magen
 
Velocity EU 2012 - Third party scripts and you
Velocity EU 2012 - Third party scripts and youVelocity EU 2012 - Third party scripts and you
Velocity EU 2012 - Third party scripts and youPatrick Meenan
 
GDG DevFest Kyoto 2014 これからのGoの話をしよう
GDG DevFest Kyoto 2014 これからのGoの話をしようGDG DevFest Kyoto 2014 これからのGoの話をしよう
GDG DevFest Kyoto 2014 これからのGoの話をしようSatoshi Noda
 
RR & Docker @ MuensteR Meetup (Sep 2017)
RR & Docker @ MuensteR Meetup (Sep 2017)RR & Docker @ MuensteR Meetup (Sep 2017)
RR & Docker @ MuensteR Meetup (Sep 2017)Daniel Nüst
 
Keynote 1 - Engineering Software Analytics Studies
Keynote 1 - Engineering Software Analytics StudiesKeynote 1 - Engineering Software Analytics Studies
Keynote 1 - Engineering Software Analytics StudiesESEM 2014
 
DevSecCon London 2017 - MacOS security, hardening and forensics 101 by Ben Hu...
DevSecCon London 2017 - MacOS security, hardening and forensics 101 by Ben Hu...DevSecCon London 2017 - MacOS security, hardening and forensics 101 by Ben Hu...
DevSecCon London 2017 - MacOS security, hardening and forensics 101 by Ben Hu...DevSecCon
 
Best Practices in Handling Performance Issues
Best Practices in Handling Performance IssuesBest Practices in Handling Performance Issues
Best Practices in Handling Performance IssuesOdoo
 
Beginner workshop to angularjs presentation at Google
Beginner workshop to angularjs presentation at GoogleBeginner workshop to angularjs presentation at Google
Beginner workshop to angularjs presentation at GoogleAri Lerner
 
Logstash for SEO: come monitorare i Log del Web Server in realtime
Logstash for SEO: come monitorare i Log del Web Server in realtimeLogstash for SEO: come monitorare i Log del Web Server in realtime
Logstash for SEO: come monitorare i Log del Web Server in realtimeAndrea Cardinale
 
A CTF Hackers Toolbox
A CTF Hackers ToolboxA CTF Hackers Toolbox
A CTF Hackers ToolboxStefan
 
Let's break apache spark workshop
Let's break apache spark workshopLet's break apache spark workshop
Let's break apache spark workshopGrzegorz Gawron
 
How Secure Are Docker Containers?
How Secure Are Docker Containers?How Secure Are Docker Containers?
How Secure Are Docker Containers?Ben Hall
 
Learning the command line
Learning the command lineLearning the command line
Learning the command lineAdrian Cardenas
 
Improving the performance of Odoo deployments
Improving the performance of Odoo deploymentsImproving the performance of Odoo deployments
Improving the performance of Odoo deploymentsOdoo
 
Awesome Traefik - Ingress Controller for Kubernetes - Swapnasagar Pradhan
Awesome Traefik - Ingress Controller for Kubernetes - Swapnasagar PradhanAwesome Traefik - Ingress Controller for Kubernetes - Swapnasagar Pradhan
Awesome Traefik - Ingress Controller for Kubernetes - Swapnasagar PradhanAjeet Singh Raina
 

Similar a Heroku Secrets - Waza 2013 (20)

Marko Gargenta_Remixing android
Marko Gargenta_Remixing androidMarko Gargenta_Remixing android
Marko Gargenta_Remixing android
 
Keep it simple web development stack
Keep it simple web development stackKeep it simple web development stack
Keep it simple web development stack
 
Nginx Scripting - Extending Nginx Functionalities with Lua
Nginx Scripting - Extending Nginx Functionalities with LuaNginx Scripting - Extending Nginx Functionalities with Lua
Nginx Scripting - Extending Nginx Functionalities with Lua
 
Devinsampa nginx-scripting
Devinsampa nginx-scriptingDevinsampa nginx-scripting
Devinsampa nginx-scripting
 
Angular.js + Rails at WeWork or: The Accidental Feature
Angular.js + Rails at WeWork or: The Accidental FeatureAngular.js + Rails at WeWork or: The Accidental Feature
Angular.js + Rails at WeWork or: The Accidental Feature
 
Velocity EU 2012 - Third party scripts and you
Velocity EU 2012 - Third party scripts and youVelocity EU 2012 - Third party scripts and you
Velocity EU 2012 - Third party scripts and you
 
GDG DevFest Kyoto 2014 これからのGoの話をしよう
GDG DevFest Kyoto 2014 これからのGoの話をしようGDG DevFest Kyoto 2014 これからのGoの話をしよう
GDG DevFest Kyoto 2014 これからのGoの話をしよう
 
RR & Docker @ MuensteR Meetup (Sep 2017)
RR & Docker @ MuensteR Meetup (Sep 2017)RR & Docker @ MuensteR Meetup (Sep 2017)
RR & Docker @ MuensteR Meetup (Sep 2017)
 
Keynote 1 - Engineering Software Analytics Studies
Keynote 1 - Engineering Software Analytics StudiesKeynote 1 - Engineering Software Analytics Studies
Keynote 1 - Engineering Software Analytics Studies
 
DevSecCon London 2017 - MacOS security, hardening and forensics 101 by Ben Hu...
DevSecCon London 2017 - MacOS security, hardening and forensics 101 by Ben Hu...DevSecCon London 2017 - MacOS security, hardening and forensics 101 by Ben Hu...
DevSecCon London 2017 - MacOS security, hardening and forensics 101 by Ben Hu...
 
Best Practices in Handling Performance Issues
Best Practices in Handling Performance IssuesBest Practices in Handling Performance Issues
Best Practices in Handling Performance Issues
 
Beginner workshop to angularjs presentation at Google
Beginner workshop to angularjs presentation at GoogleBeginner workshop to angularjs presentation at Google
Beginner workshop to angularjs presentation at Google
 
Logstash for SEO: come monitorare i Log del Web Server in realtime
Logstash for SEO: come monitorare i Log del Web Server in realtimeLogstash for SEO: come monitorare i Log del Web Server in realtime
Logstash for SEO: come monitorare i Log del Web Server in realtime
 
A CTF Hackers Toolbox
A CTF Hackers ToolboxA CTF Hackers Toolbox
A CTF Hackers Toolbox
 
Let's break apache spark workshop
Let's break apache spark workshopLet's break apache spark workshop
Let's break apache spark workshop
 
How Secure Are Docker Containers?
How Secure Are Docker Containers?How Secure Are Docker Containers?
How Secure Are Docker Containers?
 
Labs_20210809.pdf
Labs_20210809.pdfLabs_20210809.pdf
Labs_20210809.pdf
 
Learning the command line
Learning the command lineLearning the command line
Learning the command line
 
Improving the performance of Odoo deployments
Improving the performance of Odoo deploymentsImproving the performance of Odoo deployments
Improving the performance of Odoo deployments
 
Awesome Traefik - Ingress Controller for Kubernetes - Swapnasagar Pradhan
Awesome Traefik - Ingress Controller for Kubernetes - Swapnasagar PradhanAwesome Traefik - Ingress Controller for Kubernetes - Swapnasagar Pradhan
Awesome Traefik - Ingress Controller for Kubernetes - Swapnasagar Pradhan
 

Más de Heroku

Heroku Connect: The New Way to Build Connected Customer Applications
Heroku Connect: The New Way to Build Connected Customer ApplicationsHeroku Connect: The New Way to Build Connected Customer Applications
Heroku Connect: The New Way to Build Connected Customer ApplicationsHeroku
 
Heroku webcastdeck+20130828
Heroku webcastdeck+20130828Heroku webcastdeck+20130828
Heroku webcastdeck+20130828Heroku
 
Mattt Thompson at Heroku's Waza 2013: Mobile is not Different
Mattt Thompson at Heroku's Waza 2013: Mobile is not Different Mattt Thompson at Heroku's Waza 2013: Mobile is not Different
Mattt Thompson at Heroku's Waza 2013: Mobile is not Different Heroku
 
Codeacademy's Linda Liukas at Heroku's Waza 2013: Code is Everyone's Business
Codeacademy's Linda Liukas at Heroku's Waza 2013: Code is Everyone's BusinessCodeacademy's Linda Liukas at Heroku's Waza 2013: Code is Everyone's Business
Codeacademy's Linda Liukas at Heroku's Waza 2013: Code is Everyone's BusinessHeroku
 
Rob Sullivan at Heroku's Waza 2013: Your Database -- A Story of Indifference
Rob Sullivan at Heroku's Waza 2013: Your Database -- A Story of IndifferenceRob Sullivan at Heroku's Waza 2013: Your Database -- A Story of Indifference
Rob Sullivan at Heroku's Waza 2013: Your Database -- A Story of IndifferenceHeroku
 
Heroku's Ryan Smith at Waza 2013: Predictable Failure
Heroku's Ryan Smith at Waza 2013: Predictable FailureHeroku's Ryan Smith at Waza 2013: Predictable Failure
Heroku's Ryan Smith at Waza 2013: Predictable FailureHeroku
 
Librato's Joseph Ruscio at Heroku's 2013: Instrumenting 12-Factor Apps
Librato's Joseph Ruscio at Heroku's 2013: Instrumenting 12-Factor AppsLibrato's Joseph Ruscio at Heroku's 2013: Instrumenting 12-Factor Apps
Librato's Joseph Ruscio at Heroku's 2013: Instrumenting 12-Factor AppsHeroku
 
Rdio's Alex Gaynor at Heroku's Waza 2013: Why Python, Ruby and Javascript are...
Rdio's Alex Gaynor at Heroku's Waza 2013: Why Python, Ruby and Javascript are...Rdio's Alex Gaynor at Heroku's Waza 2013: Why Python, Ruby and Javascript are...
Rdio's Alex Gaynor at Heroku's Waza 2013: Why Python, Ruby and Javascript are...Heroku
 
AirBnB's Jack Lawson at Heroku's Waza: Dismantling the Monorail
AirBnB's Jack Lawson at Heroku's Waza: Dismantling the MonorailAirBnB's Jack Lawson at Heroku's Waza: Dismantling the Monorail
AirBnB's Jack Lawson at Heroku's Waza: Dismantling the MonorailHeroku
 
Kirby Ferguson at Heroku's Waza 2013
Kirby Ferguson at Heroku's Waza 2013Kirby Ferguson at Heroku's Waza 2013
Kirby Ferguson at Heroku's Waza 2013Heroku
 

Más de Heroku (10)

Heroku Connect: The New Way to Build Connected Customer Applications
Heroku Connect: The New Way to Build Connected Customer ApplicationsHeroku Connect: The New Way to Build Connected Customer Applications
Heroku Connect: The New Way to Build Connected Customer Applications
 
Heroku webcastdeck+20130828
Heroku webcastdeck+20130828Heroku webcastdeck+20130828
Heroku webcastdeck+20130828
 
Mattt Thompson at Heroku's Waza 2013: Mobile is not Different
Mattt Thompson at Heroku's Waza 2013: Mobile is not Different Mattt Thompson at Heroku's Waza 2013: Mobile is not Different
Mattt Thompson at Heroku's Waza 2013: Mobile is not Different
 
Codeacademy's Linda Liukas at Heroku's Waza 2013: Code is Everyone's Business
Codeacademy's Linda Liukas at Heroku's Waza 2013: Code is Everyone's BusinessCodeacademy's Linda Liukas at Heroku's Waza 2013: Code is Everyone's Business
Codeacademy's Linda Liukas at Heroku's Waza 2013: Code is Everyone's Business
 
Rob Sullivan at Heroku's Waza 2013: Your Database -- A Story of Indifference
Rob Sullivan at Heroku's Waza 2013: Your Database -- A Story of IndifferenceRob Sullivan at Heroku's Waza 2013: Your Database -- A Story of Indifference
Rob Sullivan at Heroku's Waza 2013: Your Database -- A Story of Indifference
 
Heroku's Ryan Smith at Waza 2013: Predictable Failure
Heroku's Ryan Smith at Waza 2013: Predictable FailureHeroku's Ryan Smith at Waza 2013: Predictable Failure
Heroku's Ryan Smith at Waza 2013: Predictable Failure
 
Librato's Joseph Ruscio at Heroku's 2013: Instrumenting 12-Factor Apps
Librato's Joseph Ruscio at Heroku's 2013: Instrumenting 12-Factor AppsLibrato's Joseph Ruscio at Heroku's 2013: Instrumenting 12-Factor Apps
Librato's Joseph Ruscio at Heroku's 2013: Instrumenting 12-Factor Apps
 
Rdio's Alex Gaynor at Heroku's Waza 2013: Why Python, Ruby and Javascript are...
Rdio's Alex Gaynor at Heroku's Waza 2013: Why Python, Ruby and Javascript are...Rdio's Alex Gaynor at Heroku's Waza 2013: Why Python, Ruby and Javascript are...
Rdio's Alex Gaynor at Heroku's Waza 2013: Why Python, Ruby and Javascript are...
 
AirBnB's Jack Lawson at Heroku's Waza: Dismantling the Monorail
AirBnB's Jack Lawson at Heroku's Waza: Dismantling the MonorailAirBnB's Jack Lawson at Heroku's Waza: Dismantling the Monorail
AirBnB's Jack Lawson at Heroku's Waza: Dismantling the Monorail
 
Kirby Ferguson at Heroku's Waza 2013
Kirby Ferguson at Heroku's Waza 2013Kirby Ferguson at Heroku's Waza 2013
Kirby Ferguson at Heroku's Waza 2013
 

Último

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
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
 

Último (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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
 

Heroku Secrets - Waza 2013

  • 1. nzoschke / Heroku Secrets - Waza 2013
  • 2. Twelve-Factor Adam Wiggins' The Twelve-Factor App (http://12factor.net/) Modern software design for software-as-a-service Heroku enables and enforces these patterns
  • 3. Continuous Deployment One codebase - many deploys 2 million releases in Feb alone 600 "kernel" releases in Feb alone
  • 4. Dependencies 2x more Rails than Sinatra 3x more Webrick than Thin 5x more Thin than Unicorn 10x more Unicorn than Puma
  • 5. Bundler API 6 web dynos, 1 data worker, 4 databases 1 production DB 2 read-only follower DBs 1 test DB
  • 7. Data $hrk adn:d hrk-otrsldv-vrin92 eou dosad eoupsgeq:e -eso=. Atce a HRK_OTRSLCPE_R tahd s EOUPSGEQ_OPRUL $hrk p:slCPE eou gpq OPR = shm.q > i ceasl CET TBE RAE AL = cet etninp_ttsaeet; > rae xeso gsa_ttmns CET ETNIN RAE XESO
  • 9. Build https://github.com/nzoschke/apache-http-git (https://github.com/nzoschke/apache-http-git) https://github.com/kr/heroku-buildpack-inline (https://github.com/kr/heroku-buildpack-inline) $ctbncmie a i/opl #/i/ah !bnbs st- e x BIDDR$pd UL_I=(w) mdr- $UL_I/r ki p BIDDRsc cr - ht:/pcemrospi.o/tp/tp-..4trg |trx - $UL_I/r ul s tp/aah.irr.arcmhtdhtd222.a.z a z C BIDDRsc cr - ht:/i-oegolcd.o/ie/i-....a.z |trx - $UL_I/r ul s tp/gtcr.ogeoecmflsgt1814trg a z C BIDDRsc c $UL_I/r/i-... d BIDDRscgt1814 .cniue-pei=apvno/i -wtottlk /ofgr -rfx/p/edrgt -ihu-ct mk - - ae i k DSDR$UL_I mk - isal ETI=BIDDR ae i ntl c $UL_I/r/tp-..4 d BIDDRschtd222 .cniue-pei=apvno/tp /ofgr -rfx/p/edrhtd mk ae DSDR$UL_I mk isal ETI=BIDDR ae ntl r -f$UL_I/r m r BIDDRsc
  • 10. Build Services $ctbnhtd a i/tp #/i/ah !bnbs PR={OT-00 OT$PR:50} RO=(d$drae$).;pd OT$c (inm 0/. w) epr GTDR/m/o.i xot I_I=tpfogt gtii -br $I_I i nt -ae GTDR gtcni ht.eevpc tu i ofg tprcieak re ct>tphtd$.of<EF a /m/tp.$cn <O CsoLg"tpacs_o"cmiei utmo /m/ceslg obndo Erro "tperrlg roLg /m/ro_o" Lgee dbg oLvl eu Stn GTPOETRO /m eEv I_RJC_OT tp Stn GTHT_XOTAL eEv I_TPEPR_L SrpAis/$OTvno/i/iee/i-oegtht-akn/ citla RO/edrgtlbxcgtcr/i-tpbced Lse $OT itn PR EF O tuh oc /m/ceslg tpacs_o tuh oc /m/ro_o tperrlg ti - al F /m/ceslg& tpacs_o ti - al F /m/ro_o & tperrlg ee /p/edrhtdbnhtd- FRGON - /m/tp.$cn & xc apvno/tp/i/tp D OERUD f tphtd$.of
  • 11. Build Services https://github.com/ddollar/anvil (https://github.com/ddollar/anvil) $hrk bid. eou ul Cekn frapflst sn..dn,2flsnee hcig o p ie o yc. oe ie edd Ulaig 100 (T:0) podn: 0.% EA s Lucigbidpoes. dn anhn ul rcs.. oe Fthn bidak. dn ecig ulpc.. oe Cmiigap. opln p.. Sces su i hts/aiavlok.r/lg/d4c658-ab9e-ca9658tz ucs, lg s tp:/p.niwrsogsusc478-2a44-003e2b4e.g
  • 12. Release API https://devcenter.heroku.com/articles/labs-pipelines (https://devcenter.heroku.com/articles/labs-pipelines) $cr -XPS hts/csuu.eoup.o/1ap/eouscesrlae ul v OT tp:/iarshrkapcmv/pshrk-ert/ees - "otn-ye tx/sn H CnetTp: etjo" - "$EOUAIKY u :HRK_P_E" - '"p""eousces,"ecito""o" "lgul:hts/aiavlok.r/lg/d d {ap:hrk-ert" dsrpin:fo, su_r""tp:/p.niwrsogsusc4 4c658-ab9e-ca9658tz} 78-2a44-003e2b4e.g"' <HT/. 22Acpe TP11 0 cetd
  • 13. Run $hrk rnbs eou u ah ~$d -h u s 52 . .M ~$hsnm otae e313-3e43-b07936c5 b47c73-d893-fd5f54 ~$eh $OT co PR 278 22 ~$/bnicni |sd- '/*ntad:(09]+)s*/'|ha - si/fofg e n s.ie dr[-../1p ed 1 1.91117 02.4.9 ~$cr icni.ehs ul fofgm/ot e25-3-85.opt-.mznw.o c-4245-9cmue1aaoascm ~$bnl ee ib ude xc r
  • 14. Profile Scripts $hrk rnbs eou u ah Rnig`ah atce t tria..u,rn87 unn bs` tahd o emnl. p u.69 SmtmsIwne i Imi m rgtmn. Te i pse ofadIm oeie odr f ' n y ih id hn t ass f n ' a itlieta ee. s nelgn s vr - Sme Bcet "ngm" - aul ekt, Edae ~$ $ct$OE.rfl./otn.h a HM/poiedfrues #/i/ah !bnbs rb <'O' uy <EF cnet =Dr"apvno/s/hr/ae/otns*]mp{||Fl.pnf.ed} otns i[/p/edrursaegmsfrue/".a f ieoe()ra frue =cnet.a {||fslt"n" } otns otnsmp f .pi(%n) pt frue.lte.hfl[] us otnsfatnsufe0 EF O
  • 15. Disposability 56.5 million unique runs in February alone 75000+ instances and counting in Heroku's production cloud life
  • 16. Logs https://devcenter.heroku.com/articles/labs-https-drains (https://devcenter.heroku.com/articles/labs-https-drains) HTTP Drains L2met Server / Service (https://github.com/ryandotsmith/l2met) -> Librato, etc.