SymfonyLive London 2015

Cómo convertimos spotify.com en una aplicación Symfony

James Solomon  · 

Transcripción

Extracto de la transcripción automática del vídeo realizada por YouTube.

thank you thank you thank you for joining me today my name is Jane Solomon I've been a web developer at spotify now for a little over three years the whole time I spent on Spotify calm and my transitioning spot I calm over to Symphony actually and that's

what we're here to talk about today come on work for me oh all right there we go so just in case you don't know a Spotify is a music streaming app where you can play all your music at any time we have over 20 million paid subscribers 75 million active

users 30 million songs are roughly every song except for Taylor Swift we have rin available over 58 markets and currently around 1,700 employees over around eight hundred of which are engineers and actually work in the New York office sorry so some warm up

to our talk here is the engineering culture at spotify is somewhat unique we have this concept of autonomous squads or what they kind of trick to call every squad is kind of a mini startup sorry squad has everything it needs to do its job on a daily basis

whether that's a designer a backend engineer front-end engineer agile coach whatever you need and then and you got the idea is you work independent of every other teams who use you're by yourself and on your mini startup and then also we don't

have a lot of standards that you have to strictly abide by so the idea is more of a cross pollination so you try something if you like it you kind of evangelize that internally and ideally more people to take that on it helps out the culture internally but

you don't have to so you can kind of do whatever you want or whatever suits your squads needs or for your problems we have a very big open source model we actually use ghe or github enterprise internally so much so that every single code that we have in

the company is available to you to look at submit a pull request for you if you're not a part of team to the point where there's like a top secret project you can they're not allowed to talk about but yet I can go get the code and play with it

we have this model of a think it build a ship in tweak it which it helped a lot with our transition is symphony as well and there are some cool videos you're actually with some really fun RT drawings of our our culture works so we're talking about

dub dub dub spotify calm here not play dot spotify which is our somewhat ok for web player so spawned by calm is kind of like the marketing site the account creation sign up give us your money help features corporate info all that kind of general stuff and

that's that's what that's what we are using now so some fun facts i guess about the site itself we have around six thousand requests per second on average chrome is the number one browser almost half of our traffic is actually on mobile i used

some a bunch of apache web servers memcache my sequel debian-based deploys and a very good version of PHP finally which is only as it recently so the first git commit goes back to the december and 2010 but the site existed in various forms prior to that and

it's someone was working apparently on Christmas to looks something like this it's a little ugly little old and with that ugly sight the very first commit introduced much of our legacy framework that we are we trying to get away from later on a lot

of fun classes all started in the very first cadet unfortunately so why would we want to change well a lot of the general issues you might normally think of when it comes to legacy code horrible documentation if there was any there is no real standards of

x practices you we had no real pattern you're following you kind of just a procedural type site our programming site lots of static classes so almost none of the library classes or core classes were actually instantiate adopts they're purely on static

classes there because there's no real routing there are some things hidden in Apache rewrites so debugging certain pages became fun and all the core libraries were in from scratch so you're very basic things like loading up a config file for instance

was already was recreated from scratch so there's very little if no abstraction things were just blatantly right there in the code calling another function on another class inside of that one which made it fun if not impossible to test because you had

to not only if you wanted you know isolate one method in a class you had up you had to go there nice on play with the other class that it's using and and so on and so forth maintain the state of all those there all night of Stan Shih ated so they're

all static yada yada and therefore we had like out of 82 classes we only had 10 that had had any tests and of those 10 there was very few tests within those which then means we had a lot of QA / manual QA process we had no integration tests either so deploying

[ ... ]

Nota: se han omitido las otras 2.450 palabras de la transcripción completa para cumplir con las normas de «uso razonable» de YouTube.