SlideShare ist ein Scribd-Unternehmen logo
1 von 64
Scaling to $1 Billion


Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
me
    Civil engineer by training
    Fell in love with the web in 1998
    Self-taught
    Developer for photo-sharing pioneer Zing
    Co-founded Eventbrite in 2006


Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
why eventbrite?




Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
we built the largest social event
     ticketing and discovery platform



Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
$1B in cumulated ticket sales




Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
$600M in ticket sales
                                 in 2012 alone



Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
Series E
                                                                                May 2011
                                                                                 $50M




                                                                  Series D
                                                                  Oct 2010
                                                                   $20M
                                                Series C
                               Series B         Nov 2009
             Series A                            $6.5M
             Nov 2006          Jun 2008
              $250k             $1.3M



Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
here is how we did it and
                 what we learned



Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
2006
    one engineer
    custom python framework
    mysql database
    apache
    all on 1 server!


Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
wearing many hats...




Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
Designer
     Graphist
                                              Architect
                 Manager                                                        Sys Admin
                                                        Front-End
                    Spam Expert
             IT Guy                                                      SEO Expert
                                              Coder
       Back-End
                                                   Project Manager
                             DBA

Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
it's all on you to make it
                          happen



Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
have expert friends you can
                     call



Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
the importance of making a
             good first impression



Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
monitor everything and
      anticipate scaling bottlenecks




Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
constantly upgrade and
                separate the pieces
                 before they break
                    (if possible)


Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
split the database and
                         web server




Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
don't forget to
                          back the hell up!

Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
build redundancy




Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
scale prudently as your
                      traffic grows




Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
make sure you DB has room to
      grow and enough memory


        2GB RAM                                                    64GB RAM

Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
missing DB indexes will kill
                      you...




Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
be prepared for anything...




Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
...obama might take you down




Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
...your hosting provider
                  might take you down



Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
constantly watch technology
             evolve and adapt



Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
some landmark moments and
        why it's never too late to do
               the right thing


Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
2008


                                 build an API
                          expose your data



Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
2008


                    offload email sending




Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
2009

                        start caching data
                               MySql says




Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
2009



               master-slave replication




Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
2009

                                move to EC2
                    painful but so worth it




Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
2010


              start using load-balanced
                slave pool for reads



Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
2010

                  start writing
           unit and automation tests
        (yes way late but again better
                than never)


Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
2010

    switch to git for source control




Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
2010


                 give Django some love




Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
2010


                 introduce feature flags




Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
2010
                  automate server
                 deployment, server
              configuration and release
                   process in 2010



Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
2010


           replace apache with
          haproxy+nginx for load
      balancing and nginx+uwsgi for
               web servers

Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
2010

      define coding standards, and
       enforce formal code review
                 process



Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
2010

        develop on virtual machines




Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
2011

             use queueing system for
                           async processes




Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
2011

        build ticket queue service for
              fast-selling events




Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
2011
                   big push for big data
             for reporting, fraud, spam,
              event recommendations




Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
2012


             front-end automation tests




Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
2012


                   build specialized and
                  independant services



Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
2012
    180 servers in production today
     big data (30%)
     web servers (25%)
     databases (10%)
    l oad balancers (10%)
     queue servers (10%)
     apps, ops, email, etc (15%)

Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
2012
   Big data processed per day
   2 GB of transactional data
    11 M log lines
    15 GB of log data
    3.5 TB of social data analyzed
    1.2 trillion edges
    30-machine hadoop cluster with 2TB of RAM



Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
lessons learned along the way




Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
expect the unexpected




Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
welcome the challenges that
             success brings



Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
stay lean...




Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
...but recognize when you
                       need help




Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
hire smarter than you




Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
hire generalists to start up and
        specialists to scale to the
                next level


Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
instrument and monitor
                     everything



Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
add process as you
                        scale the team



Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
iterate to improve on
                       what you have



Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
and don't forget to...




Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
...have fun!



Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage

Weitere ähnliche Inhalte

Andere mochten auch

So you wanna be a CTO ?
So you wanna be a CTO ?So you wanna be a CTO ?
So you wanna be a CTO ?Romain COCHET
 
Identification des empreintes digitales
Identification des empreintes digitalesIdentification des empreintes digitales
Identification des empreintes digitalesSarah
 
How to be a Startup CTO
How to be a Startup CTOHow to be a Startup CTO
How to be a Startup CTOhubmo
 
ZTE channel program 2015
ZTE channel program 2015 ZTE channel program 2015
ZTE channel program 2015 calerlee
 
141125 10 lessons learned being a startup cto
141125 10 lessons learned being a startup cto141125 10 lessons learned being a startup cto
141125 10 lessons learned being a startup ctoSilvan Mühlemann
 
The Role of the CTO in a Growing Organization
The Role of the CTO in a Growing OrganizationThe Role of the CTO in a Growing Organization
The Role of the CTO in a Growing OrganizationRoger Smith
 
The Role of CTO: A Rantifesto
The Role of CTO: A RantifestoThe Role of CTO: A Rantifesto
The Role of CTO: A RantifestoCamille Fournier
 
Channel Checklist for Vendor Channel/Partner Managers
Channel Checklist for Vendor Channel/Partner ManagersChannel Checklist for Vendor Channel/Partner Managers
Channel Checklist for Vendor Channel/Partner Managersharwelll
 
Enterprise Architectures with Ruby (and Rails)
Enterprise Architectures with Ruby (and Rails)Enterprise Architectures with Ruby (and Rails)
Enterprise Architectures with Ruby (and Rails)Konstantin Gredeskoul
 
Reconnaissance faciale
Reconnaissance facialeReconnaissance faciale
Reconnaissance facialeAymen Fodda
 
Become a Lenovo Channel Partner, Win
Become a Lenovo Channel Partner, WinBecome a Lenovo Channel Partner, Win
Become a Lenovo Channel Partner, WinLenovo Data Center
 

Andere mochten auch (15)

So you wanna be a CTO ?
So you wanna be a CTO ?So you wanna be a CTO ?
So you wanna be a CTO ?
 
CTO in a Box
CTO in a BoxCTO in a Box
CTO in a Box
 
Identification des empreintes digitales
Identification des empreintes digitalesIdentification des empreintes digitales
Identification des empreintes digitales
 
How to be a Startup CTO
How to be a Startup CTOHow to be a Startup CTO
How to be a Startup CTO
 
ZTE channel program 2015
ZTE channel program 2015 ZTE channel program 2015
ZTE channel program 2015
 
CTO for Startup
CTO for StartupCTO for Startup
CTO for Startup
 
141125 10 lessons learned being a startup cto
141125 10 lessons learned being a startup cto141125 10 lessons learned being a startup cto
141125 10 lessons learned being a startup cto
 
Startup CTO Role v3
Startup CTO Role v3Startup CTO Role v3
Startup CTO Role v3
 
The Role of the CTO in a Growing Organization
The Role of the CTO in a Growing OrganizationThe Role of the CTO in a Growing Organization
The Role of the CTO in a Growing Organization
 
The Role of CTO: A Rantifesto
The Role of CTO: A RantifestoThe Role of CTO: A Rantifesto
The Role of CTO: A Rantifesto
 
Channel Checklist for Vendor Channel/Partner Managers
Channel Checklist for Vendor Channel/Partner ManagersChannel Checklist for Vendor Channel/Partner Managers
Channel Checklist for Vendor Channel/Partner Managers
 
Cto meetup Berlin
Cto meetup BerlinCto meetup Berlin
Cto meetup Berlin
 
Enterprise Architectures with Ruby (and Rails)
Enterprise Architectures with Ruby (and Rails)Enterprise Architectures with Ruby (and Rails)
Enterprise Architectures with Ruby (and Rails)
 
Reconnaissance faciale
Reconnaissance facialeReconnaissance faciale
Reconnaissance faciale
 
Become a Lenovo Channel Partner, Win
Become a Lenovo Channel Partner, WinBecome a Lenovo Channel Partner, Win
Become a Lenovo Channel Partner, Win
 

Ähnlich wie Scaling to $1 Billion: Eventbrite's CTO Shares Lessons Learned

IoT with circuitpython | CloudBadge
IoT with circuitpython | CloudBadgeIoT with circuitpython | CloudBadge
IoT with circuitpython | CloudBadgeAyan Pahwa
 
I時代的工作術
I時代的工作術I時代的工作術
I時代的工作術Vista Cheng
 
What I learnt from building a chatbot - BrightonSEO 2017
What I learnt from building a chatbot - BrightonSEO 2017What I learnt from building a chatbot - BrightonSEO 2017
What I learnt from building a chatbot - BrightonSEO 2017Emilie Reynaud
 
JsDay - It's not you, It's me (or how to avoid being coupled with a Javascrip...
JsDay - It's not you, It's me (or how to avoid being coupled with a Javascrip...JsDay - It's not you, It's me (or how to avoid being coupled with a Javascrip...
JsDay - It's not you, It's me (or how to avoid being coupled with a Javascrip...Marco Cedaro
 
Artem Denysov "Easy ways to speed up your web application"
Artem Denysov "Easy ways to speed up your web application"Artem Denysov "Easy ways to speed up your web application"
Artem Denysov "Easy ways to speed up your web application"OdessaJS Conf
 
Containerize vs Virtualize? NGDC 2009
Containerize vs Virtualize? NGDC 2009Containerize vs Virtualize? NGDC 2009
Containerize vs Virtualize? NGDC 2009Andy d
 
How to Bluff Your Way in Web 2.0
How to Bluff Your Way in Web 2.0How to Bluff Your Way in Web 2.0
How to Bluff Your Way in Web 2.0Andy Budd
 
Tech trends at SXSW & CES 2015 - IoT, Wearable, Sensor, Connected…-
Tech trends at SXSW & CES 2015  - IoT, Wearable, Sensor, Connected…-  Tech trends at SXSW & CES 2015  - IoT, Wearable, Sensor, Connected…-
Tech trends at SXSW & CES 2015 - IoT, Wearable, Sensor, Connected…- Mariko Nishimura
 
Surviving (and Thriving in) the Online Identity Wars
Surviving (and Thriving in) the Online Identity WarsSurviving (and Thriving in) the Online Identity Wars
Surviving (and Thriving in) the Online Identity WarsJohn McCrea
 
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...javier ramirez
 
Build Own Website
Build Own WebsiteBuild Own Website
Build Own WebsiteIvy Rueb
 
Beyond Squishy: The Principles of Adaptive Design
Beyond Squishy: The Principles of Adaptive DesignBeyond Squishy: The Principles of Adaptive Design
Beyond Squishy: The Principles of Adaptive DesignBrad Frost
 
Aprende, contribuye, y surfea Cloud Native Java - GuateJUG 2021
Aprende, contribuye, y surfea Cloud Native Java - GuateJUG 2021Aprende, contribuye, y surfea Cloud Native Java - GuateJUG 2021
Aprende, contribuye, y surfea Cloud Native Java - GuateJUG 2021César Hernández
 
RWD in the Wild
RWD in the WildRWD in the Wild
RWD in the WildRich Quick
 
FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...
FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...
FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...Marco Cedaro
 
Adaptive, Responsive, Mobile. A liquid web.
Adaptive, Responsive, Mobile. A liquid web.Adaptive, Responsive, Mobile. A liquid web.
Adaptive, Responsive, Mobile. A liquid web.Cristiano Rastelli
 

Ähnlich wie Scaling to $1 Billion: Eventbrite's CTO Shares Lessons Learned (20)

IoT with circuitpython | CloudBadge
IoT with circuitpython | CloudBadgeIoT with circuitpython | CloudBadge
IoT with circuitpython | CloudBadge
 
I時代的工作術
I時代的工作術I時代的工作術
I時代的工作術
 
What I learnt from building a chatbot - BrightonSEO 2017
What I learnt from building a chatbot - BrightonSEO 2017What I learnt from building a chatbot - BrightonSEO 2017
What I learnt from building a chatbot - BrightonSEO 2017
 
JsDay - It's not you, It's me (or how to avoid being coupled with a Javascrip...
JsDay - It's not you, It's me (or how to avoid being coupled with a Javascrip...JsDay - It's not you, It's me (or how to avoid being coupled with a Javascrip...
JsDay - It's not you, It's me (or how to avoid being coupled with a Javascrip...
 
Artem Denysov "Easy ways to speed up your web application"
Artem Denysov "Easy ways to speed up your web application"Artem Denysov "Easy ways to speed up your web application"
Artem Denysov "Easy ways to speed up your web application"
 
Containerize vs Virtualize? NGDC 2009
Containerize vs Virtualize? NGDC 2009Containerize vs Virtualize? NGDC 2009
Containerize vs Virtualize? NGDC 2009
 
How to Bluff Your Way in Web 2.0
How to Bluff Your Way in Web 2.0How to Bluff Your Way in Web 2.0
How to Bluff Your Way in Web 2.0
 
Tech trends at SXSW & CES 2015 - IoT, Wearable, Sensor, Connected…-
Tech trends at SXSW & CES 2015  - IoT, Wearable, Sensor, Connected…-  Tech trends at SXSW & CES 2015  - IoT, Wearable, Sensor, Connected…-
Tech trends at SXSW & CES 2015 - IoT, Wearable, Sensor, Connected…-
 
Surviving (and Thriving in) the Online Identity Wars
Surviving (and Thriving in) the Online Identity WarsSurviving (and Thriving in) the Online Identity Wars
Surviving (and Thriving in) the Online Identity Wars
 
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...
 
Build Own Website
Build Own WebsiteBuild Own Website
Build Own Website
 
Beyond Squishy: The Principles of Adaptive Design
Beyond Squishy: The Principles of Adaptive DesignBeyond Squishy: The Principles of Adaptive Design
Beyond Squishy: The Principles of Adaptive Design
 
Bar charts
Bar chartsBar charts
Bar charts
 
Aprende, contribuye, y surfea Cloud Native Java - GuateJUG 2021
Aprende, contribuye, y surfea Cloud Native Java - GuateJUG 2021Aprende, contribuye, y surfea Cloud Native Java - GuateJUG 2021
Aprende, contribuye, y surfea Cloud Native Java - GuateJUG 2021
 
Cea Convention 2008
Cea Convention 2008Cea Convention 2008
Cea Convention 2008
 
RWD in the Wild
RWD in the WildRWD in the Wild
RWD in the Wild
 
FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...
FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...
FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...
 
Be ready for UKM2.0
Be ready for UKM2.0Be ready for UKM2.0
Be ready for UKM2.0
 
Prototyping: Helping to take away the suck
Prototyping: Helping to take away the suckPrototyping: Helping to take away the suck
Prototyping: Helping to take away the suck
 
Adaptive, Responsive, Mobile. A liquid web.
Adaptive, Responsive, Mobile. A liquid web.Adaptive, Responsive, Mobile. A liquid web.
Adaptive, Responsive, Mobile. A liquid web.
 

Kürzlich hochgeladen

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 

Kürzlich hochgeladen (20)

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
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
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
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
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 

Scaling to $1 Billion: Eventbrite's CTO Shares Lessons Learned

  • 1. Scaling to $1 Billion Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 2. me Civil engineer by training Fell in love with the web in 1998 Self-taught Developer for photo-sharing pioneer Zing Co-founded Eventbrite in 2006 Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 3. why eventbrite? Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 4. we built the largest social event ticketing and discovery platform Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 5. $1B in cumulated ticket sales Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 6. $600M in ticket sales in 2012 alone Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 7. Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 8. Series E May 2011 $50M Series D Oct 2010 $20M Series C Series B Nov 2009 Series A $6.5M Nov 2006 Jun 2008 $250k $1.3M Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 9. here is how we did it and what we learned Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 10. 2006 one engineer custom python framework mysql database apache all on 1 server! Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 11. Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 12. wearing many hats... Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 13. Designer Graphist Architect Manager Sys Admin Front-End Spam Expert IT Guy SEO Expert Coder Back-End Project Manager DBA Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 14. it's all on you to make it happen Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 15. have expert friends you can call Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 16. the importance of making a good first impression Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 17. monitor everything and anticipate scaling bottlenecks Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 18. constantly upgrade and separate the pieces before they break (if possible) Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 19. split the database and web server Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 20. don't forget to back the hell up! Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 21. build redundancy Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 22. scale prudently as your traffic grows Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 23. make sure you DB has room to grow and enough memory 2GB RAM 64GB RAM Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 24. missing DB indexes will kill you... Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 25. be prepared for anything... Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 26. ...obama might take you down Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 27. Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 28. ...your hosting provider might take you down Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 29. Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 30. constantly watch technology evolve and adapt Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 31. some landmark moments and why it's never too late to do the right thing Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 32. 2008 build an API expose your data Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 33. 2008 offload email sending Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 34. 2009 start caching data MySql says Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 35. 2009 master-slave replication Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 36. 2009 move to EC2 painful but so worth it Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 37. 2010 start using load-balanced slave pool for reads Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 38. 2010 start writing unit and automation tests (yes way late but again better than never) Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 39. 2010 switch to git for source control Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 40. 2010 give Django some love Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 41. 2010 introduce feature flags Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 42. 2010 automate server deployment, server configuration and release process in 2010 Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 43. 2010 replace apache with haproxy+nginx for load balancing and nginx+uwsgi for web servers Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 44. 2010 define coding standards, and enforce formal code review process Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 45. 2010 develop on virtual machines Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 46. 2011 use queueing system for async processes Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 47. 2011 build ticket queue service for fast-selling events Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 48. 2011 big push for big data for reporting, fraud, spam, event recommendations Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 49. 2012 front-end automation tests Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 50. 2012 build specialized and independant services Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 51. 2012 180 servers in production today  big data (30%)  web servers (25%)  databases (10%) l oad balancers (10%)  queue servers (10%)  apps, ops, email, etc (15%) Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 52. 2012 Big data processed per day 2 GB of transactional data  11 M log lines  15 GB of log data  3.5 TB of social data analyzed  1.2 trillion edges  30-machine hadoop cluster with 2TB of RAM Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 53. lessons learned along the way Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 54. expect the unexpected Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 55. welcome the challenges that success brings Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 56. stay lean... Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 57. ...but recognize when you need help Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 58. hire smarter than you Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 59. hire generalists to start up and specialists to scale to the next level Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 60. instrument and monitor everything Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 61. add process as you scale the team Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 62. iterate to improve on what you have Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 63. and don't forget to... Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage
  • 64. ...have fun! Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage