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

Evolving Team Structure in DevOps
Evolving Team Structure in DevOpsEvolving Team Structure in DevOps
Evolving Team Structure in DevOpsSherry Chang
 
DevOps-as-a-Service: Towards Automating the Automation
DevOps-as-a-Service: Towards Automating the AutomationDevOps-as-a-Service: Towards Automating the Automation
DevOps-as-a-Service: Towards Automating the AutomationKeith Pleas
 
A proposed framework for Agile Roadmap Design and Maintenance
A proposed framework for Agile Roadmap Design and MaintenanceA proposed framework for Agile Roadmap Design and Maintenance
A proposed framework for Agile Roadmap Design and MaintenanceJérôme Kehrli
 
CI/CD (DevOps) 101
CI/CD (DevOps) 101CI/CD (DevOps) 101
CI/CD (DevOps) 101Hazzim Anaya
 
CICD Pipeline Using Github Actions
CICD Pipeline Using Github ActionsCICD Pipeline Using Github Actions
CICD Pipeline Using Github ActionsKumar Shìvam
 
What do you mean by “API as a Product”?
What do you mean by “API as a Product”?What do you mean by “API as a Product”?
What do you mean by “API as a Product”?Nordic APIs
 
Open shift 4 infra deep dive
Open shift 4    infra deep diveOpen shift 4    infra deep dive
Open shift 4 infra deep diveWinton Winton
 
Agile requirements and compliance finding a balance
Agile requirements and compliance  finding a balanceAgile requirements and compliance  finding a balance
Agile requirements and compliance finding a balanceCherifa Mansoura
 
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzurePlatform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzureWSO2
 
How to Execute a Successful API Strategy
How to Execute a Successful API StrategyHow to Execute a Successful API Strategy
How to Execute a Successful API StrategyMatt McLarty
 
Continuous Deployment at Etsy
Continuous Deployment at EtsyContinuous Deployment at Etsy
Continuous Deployment at EtsyPremshree Pillai
 
Top 5 benefits of docker
Top 5 benefits of dockerTop 5 benefits of docker
Top 5 benefits of dockerJohn Zaccone
 
The DevOps Journey
The DevOps JourneyThe DevOps Journey
The DevOps JourneyMicro Focus
 
GitOps - Modern best practices for high velocity app dev using cloud native t...
GitOps - Modern best practices for high velocity app dev using cloud native t...GitOps - Modern best practices for high velocity app dev using cloud native t...
GitOps - Modern best practices for high velocity app dev using cloud native t...Weaveworks
 
Monitoring & Observability
Monitoring & ObservabilityMonitoring & Observability
Monitoring & ObservabilityLumban Sopian
 
What's an SRE at Criteo - Meetup SRE Paris
What's an SRE at Criteo - Meetup SRE ParisWhat's an SRE at Criteo - Meetup SRE Paris
What's an SRE at Criteo - Meetup SRE ParisClément Michaud
 
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...Edureka!
 
A Crash Course in Building Site Reliability
A Crash Course in Building Site ReliabilityA Crash Course in Building Site Reliability
A Crash Course in Building Site ReliabilityAcquia
 
Building a DevOps organization
Building a DevOps organizationBuilding a DevOps organization
Building a DevOps organizationZinnov
 

What's hot (20)

Evolving Team Structure in DevOps
Evolving Team Structure in DevOpsEvolving Team Structure in DevOps
Evolving Team Structure in DevOps
 
DevOps-as-a-Service: Towards Automating the Automation
DevOps-as-a-Service: Towards Automating the AutomationDevOps-as-a-Service: Towards Automating the Automation
DevOps-as-a-Service: Towards Automating the Automation
 
A proposed framework for Agile Roadmap Design and Maintenance
A proposed framework for Agile Roadmap Design and MaintenanceA proposed framework for Agile Roadmap Design and Maintenance
A proposed framework for Agile Roadmap Design and Maintenance
 
CI/CD (DevOps) 101
CI/CD (DevOps) 101CI/CD (DevOps) 101
CI/CD (DevOps) 101
 
CICD Pipeline Using Github Actions
CICD Pipeline Using Github ActionsCICD Pipeline Using Github Actions
CICD Pipeline Using Github Actions
 
What do you mean by “API as a Product”?
What do you mean by “API as a Product”?What do you mean by “API as a Product”?
What do you mean by “API as a Product”?
 
Open shift 4 infra deep dive
Open shift 4    infra deep diveOpen shift 4    infra deep dive
Open shift 4 infra deep dive
 
Agile requirements and compliance finding a balance
Agile requirements and compliance  finding a balanceAgile requirements and compliance  finding a balance
Agile requirements and compliance finding a balance
 
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzurePlatform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on Azure
 
How to Execute a Successful API Strategy
How to Execute a Successful API StrategyHow to Execute a Successful API Strategy
How to Execute a Successful API Strategy
 
Continuous Deployment at Etsy
Continuous Deployment at EtsyContinuous Deployment at Etsy
Continuous Deployment at Etsy
 
Top 5 benefits of docker
Top 5 benefits of dockerTop 5 benefits of docker
Top 5 benefits of docker
 
The DevOps Journey
The DevOps JourneyThe DevOps Journey
The DevOps Journey
 
GitOps - Modern best practices for high velocity app dev using cloud native t...
GitOps - Modern best practices for high velocity app dev using cloud native t...GitOps - Modern best practices for high velocity app dev using cloud native t...
GitOps - Modern best practices for high velocity app dev using cloud native t...
 
Monitoring & Observability
Monitoring & ObservabilityMonitoring & Observability
Monitoring & Observability
 
What's an SRE at Criteo - Meetup SRE Paris
What's an SRE at Criteo - Meetup SRE ParisWhat's an SRE at Criteo - Meetup SRE Paris
What's an SRE at Criteo - Meetup SRE Paris
 
Observability
Observability Observability
Observability
 
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
 
A Crash Course in Building Site Reliability
A Crash Course in Building Site ReliabilityA Crash Course in Building Site Reliability
A Crash Course in Building Site Reliability
 
Building a DevOps organization
Building a DevOps organizationBuilding a DevOps organization
Building a DevOps organization
 

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

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
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 businesspanagenda
 
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 FMESafe Software
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governanceWSO2
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)Samir Dash
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard37
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceIES VE
 
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 Pakistandanishmna97
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
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 WorkerThousandEyes
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxMarkSteadman7
 
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 2024Victor Rentea
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMKumar Satyam
 
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 2024Victor Rentea
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 

Recently uploaded (20)

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
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
 
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
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governance
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational Performance
 
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
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
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
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptx
 
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
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
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
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 

Scaling Etsy: What Went Wrong, What Went Right