We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Building mobile APIs with services at Yelp

00:00

Formal Metadata

Title
Building mobile APIs with services at Yelp
Title of Series
Part Number
12
Number of Parts
173
Author
License
CC Attribution - NonCommercial - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this
Identifiers
Publisher
Release Date
Language
Production PlaceBilbao, Euskadi, Spain

Content Metadata

Subject Area
Genre
Abstract
Stephan Jaensch - Building mobile APIs with services at Yelp At Yelp, we ship code multiple times a day and have maintained this pace as our team has grown to 300+ and our codebase to several million lines of Python code. This talk explores the pain points we experienced along the ways, how our service-oriented architecture alleviates them, and the infrastructure we built to develop, test, and deploy in this highly-distributed environment. As a case study, we’ll be looking at the backend powering the new Yelp Business Owner Android and iOS apps. At the start, most of the development at Yelp occurred in a single, monolithic web application, creatively named “yelp-main” (naming is hard!). As the company grew, our developers were spending increasing amounts of time trying to ship code. After recognizing this pain point, we started experimenting with a service oriented architecture to scale the development process, and so far it’s been a resounding success. Over the course of the last three years, we’ve gone from writing our first service to having over seventy production services. Along the way, we’ve dabbled with Docker containers, Pyramid, SQLAlchemy, uWSGI, gevent, and virtualenv in an effort to build the next-generation service platform for our engineers.
Keywords
Executive information systemConnected spaceMobile WebWebsiteMetropolitan area networkWeb pageHaar measureLocal ringConnected spaceSlide ruleQuicksortFigurate numberSource codeDigital photographyMeasurementMobile WebWeb pageMobile appXMLUMLLecture/ConferenceProgram flowchart
Front and back endsSoftware developerSineCodeRepository (publishing)World Wide Web ConsortiumMobile WebCodeSoftware developerMobile appMedical imagingRepository (publishing)Cartesian coordinate systemCode refactoring1 (number)Front and back endsStatement (computer science)AreaMobile WebAbstractionSystem callTemplate (C++)Point (geometry)SequelJSONXMLUML
Metropolitan area networkCodeXMLUMLComputer animationLecture/Conference
CodeRepository (publishing)World Wide Web ConsortiumFront and back endsMobile WebPhysical systemLevel (video gaming)MathematicsProduct (business)Process (computing)Physical systemCore dumpSuite (music)Level (video gaming)Branch (computer science)Formal verificationSoftware testingCodeDigital rights managementOpen sourceRevision controlData centerBitMedical imagingAbstractionMultiplication signMassScaling (geometry)Flow separationBound stateXML
Port scannerMagneto-optical driveSoftware developerWeb serviceIndependence (probability theory)CodeMetropolitan area networkInterface (computing)Graph (mathematics)NP-hardConsistencySoftware testingControl flowMathematicsIntegrated development environmentMathematical singularitySystem callCodeSingle-precision floating-point formatWeb serviceMathematicsProduct (business)Level (video gaming)Line (geometry)Software testingInsertion lossMereologyDependent and independent variablesSubsetFlow separationNumberMedical imagingControl flowMultiplication signDomain nameInterface (computing)Electronic mailing listGraph (mathematics)Confidence intervalSystem callResultantSoftware developerData miningChaos (cosmogony)Closed setFunctional (mathematics)Set (mathematics)Unit testingConsistencyProcess (computing)Connectivity (graph theory)SoftwareService-oriented architectureWave packetIntegrated development environmentExecution unitMobile appDatabase transactionUniversal product codeLecture/ConferenceJSONUML
Maxima and minimaMetropolitan area networkGamma functionWeb serviceWeb serviceFile formatConfiguration spaceGame controllerRule of inferenceControl flowSet (mathematics)Link (knot theory)Arithmetic meanData storage deviceRevision controlDebuggerBitSynchronizationSoftware testingCodeRight angleSubsetCommunications protocolFlow separationDifferent (Kate Ryan album)JSON
Web serviceSystem callWeb serviceData modelHypermediaRandomizationParameter (computer programming)Block (periodic table)Endliche ModelltheorieGame controllerSpacetimeDependent and independent variablesSoftware frameworkXML
Metropolitan area networkDensity of statesDependent and independent variablesWeb serviceData typeClient (computing)TypprüfungComputer multitaskingoutputType theoryOpen setParameter (computer programming)BitWeb serviceDependent and independent variablesSet (mathematics)SoftwareLibrary (computing)Mobile appSystem callField (computer science)Power (physics)Functional (mathematics)Data modelData structureClient (computing)Android (robot)CodeValidity (statistics)Revision controlSinc functionNumberSummierbarkeitPoint (geometry)IRIS-TOpen sourceConstraint (mathematics)Computer animationJSONUML
Web serviceMedianAreaSineProxy serverExecutive information systemSystem callMathematical singularityFreewareData modelDifferent (Kate Ryan album)Maxima and minimaWeb pageClient (computing)Interface (computing)Level (video gaming)Front and back endsData acquisitionMobile WebSoftware testingImplementationMetropolitan area networkWorld Wide Web ConsortiumServer (computing)AreaClient (computing)Mobile appData storage deviceWeb serviceFile formatProxy serverWeb pageSystem calloutputMultiplication signMathematicsAndroid (robot)Set (mathematics)Level (video gaming)Mobile WebSoftwareWeb 2.0Theory of relativityRevision controlServer (computing)Arithmetic meanImplementationWeb-DesignerCASE <Informatik>Software developerTerm (mathematics)Point (geometry)Integrated development environmentBitLecture/ConferenceComputer animation
World Wide Web ConsortiumRevision controlPort scannerMultiplicationRevision controlDependent and independent variablesClient (computing)Multiplication signComputer animation
Revision controlPort scannerMultiplicationDependent and independent variablesServer (computing)MereologyField (computer science)Validity (statistics)Computer animation
Revision controlPort scannerMultiplicationOpen setTask (computing)Server (computing)Queue (abstract data type)Web serviceLogical constantOnline chatPosition operatorNewton's law of universal gravitationBlogGamma functionMetropolitan area networkType theoryMathematicsMultiplication signDescriptive statisticsString (computer science)Point (geometry)Computer fileRevision controlField (computer science)Task (computing)Web pageMetric systemSoftware developeroutputError messageVideo gameComputer hardwareMobile appAndroid (robot)Software testingClient (computing)Open sourceSound effectIntelligent NetworkCartesian coordinate systemWebsiteNetwork topologySource codeBit rateData analysisCrash (computing)Coma BerenicesBlogWordOffice suiteWeb serviceNumberRotationProduct (business)Process (computing)TwitterIdeal (ethics)Server (computing)JSONXMLUML
Executive information systemReal numberWeb serviceSubsetSoftware developerMobile appType theoryMathematicsSuite (music)DivisorDifferent (Kate Ryan album)Android (robot)Data structurePhysical lawSoftware testingCartesian coordinate systemVolume (thermodynamics)CodePoint (geometry)outputBranch (computer science)Revision controlProcess (computing)InformationServer (computing)Dependent and independent variablesLatent heatProduct (business)Overhead (computing)Control flowMultiplication signLengthCoefficient of determinationGoodness of fitModule (mathematics)TunisData exchangeEndliche ModelltheorieSystem callUnit testingSource codeModal logicPlanningConnected spaceWindows RegistryQuicksortMusical ensembleBitInterface (computing)Client (computing)Local ringState of matterOpen setVirtual machineGraph coloringOrder (biology)Similarity (geometry)Variable (mathematics)Web 2.0MultiplicationPresentation of a groupWeb pageLecture/Conference
Transcript: English(auto-generated)