SlideShare une entreprise Scribd logo
1  sur  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.

Contenu connexe

Tendances

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
Tatsuhiko Miyagawa
 
PDXPortland - Dockerize Django
PDXPortland - Dockerize DjangoPDXPortland - Dockerize Django
PDXPortland - Dockerize Django
Hannes Hapke
 
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
clkao
 

Tendances (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
 

Similaire à Noah Zoschke at Waza 2013: Heroku Secrets

Marko Gargenta_Remixing android
Marko Gargenta_Remixing androidMarko Gargenta_Remixing android
Marko Gargenta_Remixing android
Droidcon Berlin
 
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
Tony Fabeen
 
Devinsampa nginx-scripting
Devinsampa nginx-scriptingDevinsampa nginx-scripting
Devinsampa nginx-scripting
Tony Fabeen
 

Similaire à Noah Zoschke at Waza 2013: Heroku Secrets (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
 

Plus de Heroku

Plus 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
 

Dernier

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Dernier (20)

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 

Noah Zoschke at Waza 2013: Heroku Secrets

  • 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.