Merken

Gamers do REST

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Beta
Erkannte Entitäten
Sprachtranskript
what comes the 3 PM and non stages injure Rhomboid and telling us about rest for in the beginning industry and what during so is that the actually and
I'm going to expand on that in just a moment my name is and when I worked for the most awesome company in the world the world cost being this island and the 1 and there had to adapt fast in order to survive in those 4 elements this is my solution the voice activation a subsidiary we have offices in Dublin Vancouver ensure high where around 200 people but the right to this approach field to the company the what do you do well basically can be summed up as straight on recruiting book winnable games to find 1 another and they should turn phrase and we that what we actually do is provide back-end services for Activision game studios but for leaderboard matchmaking and achieved a cost management and or we have like 70 + services that serve all present games and this upcoming games like called you
get version of fair and this means that prompted the and of course we're
hiring so if you're interested in what I'm about to show you please come the words so that the previous is this statement accurate what was it is even more paragraphs but the company's account is coming close to 0 then we with over 100 billion API calls month well that's the and this does really excited during lunchtime I mean I heard HR offices around the world experience a spike in consider 1st in November I want to tell you that this is just a coincidence step but over would catch on but it's ranging from a is designed to authentication and position so institute Wireless 1st and of the alright has must be
available to gain clients website companion apps and the using the right political the goal is be artist and the rest is also can achieve that level of interoperability we need 2nd scalability from all the pictures I came across the rest looks like the only 1 that's truly web-scale basically can look at the web as a huge REST API and your browser declined instances so you have your and you point your bookmark usage reverts to a top web pages you happenings from 1 preach from Washington page to another from 1 resource to another you have URI-identified resources and also your browser interprets those resources that have hypertext and so I think it's safe to say that using RESTful architectural style to your API design for EPA design will make use of this is just scale on the long run
anyone who ever worked API probably heard a variety of instances it's an interesting read and when you done with your left astonished by the elegant constants of life you have it to would to the those concepts and you'll probably succeed but then you realize that whatever you do your clients and this is or otherwise perfect creation in the gaming industry things get more complicated you have gossip protocols because everyone has their their stuff you have mandatory libraries in this case you have multiple languages and platforms to each other about their job name and the condition goes from OK to nonexistent most game developers have little to no contact with web services over the most of the time of the carriers and some user education sometimes is needed like even for simple things like what Jason is or what because mean or how to user questions the following recent years the gaming industry static embraces the prs like services that make life easier 1st having said that Our as RESTful I want to 3
years but even I have to to admit that we don't adhere to all the principles that either because of business constraints legacy logics or backwards compatibility the important thing that is that we're moving in that direction and we are encouraging finds the false if 1 step at a time so design
was we did we get post would be leveraged for EPA cards with before the communication protocol and use of representation and every time we do Napier design work on design with but the grammatical but like good enough copies better than perfect other things we about design wise but we have in New York World but it's mostly semantic we tend not to break backwards compatibility is mostly to tell the client clients that we have this set of features that it's only available in version 2 for example so we also have a camel case hinges on increased things that the Python code our we have a mapping to underscore or that we standardized face but also links to other resources and of course the human just using
rest is not enough to run the services is skill you need to have the right person tools in place so I'm gonna walk you through how we do it be more running time
depending on what was order disease cycle will still have automatic appeals that basically everything that's emerging to master and this
against also are other systems so so so everything is alright that is to be
on the most of this is not a different text so I'm going to focus only what what we use for API so if I have 7 Jan 6 we also is bicycle on agenda this year some people were surprised use my signal production and that is skills really well for us so at 1 point there was an initial hands and about 90 95 per cent of the people were using positive secure so here's here's your white and how many people here use my simple can raise offense please that was still in production but the same along good DB of so our reasoning is that we could find enough girls for other signal that databases that warrant a such a big migration for our infrastructure and my supposed is doing some really good developments in the last few years so what's the well us this act sure Wilson sent 6 and much more and more risky so as you can see we don't use anything fashion or simple reliable end users scalable are built with shot in mind also on their environments and are built around that the unit tests acceptances and all other interested constructing environment show environment all thanks that's the out also saves us from a lot of states that related issues most of the times and then let us focus on the real reason problems reliability is something we take really seriously as against the company that had been going on just the past few years therefore cold used you think you have enterprise the usage of branches mass is always global we deploy requests for being reviewed 1 more mobiles so all the features on and the build sparse William Baggett tagging and should ways of for a packaging of individual package or dependencies and manager Oracle for dependencies I'm going to talk about a bit about the schema migrations so communication
straightforward when working with huge amounts of data so there comes a time when you need do might change which cannot afford any down time and we have lots of lots of records multiple can mean table locks and they do they
blocks you will have a bad time for this we the work on articles which is never scripts created by prepared to deal with these kinds of situations we also is that for my signal for cannot production environment but will should work for pretty much any must back so what does the tool does behind-the-scenes it creates summary the altar table a copy of the original cable that's except figures 47 update delete all and all Table 2 was a new table so thing is is seen you have for every operation have consistent data then copies the data over in batch while in the meantime monitors the slave land and just as the patch size or just stop stop the operation to the legislative difference in the master and in the end the names of people which is of operation that takes fractions of the only downside of this process that uses uses a lot of spaces the because of the fact that it was but I think that we couldn't find anything you notice that the dearest using this to this is how Our configuration file but so more was cost project we're not bunch motion and then we need to be consistent configuration files across the board also young was just as the formalism readable as encoded and it has to be this year by people who don't know quite an but also validation with dynamically build by the jungle settings module at runtime from Jennifer so we check from a single fixed and invalid values at this point this way if something is not right we know before the actual said in his youth not only do we know when loaded map and used in the but this is a simple example of the validation of the validation library does it just the a type of valid entry has the Fulton description just to give you an idea on such the validation to validate data center by our clients with Jesus came along and it's pretty awesome these revenues if I really recommend it but this is this example you can do all kind of of fast of you you can have of restriction by type I mean max and the integers but pattern matching you can also have a a maximum length for strings required fields and you can also have different areas depending on what kind of of exception is the 3rd and the cool part about this is that you're writing code you can see although primary validation related to an endpoint or to resource in 1 place you don't have to jump through hoops so there really dig around just wanting to mention we don't use this for a heavy business logic validation can get messy and it's hard to maintain the long for error handling it's where Django middleware shy so you know used here is just the resistance of the middleware application is processed Egyptian that and think about it in a nice should be responses in that the client agrees so you might have some some adjustment depending what you require means or what you need but that's basically it's pretty we don't do anything fancy there there are not against also see we use whereas the approach to learning errors and also our codes so that's where most of the design work goes into on how to trace back from those areas the actual in for system of delays are also aggravated will come up with schools in the end you get something like this the year always small specialists search and she buyer for a front-end these things are someone amazing in this slide with want you all you can see executive something's happening but of course it will spend all the of these graphs we have metabolism definition for us but looking at the energy have an overview of the frequency of the areas and most of the time frame when that happened for example deployment in the event of a promotion for a game or something so we tend to keep the needs both production as opposed to development in the form of the the rocks that the loss of the concise complete contain context think about it this way if you put a lot in about a quarter which understand immediately the 1st class that would be chauffeur and why so we tried to guide the student the of this example from logging justice you have available to the project the so you can search the march so easily uh based on how the word from all the nodes of a gift from water services besides all these metrics flat semantics but not all of it is simple and I agree that the verifies source them and then sends and graphite and I get the visual images here here so what's the
difference between logging a matrix with much get different information and loving you can have like homing sent failed is still query times slave but over time at response times so it is the creation of time deletion of time and you notice that anomalies like that's way in the middle but again general formula to the rescue for example for this simple example we have a we're recording the request the start time of the request and then the response we do with gift and we sent across time climate segregated is pretty straightforward is nothing you know rocket science that we can also add here for example that the process exceptions made them and you have matrix for exceptions region but all this city matrix of different types of exceptional over time what as fortification position is somewhat tokens not claims that a system can use to access sources form with the types of distillate tokens we have to somewhat signature objects which are claims that the basics for encoding but carry with them a signature for education and also and with encryption objects after claims that the toppling created of public there and for that we suggest that the framework created by us single open source you find them uh you how can also be started going on so called holds a I'm going walk it true what how it can be used was this you have your claims that you have to be sure the expire time in the subject you also have the password so just sign this is for a legitimacy which signature you signed the claims you can use leader of a synchronous or synchronous algorithm for sending using this case is the simplest all this is the object get together and the payload the signature and then use utilizing compacted and send it to the clients and the client just like 1 I could verifies it and most for additional with this encryption object it's pretty much the same with the difference that we use is the private property there and we created the public key we get a slightly bigger objects users the of client side into cryptic and put a priority and they so the summary this is also used as many concepts as you can but the pragmatic in your approach the error logging in matrix the monitoring of what makes scalable survival and scaling survival and there were hiring and then that's it thank you thank you would be a good but minutes for Q and a that's 1 microphone I'm on the stand for this hi thank you for the talk can you talk a little bit more about the last 2 bits which is Jason about signatures and chasing the encryption this sense of like how you have to idea using what is to come what's the research that you did behind that of duty believe this is secure from as a like what are the constraints in quite of some research and we think it's secure for our use cases so far in this case is the I guess is secure enough on we're going to use a new version of holes in the in the next in the near future which have more context and could be the security probably this there will be this In the example b be updated called but from our research as a man to have some the some might be a small world 1 in the future it looks like it's this here if I if it's the it's I know I know we can we can talk about this that this subject afterwards because it is not an easy subject approach this is how we do it we can talk a lot about this but 1 quick remark am my right chasing the signatures and encryption of open standards right you did not invent those because of this and that's all well you standards there was and so on what we do not even know little densities that is based on the moral standards you wrote a library for yeah so so yeah there's OK so we do not even produce in a word tokens I thank you for it so and uh what we we briefly discuss these are
will wandering the fat is specific reason why you decided to implement your own framework rather than using a not framework other such as a general frame of all another 1 way for the guys mean yeah well this triangle which is a framework in itself I think the surface so that but time when we started development our framework there would you have a lot of choices survival traces now we have generous framework and the basic by which are pretty much shorter Bakhtin thing there is solely based on which is not contain more and he did sister needs that time so that may last minute daunting it is is it a became more questions hi how do you use anything for measuring response time poorest throughput calls for a new version of your software you mean like Lotus think something like that yeah we did notice think about but it's different we don't do I saw some companies for example when they update the new version they put part of the cluster or a node of the across the introduction and see how indicate behaves like a production but we tend not to do that we looked at before we were real machines just with the production like environment and production like requests to show the proper staging environment that q test yes but it's it's an exact replica of those of the production environment usually OK that of the
Code
Vorlesung/Konferenz
Dienst <Informatik>
Datenfeld
Datenmanagement
Momentenproblem
Rechter Winkel
Spieltheorie
Front-End <Software>
Vorlesung/Konferenz
Element <Mathematik>
Ordnung <Mathematik>
Service provider
Computeranimation
Office-Paket
Zentrische Streckung
App <Programm>
Web Site
Befehl <Informatik>
Ortsoperator
REST <Informatik>
Browser
Web-Seite
Homepage
Office-Paket
Übergang
Client
Benutzerbeteiligung
Lesezeichen <Internet>
Skalierbarkeit
Authentifikation
Vorlesung/Konferenz
Drahtloses lokales Netz
Instantiierung
Nebenbedingung
Videospiel
Freier Ladungsträger
Protokoll <Datenverarbeitungssystem>
REST <Informatik>
Formale Sprache
Mathematische Logik
Systemplattform
Computeranimation
Richtung
Konstante
Metropolitan area network
Client
Dienst <Informatik>
Multiplikation
Web Services
Prozess <Informatik>
Spieltheorie
Konditionszahl
Programmbibliothek
Vorlesung/Konferenz
Chatbot
Lesen <Datenverarbeitung>
Instantiierung
Varietät <Mathematik>
REST <Informatik>
Selbstrepräsentation
Versionsverwaltung
Rechenzeit
Binder <Informatik>
Code
Computeranimation
Chipkarte
Mapping <Computergraphik>
Metropolitan area network
Dienst <Informatik>
Client
Menge
Rechter Winkel
Vorlesung/Konferenz
Kommunikationsprotokoll
Metropolitan area network
Desintegration <Mathematik>
Dreiecksfreier Graph
Vorlesung/Konferenz
Physikalisches System
Ordnung <Mathematik>
Computeranimation
Telekommunikation
Bit
Punkt
Computeranimation
Metropolitan area network
Datensatz
Multiplikation
Datenmanagement
Einheit <Mathematik>
Reelle Zahl
Migration <Informatik>
Code
Vorlesung/Konferenz
Softwareentwickler
Gebäude <Mathematik>
Mobiles Internet
Verzweigendes Programm
Ruhmasse
Schwach besetzte Matrix
Biprodukt
Keller <Informatik>
Teilmenge
Arithmetisches Mittel
Programmierumgebung
Unternehmensarchitektur
Aggregatzustand
Tabelle <Informatik>
Einfügungsdämpfung
Extrempunkt
t-Test
Schreiben <Datenverarbeitung>
Hausdorff-Raum
Ungerichteter Graph
Raum-Zeit
Computeranimation
Formale Semantik
Deskriptive Statistik
Client
Algorithmus
Skript <Programm>
Vorlesung/Konferenz
Metropolitan area network
Ereignisdatenanalyse
Dicke
Krümmung
Kategorie <Mathematik>
Computersicherheit
Wurm <Informatik>
Ausnahmebehandlung
Biprodukt
Kontextbezogenes System
Ereignishorizont
Dichte <Physik>
Dienst <Informatik>
Token-Ring
Menge
Programmierumgebung
Tabelle <Informatik>
Zeichenkette
Fehlermeldung
Subtraktion
Wasserdampftafel
Klasse <Mathematik>
Mathematische Logik
Whiteboard
Knotenmenge
Bildschirmmaske
Spieltheorie
Mustervergleich
Datentyp
Endogene Variable
Programmbibliothek
Automorphismus
Konfigurationsraum
Open Source
Programmverifikation
Rechenzeit
Elektronische Publikation
Programmfehler
Patch <Software>
Offene Menge
Wort <Informatik>
Matrizenrechnung
Bit
Punkt
Prozess <Physik>
Versionsverwaltung
Kartesische Koordinaten
Rechenzentrum
Metropolitan area network
Wärmeübergang
Figurierte Zahl
Große Vereinheitlichung
Bruchrechnung
Nichtlinearer Operator
Abfrage
p-Block
Quellcode
Frequenz
Elektronische Unterschrift
Arithmetisches Mittel
Rechenschieber
Datenfeld
Chiffrierung
Ganze Zahl
Projektive Ebene
Decodierung
Information
Standardabweichung
Public-Key-Kryptosystem
Nebenbedingung
Existenzaussage
Rahmenproblem
Ortsoperator
Code
Framework <Informatik>
W3C-Standard
Passwort
Response-Zeit
Softwareentwickler
Widerspruchsfreiheit
Bildgebendes Verfahren
Linienelement
Validität
Token-Ring
Physikalisches System
Mapping <Computergraphik>
Objekt <Kategorie>
Energiedichte
Flächeninhalt
Mereologie
Codierung
Stapelverarbeitung
Ereignisdatenanalyse
Softwaretest
Rahmenproblem
Versionsverwaltung
Biprodukt
Framework <Informatik>
Dreieck
Virtuelle Maschine
Knotenmenge
Flächentheorie
Software
Mereologie
Vorlesung/Konferenz
Response-Zeit
Ablaufverfolgung
Eigentliche Abbildung
Softwareentwickler
Programmierumgebung
Auswahlaxiom

Metadaten

Formale Metadaten

Titel Gamers do REST
Serientitel EuroPython 2014
Teil 17
Anzahl der Teile 120
Autor Ramboi, Angel
Lizenz CC-Namensnennung 3.0 Unported:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen.
DOI 10.5446/19942
Herausgeber EuroPython
Erscheinungsjahr 2014
Sprache Englisch
Produktionsort Berlin

Inhaltliche Metadaten

Fachgebiet Informatik
Abstract Angel Ramboi - Gamers do REST An overview (sprinkled with implementation details and solutions to issues we encountered) of how Demonware uses Python and Django to build RESTful APIs and how we manage to reliably serve millions of gamers all over the world that play Activision-Blizzard’s successful franchises Call of Duty and Skylanders. Topics the presentation will touch: tech stack overview; API design; configuration handling; middleware usage for logging, metrics and error handling; authentication/authorization. ----- An overview (sprinkled with implementation details and solutions to issues we encountered) of how Demonware uses Python and Django to build RESTful APIs and how we manage to reliably serve millions of gamers all over the world that play Activision-Blizzard’s successful franchises Call of Duty and Skylanders. Topics the presentation will touch: - tech stack overview - API design - configuration handling - middleware usage for logging, metrics and error handling - authentication/authorization
Schlagwörter EuroPython Conference
EP 2014
EuroPython 2014

Ähnliche Filme

Loading...