SlideShare a Scribd company logo
1 of 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.

More Related Content

What's hot

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
 

What's hot (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 to 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 to 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
 

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

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

Recently uploaded

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
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
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
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
 
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
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
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
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 

Recently uploaded (20)

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
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)
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
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)
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
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
 
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
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
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?
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 

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.