SlideShare a Scribd company logo
1 of 106
Download to read offline
Scaling      :
          What Went Wrong,
          What Went Right
Ross Snyder
ross@etsy.com
@beamrider9              Sept. 30, 2011
                                          1
Etsy is the world’s handmade marketplace.




          (vintage and supplies, too)
                                            2
Etsy was founded in mid-2005
  and is constantly growing.




  Gross Merchandise Sales ($MM)

                                  3
From humble beginnings...




 June   Four employees, one web*,
2005:   one db, founder’s apartment
        * until getting slashdotted by a link
        from Boing Boing in Aug. 2005

                                                4
... to today’s handmade juggernaut.




Sept.   250+ employees, multiple
2011:   offices, billions of pageviews
        (NYC Mayor Mike Bloomberg visited
        Etsy in June 2011)

                                            5
How’d we get here?




                     6
Answer: with some difficulty.
“There is no education like adversity.” - Benjamin Disraeli

                                                              7
A few disclaimers




                    8
Hindsight is 20/20




                     9
“History is written by the victors”




                                      10
Etsy thrives today
  because of what
its early employees
    accomplished




                      11
Your narrator wasn’t present for most
  of the events covered in this talk




                                        12
Etsy Architecture: 2007




                          13
Etsy Architecture: 2007

Operating System:

       Database:

      Webserver:

      Languages:


                            14
Etsy Architecture: 2007


   Most business logic in
 Postgres stored procedures




                              15
Etsy Architecture: 2007


 Front end / database interaction = stored
procedure calls wrapped with PHP functions




                                             16
Etsy Architecture: 2007


Some database partitioning by feature,
   but still with a large central DB




                                         17
Etsy Architecture: 2007



   Site uptime = not great




                             18
Etsy Architecture: 2007



    “How do we scale?”




                          19
Etsy Architecture: 2007



“Let’s write some middleware!”

(runners up: “Let’s rewrite the site in Java!”
   and “Let’s rewrite the site in Python!”)




                                                 20
Conway’s Law:
“Any organization that designs
a system (defined broadly) will
produce a design whose
structure is a copy of the
organization's communication
structure.”

- Melvin Conway, 1968



                                 21
Etsy Engineering: 2007


Dev      DBA        Ops




                          22
Etsy Engineering: 2007


Dev        DBA          Ops




      Devs write code


                              23
Etsy Engineering: 2007


Dev        DBA         Ops




      DBAs write SQL


                             24
Etsy Engineering: 2007


Dev          DBA           Ops




Ops deploys code & touches prod


                                  25
SILOS




        26
Etsy’s big bet: “Sprouter”
    (the Stored Procedure Router)




                                    27
Sprouter


 Web           Sprouter          DB
(PHP)          (Python)       (Postgres)




        Runs on each webserver,
          listens on port 8010

                                           28
Sprouter


  Web            Sprouter           DB
 (PHP)           (Python)        (Postgres)




  Maps name/arguments to a Postgres
stored procedure, calls it, returns results

                                              29
Sprouter


 Web      Sprouter         DB
(PHP)     (Python)      (Postgres)




        Caches things


                                     30
Sprouter


 Web         Sprouter           DB
(PHP)        (Python)        (Postgres)




   Supports sharding (in theory)


                                          31
Sprouter


 Web        Sprouter          DB
(PHP)       (Python)       (Postgres)




 Devs write PHP, DBAs write SQL,
  meet somewhere in the middle

                                        32
SILOS




        33
Sprouter


 Web          Sprouter          DB
(PHP)         (Python)       (Postgres)




 The hope: easier to scale Sprouter
  than to scale the database itself

                                          34
Sprouter


  Web          Sprouter          DB
 (PHP)         (Python)       (Postgres)



   (scaling the db when everything’s in
stored procedures = somewhere between
           hard and impossible)

                                           35
Sprouter: Timeline
  Fall ’07: Idea first discussed
Spring ’08: Alpha version debuts
  Fall ’08: Released in production




                                     36
Sprouter: Timeline
     Fall ’07: Idea first discussed
   Spring ’08: Alpha version debuts
     Fall ’08: Released in production




Spring ’09: Sprouter deprecated
                                        37
What happened?




                 38
Sprouter: “Good” Parts


 Web          Sprouter          DB
(PHP)         (Python)       (Postgres)




Forcibly centralizes database access


                                          39
Sprouter: “Good” Parts


 Web         Sprouter          DB
(PHP)        (Python)       (Postgres)




  Hides data store implementation
            from caller

                                         40
Sprouter: “Good” Parts


 Web             Sprouter          DB
(PHP)            (Python)       (Postgres)




            Opens the door for
        “clever” automatic caching

                                             41
Sprouter: “Good” Parts


   Web          Sprouter          DB
  (PHP)         (Python)       (Postgres)




Prevents developers from writing SQL (?)


                                            42
43
Sprouter: Not-As-Good Parts


 Web           Sprouter          DB
(PHP)          (Python)       (Postgres)




Creates substantial developer friction


                                           44
Sprouter: Not-As-Good Parts


 Web        Sprouter        DB
(PHP)       (Python)     (Postgres)




Homegrown daemon + dependencies
       for Ops to maintain

                                      45
Sprouter: Not-As-Good Parts


  Web          Sprouter           DB
 (PHP)         (Python)        (Postgres)




Lack of community support / provability


                                            46
Sprouter: Not-As-Good Parts


    Web          Sprouter          DB
   (PHP)         (Python)       (Postgres)




Complex synchronization required to deploy
   (due to tight coupling with Postgres)

                                             47
Sprouter: Not-As-Good Parts


  Web           Sprouter          DB
 (PHP)          (Python)       (Postgres)




Database remains single point of failure
(sharding features never fully formed)

                                            48
Sprouter: Summary
Extra barriers to development




                                49
Sprouter: Summary
Extra barriers to development
+ Negligible (negative?) effect on site reliability




                                                     50
Sprouter: Summary
Extra barriers to development
+ Negligible (negative?) effect on site reliability
+ Deploys even more painful




                                                     51
Sprouter: Summary
Extra barriers to development
+ Negligible (negative?) effect on site reliability
+ Deploys even more painful
+ Requires extra Ops/Dev resources




                                                     52
Sprouter: Summary
Extra barriers to development
+ Negligible (negative?) effect on site reliability
+ Deploys even more painful
+ Requires extra Ops/Dev resources

=




                                                     53
How did attitudes change so quickly?




                                       54
Sprouter: Timeline
     Fall ’07: Idea first discussed
   Spring ’08: Alpha version debuts
     Fall ’08: Released in production




Spring ’09: Sprouter deprecated
                                        55
The Great Etsy Culture Shift




                               56
The Great Etsy Culture Shift


Just as Sprouter went live, many of its
 strongest proponents departed Etsy




                                          57
The Great Etsy Culture Shift



      Taking with them...




                               58
The Great Etsy Culture Shift


   Devotion to Postgres stored
      procedures / types




                                 59
The Great Etsy Culture Shift



  Fear of developers writing SQL




                                   60
The Great Etsy Culture Shift



 Fear of developers touching prod




                                    61
The Great Etsy Culture Shift



Infrequent / large deploys to production




                                           62
The Great Etsy Culture Shift



     “Not developed here”




                               63
The Great Etsy Culture Shift
Then                  Now


            Fall
            ’08




                               64
DevOps




         65
DevOps



Silos = bad




              66
DevOps


Trust, cooperation, transparency,
  shared responsibility = good




                                    67
DevOps



“We’re all in this together”




                               68
The Way Forward: Part 1



     Stabilize the site




                          69
The Way Forward: Part 1
       Stabilize the site



 Improve metrics & monitoring




                                70
The Way Forward: Part 1
      Stabilize the site


            StatsD
http://github.com/etsy/statsd




                                71
The Way Forward: Part 1
      Stabilize the site


 Upgrade database hardware
 vertically as far as possible




                                 72
The Way Forward: Part 1
         Stabilize the site


Give developers production access to
    help troubleshoot problems




                                       73
The Way Forward: Part 2



   Continuous Deployment




                           74
The Way Forward: Part 2
      Continuous Deployment


   Any engineer can deploy to prod
(generally happens 25+ times per day)




                                        75
The Way Forward: Part 2
      Continuous Deployment


            Deployinator
http://github.com/etsy/deployinator




                                      76
The Way Forward: Part 2
   Continuous Deployment



One button that deploys the site




                                   77
The Way Forward: Part 2
      Continuous Deployment



Small changesets, deployed frequently




                                        78
The Way Forward: Part 2
   Continuous Deployment


    Requires solid tests,
    good communication




                            79
The Way Forward: Part 2
    Continuous Deployment



Distributed developer-driven QA




                                  80
The Way Forward: Part 3



    Circumvent Sprouter




                          81
The Way Forward: Part 3
      Circumvent Sprouter



Object-Relational Mapping (ORM)




                                  82
The Way Forward: Part 3
        Circumvent Sprouter


aka “The Vietnam of Computer Science”
              (Google it)




                                        83
The Way Forward: Part 3
         Circumvent Sprouter


Front-end PHP talks directly to database
     via ORM (also written in PHP)




                                           84
The Way Forward: Part 3
      Circumvent Sprouter


ORM can cache where appropriate
      (as can front end)




                                  85
The Way Forward: Part 4



    Database Sharding




                          86
The Way Forward: Part 4
        Database Sharding


 Etsy has a lot of DNA from flickr -
including their DB sharding scheme




                                      87
The Way Forward: Part 4
    Database Sharding



     Based on MySQL




                          88
The Way Forward: Part 4
     Database Sharding



  Battle-tested, well-known




                              89
The Way Forward: Part 4
      Database Sharding


 Scales horizontally to infinity
      (or close enough)




                                  90
The Way Forward: Part 4
     Database Sharding


  No single points of failure
 (master-master replication)




                                91
The Way Forward: Part 4
      Database Sharding


 Gradually phase out Sprouter,
 phase in ORM / sharded data




                                 92
Sprouter: Timeline


  Fall ’07: Idea first discussed
Spring ’08: Alpha version debuts
  Fall ’08: Released in production
Spring ’09: Sprouter deprecated




                                     93
Sprouter: Timeline


   Fall ’07: Idea first discussed
 Spring ’08: Alpha version debuts
   Fall ’08: Released in production
 Spring ’09: Sprouter deprecated




Spring ’11: Sprouter turned off

                                      94
95
Lessons Learned




                  96
Etsy Architecture: 2007

Operating System:

       Database:

      Webserver:

      Languages:


                            97
Etsy Architecture: 2011

Operating System:

       Database:

      Webserver:

      Languages:


                            98
Open & trusting > closed & afraid
  (DevOps DevOps DevOps)




                                    99
Front end/database interaction is too critical
to take chances on novel/untested solutions




                                                 100
Side corollary: If you’re doing something
“clever”, you’re probably doing it wrong




                                            101
The architectural decisions you make today
will have large impact long after you’re gone




                                                102
No architectural hole is so deep that proven
scaling strategies don’t exist for digging out




                                                 103
Acknowledgement


We are probably making decisions today that
 will be the subject of a similar talk in 2015




                                                 104
Learn More:
http://codeascraft.etsy.com/
@codeascraft
                               105
Etsy is hiring!
http://www.etsy.com/careers
@etsy
                              106

More Related Content

What's hot

Lean Portfolio Strategy Part 2: Shifting from Imitation to Real LPM - The Mov...
Lean Portfolio Strategy Part 2: Shifting from Imitation to Real LPM - The Mov...Lean Portfolio Strategy Part 2: Shifting from Imitation to Real LPM - The Mov...
Lean Portfolio Strategy Part 2: Shifting from Imitation to Real LPM - The Mov...Cprime
 
Agile Coaching Workshop
Agile Coaching WorkshopAgile Coaching Workshop
Agile Coaching WorkshopCraig Smith
 
SAFe® - scaled agile framework in practice
SAFe® - scaled agile framework in practiceSAFe® - scaled agile framework in practice
SAFe® - scaled agile framework in practiceIntland Software GmbH
 
Foundations of the Scaled Agile Framework: Be Agile. Scale Up. Stay Lean. And...
Foundations of the Scaled Agile Framework: Be Agile. Scale Up. Stay Lean. And...Foundations of the Scaled Agile Framework: Be Agile. Scale Up. Stay Lean. And...
Foundations of the Scaled Agile Framework: Be Agile. Scale Up. Stay Lean. And...IBM Rational software
 
Agile Delivery Powerpoint Presentation Slides
Agile Delivery Powerpoint Presentation SlidesAgile Delivery Powerpoint Presentation Slides
Agile Delivery Powerpoint Presentation SlidesSlideTeam
 
'How do you know that your product works?': Henrik Kniberg @ Colombo Agile Co...
'How do you know that your product works?': Henrik Kniberg @ Colombo Agile Co...'How do you know that your product works?': Henrik Kniberg @ Colombo Agile Co...
'How do you know that your product works?': Henrik Kniberg @ Colombo Agile Co...ColomboCampsCommunity
 
Introduction to scaled agile framework
Introduction to scaled agile frameworkIntroduction to scaled agile framework
Introduction to scaled agile frameworkSrinath Ramakrishnan
 
Introduction To Jira Slide Share
Introduction To Jira Slide ShareIntroduction To Jira Slide Share
Introduction To Jira Slide ShareRenjith V
 
Introduction to scaled agile framework
Introduction to scaled agile frameworkIntroduction to scaled agile framework
Introduction to scaled agile frameworkITEM
 
Bpm Implementation Success Criteria And Best Practice
Bpm Implementation   Success Criteria And Best PracticeBpm Implementation   Success Criteria And Best Practice
Bpm Implementation Success Criteria And Best PracticeAlan McSweeney
 
Agile Kaizen: Agile Product Management - Course Slides
Agile Kaizen: Agile Product Management - Course SlidesAgile Kaizen: Agile Product Management - Course Slides
Agile Kaizen: Agile Product Management - Course SlidesProyectalis / Improvement21
 
Agile project management
Agile project managementAgile project management
Agile project managementeng100
 

What's hot (20)

Scrum and JIRA
Scrum and JIRAScrum and JIRA
Scrum and JIRA
 
Lean Portfolio Strategy Part 2: Shifting from Imitation to Real LPM - The Mov...
Lean Portfolio Strategy Part 2: Shifting from Imitation to Real LPM - The Mov...Lean Portfolio Strategy Part 2: Shifting from Imitation to Real LPM - The Mov...
Lean Portfolio Strategy Part 2: Shifting from Imitation to Real LPM - The Mov...
 
Agile Coaching Workshop
Agile Coaching WorkshopAgile Coaching Workshop
Agile Coaching Workshop
 
SAFe® - scaled agile framework in practice
SAFe® - scaled agile framework in practiceSAFe® - scaled agile framework in practice
SAFe® - scaled agile framework in practice
 
Foundations of the Scaled Agile Framework: Be Agile. Scale Up. Stay Lean. And...
Foundations of the Scaled Agile Framework: Be Agile. Scale Up. Stay Lean. And...Foundations of the Scaled Agile Framework: Be Agile. Scale Up. Stay Lean. And...
Foundations of the Scaled Agile Framework: Be Agile. Scale Up. Stay Lean. And...
 
Agile Delivery Powerpoint Presentation Slides
Agile Delivery Powerpoint Presentation SlidesAgile Delivery Powerpoint Presentation Slides
Agile Delivery Powerpoint Presentation Slides
 
Advanced JIRA and Confluence
Advanced JIRA and ConfluenceAdvanced JIRA and Confluence
Advanced JIRA and Confluence
 
Jira training
Jira trainingJira training
Jira training
 
Agile 101
Agile 101Agile 101
Agile 101
 
'How do you know that your product works?': Henrik Kniberg @ Colombo Agile Co...
'How do you know that your product works?': Henrik Kniberg @ Colombo Agile Co...'How do you know that your product works?': Henrik Kniberg @ Colombo Agile Co...
'How do you know that your product works?': Henrik Kniberg @ Colombo Agile Co...
 
Introduction to scaled agile framework
Introduction to scaled agile frameworkIntroduction to scaled agile framework
Introduction to scaled agile framework
 
Agile Metrics
Agile MetricsAgile Metrics
Agile Metrics
 
Introduction To Jira Slide Share
Introduction To Jira Slide ShareIntroduction To Jira Slide Share
Introduction To Jira Slide Share
 
Agile (Scrum)
Agile (Scrum)Agile (Scrum)
Agile (Scrum)
 
Introduction to scaled agile framework
Introduction to scaled agile frameworkIntroduction to scaled agile framework
Introduction to scaled agile framework
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
 
Jira fundamentals
Jira fundamentalsJira fundamentals
Jira fundamentals
 
Bpm Implementation Success Criteria And Best Practice
Bpm Implementation   Success Criteria And Best PracticeBpm Implementation   Success Criteria And Best Practice
Bpm Implementation Success Criteria And Best Practice
 
Agile Kaizen: Agile Product Management - Course Slides
Agile Kaizen: Agile Product Management - Course SlidesAgile Kaizen: Agile Product Management - Course Slides
Agile Kaizen: Agile Product Management - Course Slides
 
Agile project management
Agile project managementAgile project management
Agile project management
 

Similar to Scaling Etsy: What Went Wrong, What Went Right

Microsoft & open source a 'brave new world' - CORESTART 2.0
Microsoft & open source a 'brave new world' - CORESTART 2.0Microsoft & open source a 'brave new world' - CORESTART 2.0
Microsoft & open source a 'brave new world' - CORESTART 2.0Matt Warren
 
Continuum Analytics and Python
Continuum Analytics and PythonContinuum Analytics and Python
Continuum Analytics and PythonTravis Oliphant
 
Microsoft & Open Source - a 'brave new world' - ProgSCon 2017
Microsoft & Open Source - a 'brave new world' - ProgSCon 2017Microsoft & Open Source - a 'brave new world' - ProgSCon 2017
Microsoft & Open Source - a 'brave new world' - ProgSCon 2017Matt Warren
 
Open Innovation means Open Source
Open Innovation means Open SourceOpen Innovation means Open Source
Open Innovation means Open SourceBertrand Delacretaz
 
PyData Texas 2015 Keynote
PyData Texas 2015 KeynotePyData Texas 2015 Keynote
PyData Texas 2015 KeynotePeter Wang
 
Building Data Pipelines in Python
Building Data Pipelines in PythonBuilding Data Pipelines in Python
Building Data Pipelines in PythonC4Media
 
Class 39: ...and the World Wide Web
Class 39: ...and the World Wide WebClass 39: ...and the World Wide Web
Class 39: ...and the World Wide WebDavid Evans
 
[KubeCon NA 2018] Effective Kubernetes Develop: Turbocharge Your Dev Loop - P...
[KubeCon NA 2018] Effective Kubernetes Develop: Turbocharge Your Dev Loop - P...[KubeCon NA 2018] Effective Kubernetes Develop: Turbocharge Your Dev Loop - P...
[KubeCon NA 2018] Effective Kubernetes Develop: Turbocharge Your Dev Loop - P...Ambassador Labs
 
SQLCAT: Tier-1 BI in the World of Big Data
SQLCAT: Tier-1 BI in the World of Big DataSQLCAT: Tier-1 BI in the World of Big Data
SQLCAT: Tier-1 BI in the World of Big DataDenny Lee
 
Open Innovation means Open Source
Open Innovation means Open SourceOpen Innovation means Open Source
Open Innovation means Open SourceBertrand Delacretaz
 
Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...Jody Garnett
 
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" EcosystemsPyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" EcosystemsUwe Korn
 
IMCSummit 2015 - Day 1 Developer Track - Open-Source In-Memory Platforms: Ben...
IMCSummit 2015 - Day 1 Developer Track - Open-Source In-Memory Platforms: Ben...IMCSummit 2015 - Day 1 Developer Track - Open-Source In-Memory Platforms: Ben...
IMCSummit 2015 - Day 1 Developer Track - Open-Source In-Memory Platforms: Ben...In-Memory Computing Summit
 
Pg nordic-day-2014-2 tb-enough
Pg nordic-day-2014-2 tb-enoughPg nordic-day-2014-2 tb-enough
Pg nordic-day-2014-2 tb-enoughRenaud Bruyeron
 
Build Community Android Distribution and Ensure the Quality
Build Community Android Distribution and Ensure the QualityBuild Community Android Distribution and Ensure the Quality
Build Community Android Distribution and Ensure the QualityNational Cheng Kung University
 
PHP Unconference Continuous Integration
PHP Unconference Continuous IntegrationPHP Unconference Continuous Integration
PHP Unconference Continuous IntegrationNils Hofmeister
 
GraphTour - Workday: Tracking activity with Neo4j (English Version)
GraphTour - Workday: Tracking activity with Neo4j (English Version)GraphTour - Workday: Tracking activity with Neo4j (English Version)
GraphTour - Workday: Tracking activity with Neo4j (English Version)Neo4j
 
H2O Deep Water - Making Deep Learning Accessible to Everyone
H2O Deep Water - Making Deep Learning Accessible to EveryoneH2O Deep Water - Making Deep Learning Accessible to Everyone
H2O Deep Water - Making Deep Learning Accessible to EveryoneSri Ambati
 

Similar to Scaling Etsy: What Went Wrong, What Went Right (20)

Microsoft & open source a 'brave new world' - CORESTART 2.0
Microsoft & open source a 'brave new world' - CORESTART 2.0Microsoft & open source a 'brave new world' - CORESTART 2.0
Microsoft & open source a 'brave new world' - CORESTART 2.0
 
Continuum Analytics and Python
Continuum Analytics and PythonContinuum Analytics and Python
Continuum Analytics and Python
 
Microsoft & Open Source - a 'brave new world' - ProgSCon 2017
Microsoft & Open Source - a 'brave new world' - ProgSCon 2017Microsoft & Open Source - a 'brave new world' - ProgSCon 2017
Microsoft & Open Source - a 'brave new world' - ProgSCon 2017
 
Open Innovation means Open Source
Open Innovation means Open SourceOpen Innovation means Open Source
Open Innovation means Open Source
 
PyData Texas 2015 Keynote
PyData Texas 2015 KeynotePyData Texas 2015 Keynote
PyData Texas 2015 Keynote
 
Building Data Pipelines in Python
Building Data Pipelines in PythonBuilding Data Pipelines in Python
Building Data Pipelines in Python
 
Class 39: ...and the World Wide Web
Class 39: ...and the World Wide WebClass 39: ...and the World Wide Web
Class 39: ...and the World Wide Web
 
[KubeCon NA 2018] Effective Kubernetes Develop: Turbocharge Your Dev Loop - P...
[KubeCon NA 2018] Effective Kubernetes Develop: Turbocharge Your Dev Loop - P...[KubeCon NA 2018] Effective Kubernetes Develop: Turbocharge Your Dev Loop - P...
[KubeCon NA 2018] Effective Kubernetes Develop: Turbocharge Your Dev Loop - P...
 
cadec-2017-golang
cadec-2017-golangcadec-2017-golang
cadec-2017-golang
 
SQLCAT: Tier-1 BI in the World of Big Data
SQLCAT: Tier-1 BI in the World of Big DataSQLCAT: Tier-1 BI in the World of Big Data
SQLCAT: Tier-1 BI in the World of Big Data
 
Open Innovation means Open Source
Open Innovation means Open SourceOpen Innovation means Open Source
Open Innovation means Open Source
 
Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...
 
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" EcosystemsPyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
 
IMCSummit 2015 - Day 1 Developer Track - Open-Source In-Memory Platforms: Ben...
IMCSummit 2015 - Day 1 Developer Track - Open-Source In-Memory Platforms: Ben...IMCSummit 2015 - Day 1 Developer Track - Open-Source In-Memory Platforms: Ben...
IMCSummit 2015 - Day 1 Developer Track - Open-Source In-Memory Platforms: Ben...
 
Pg nordic-day-2014-2 tb-enough
Pg nordic-day-2014-2 tb-enoughPg nordic-day-2014-2 tb-enough
Pg nordic-day-2014-2 tb-enough
 
Build Community Android Distribution and Ensure the Quality
Build Community Android Distribution and Ensure the QualityBuild Community Android Distribution and Ensure the Quality
Build Community Android Distribution and Ensure the Quality
 
PHP Unconference Continuous Integration
PHP Unconference Continuous IntegrationPHP Unconference Continuous Integration
PHP Unconference Continuous Integration
 
GraphTour - Workday: Tracking activity with Neo4j (English Version)
GraphTour - Workday: Tracking activity with Neo4j (English Version)GraphTour - Workday: Tracking activity with Neo4j (English Version)
GraphTour - Workday: Tracking activity with Neo4j (English Version)
 
H2O Deep Water - Making Deep Learning Accessible to Everyone
H2O Deep Water - Making Deep Learning Accessible to EveryoneH2O Deep Water - Making Deep Learning Accessible to Everyone
H2O Deep Water - Making Deep Learning Accessible to Everyone
 
Intro to Big Data - Spark
Intro to Big Data - SparkIntro to Big Data - Spark
Intro to Big Data - Spark
 

Recently uploaded

JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...amber724300
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Français Patch Tuesday - Avril
Français Patch Tuesday - AvrilFrançais Patch Tuesday - Avril
Français Patch Tuesday - AvrilIvanti
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
WomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyoneWomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyoneUiPathCommunity
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Nikki Chapple
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...Karmanjay Verma
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentMahmoud Rabie
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 

Recently uploaded (20)

JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Français Patch Tuesday - Avril
Français Patch Tuesday - AvrilFrançais Patch Tuesday - Avril
Français Patch Tuesday - Avril
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
WomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyoneWomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyone
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career Development
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 

Scaling Etsy: What Went Wrong, What Went Right