Merken

How We Deploy Shopify

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Beta
Erkannte Entitäten
Sprachtranskript
thank you all know them and know or I again I think cat and I'll be talking about how he deployed shop I had just a little bit about me I'm a developer edge up to 5 and actually today is my 1 there which is gonna go and this has so I started 1 year ago today as an intern and now is speaking to all of you have real school so that it's categories me and then really that so from the top and a little bit about shop 5 you don't know
mission is to e-commerce better for everyone and that includes anywhere so shop by power is online stories that it also has a point of sale system and let's but by buttons anywhere on the and basically is astronomy commerce better for everyone over 200 and 75 thousand people or have talked iSeries is and in total they ran over 17 billion dollars with sales so a lot of people in a lot of money going through the shop my top and and other platform where able to said you 25 thousand requests that images is like super important for all the stories and all this thing and we have some pretty you like famous people had and show that when a lot of lot felt that create a lot of topics some of these people being highly last and like i'm SUCH as a male that is that the light as well that's in the world and has been around for over 10 years so that the light cone and a of good that we deploy steal the end we
use in the light of is a little something college shifted actually actually opens and so it again had up on slash up by flash it out and you know as you can see it there and that allows us to do is going to have a unique if you have any rigid to master it shows that aired ship and it hasn't checked there that like the continuum build successful and so on and once all those checks you can then deploy your command the and we need to play the industry it's
a little something and so on this side I have like a visual representation of the decline and then in the middle you have the whole record the deployment happening so on this side of the vessel boxes labeled as and the number and their servers and as features which stands for shop as that 200 and the 5 . 1 each contained a each server represent a container so the green dot is the container has been has deployed the new revision and the blue dot is that it's currently such innovations and the very ones we haven't got that so you can track your whole apply here visually and at the bottom you again is message when it says that you're deploy has succeeded or you get another message if it hasn't and we'll talk about all those messages today so couple fun facts how we
deploy shopper average 30 times each day at the highest we've ever done it was 41 deploys in 1 day so that a lot of deployed in and also because the ship it it basically anybody who makes a change makes a p-adic and I'd play shot I'm not just developers so we have a lot of people that quite shot their entities that were minutes to get through the whole deploying you could be of production which is fast and exciting but also I had a good so when I was on that today is sort of what happens when you press a little blue button and should be and then you add the player into the world but also what happens when people make requests during the flight anything like that and so back to that
little event so deploying shot by
only is is presently button and monitoring how things go but what's actually happening is that the button triggers a cappuccino to place which then runs and that's the 1st thing that does is it takes the new revision shot and puts it on to that host as we can explain but as the 1 is the shock by pointing out toolbox strongman is the host and the server and so once the new revision is into that revisions file I have a surprise agreements and then started and the 1st thing they do is they take the new shot reading that route revisions file and start all the containers so the continues by and it is also in line and that each continuous added 1 at a time so the 1st thing to know sort fruits and once a complete go to the 2nd year and so on and so good looking solid arrow is just like my way of noting that apply has been shown that continuing whereas a dashed there is switching revisions on marketing and responsibility that they have to check that the status of that applies so these 3 different sizes on the line and those status each mean and so we're going to now so when it is you yet a success Mexico and not a successful status and if there is no more meaning continues your entire was successful and exhibit together and you can also get a successful in the past Mexico on that continuum but if they're Morgantini's you just continue to the process of a super residents recently continues that's all require that new shop and repeating until each container has switch to the new revision successfully and there are no more continues all unfortunately what if you like fails now the different and there's 2 options for a deploy feeling so that the revision is slapping or that the deploy simply failed so what does it really mean that a deploys fighting and this is the kind of a term that I I I know it's hard to figure out what it would mean so it really means is that here is an example of this and then it started with revisions and so all I continuous factors and that was deployed revision B cells continue outline successfully got a new revision and everything looks great but then I continued to we tried to change the new revision and that so now we have 3 containers that are running revision the old 1 I 1 that's roaming revision be the new and and the 2nd container that we had no idea what it's doing because it simply fails so that it means that applies stopping that it's running multiple revisions acquisition time and that is not something that's desirable at all the solution for this and what we do is we just restart the application so similar to that of applied at different and we can just do a pressing a button in shipping and what it does is it research all the continuous about going to reduce on so what happens if a deployed failed so what if we deploy and it just like simply fails and never such revision and now we have 1 mysterious container and the rest of the previous revision and that can happen if the containers should simply down like if we can't reach the container for everything it down and we can restart it won't start at them at the plot of the you can do the same thing to just restarted application and that the stories are all containers and track the so I mentioned a bit
earlier that shot 5 rounds and has a lot of very big and successful regions and why that's important to deploy is is that these merchants and drive a lot of traffic to the platform so whether it's a fire sale of the new product Aldershot's having Black Friday Cyber Monday sales a lot of traffic gets a shot 5 and 1 of the biggest shopify 5 plus merchants
is currently and she's the 1 the theory and and she what upset and she saw them online shops and she Broussard issue we have to you look at it and we're in 3 different colours enough that she saw that she just so much traffic for everybody trying to get a NASA cells multiple different at absolute cyclical often different colors and seek imagine every time she has a sale she just drive so much traffic and and that's that in affect employs so long as
so with 1 Phillips and from college in a bigger city in the end you know lot of a lot of people walking flips it's Lake had alluded look at something I would get you can see how outputs and so they all line items of six-figure classical as the Internet and requested said about load balancers to it and then not request and want to get there will be sent to a container so if the container is switching revisions during the deployment as a container will not accept the request and the requests will help when we try and be sent to another container and back and is Friesen oxygen revisions doesn't matter if it's running the previous of old out revision that container will support cost and if the request if a container is serving a request and then the deployed tries to switch revision that contain a lot and it'll take it all serve all the requests currently got and then once it's finished it will switch revisions and any request reference that contained in the meantime will be sent to another and so each request only has 1 we try certificates denied and like it back and here says no and it gets when we try to go to another country and this is because it is and malicious request at worst blown to candidates and that's all so sometimes you wonder lecture be locker deployed a a lot of players during a set and the reason we wonder this is when 1 of these 1 of these 5 containers the switching revisions and we are down 20 per cent capacities so 1 of 5 3 % and back into the can take request so sometimes we think like of this cells the huge or if we don't know like what the cells in the voice arrested thank past the was we don't have to continuously deployed throughout the day and let people have the sales and everything is usually finding the the and everything but what if we had more containers like if we had more containers could we then with even more certainty that nothing would go down because releasing capacity because a certain revisions and were not so here we have 1 server that has 5 containers and another that has 10 so if we were to have 10 containers of Doppler amount we would then have to switch revisions and deployed in parallel we have to do to containers at a time and doing to continue that answer to that and worse still down 1 out of 5 which is still 20 per cent so you know he increased Morgantini's we still have the same down on incapacity which is why we only have 5 continues and the reason why we chose 5 containers is and not less is because we're OK with being down 20 per cent of the time I thought I can handle and during the planet but were not OK with being down like 25 per cent if we had only 4 conditions and the reason we don't go out to 10 it is because they were designed for complexity now are running these containers research in the revisions parallel and trying to keep track of everything also doing applied the so we wonder like how what if you had to deploy during if there any so new you can be down 20 % which you can lose weight then can they capacity but you still had to deploy and 1 thing you could do is holy the ploy half of this is so this as the 1 in the 2 we have 200 of them like let's say you only deployed to 100 so you're only deploying half so you down 20 % but only have half of your servers meet the only last himself as and if you want the the last sometimes just deployed onto a quarter and then the only down 5 per cent
so this is some frequently asked questions we have about the
so as I mentioned before and the solutions to research application and what impact so I press apply the capture and store brands and it puts the new revision shot and into the revision file on the server that the supervisor doing things get and then they recycle the continues with that have are without so when you do a restart and buried had been shot so they know what to do so all they do is they started the set of research entities so they just resear although continues that still require the new shop and continue on with the deploy from so in this thing it interesting so because the ship that we just have to see what what patterns we let anyone deploy shot by in fact you during the 1st few days of our onboarding and keeping cannot and sometimes so what if the deploy the current revision again so this thing didn't heard this server has all containers that originally started with revision and and now deployed however they should be and then halfway through the deploy someone decided to research so that has recently at what's going to happen so what will happen is that 2nd container is already switching revisions from that applies i which is all the fine but now another contained in this example the the condition is also now such innovations because of the restart so all that means is that now instead of only losing 20 per cent of capacity we now lost 14 so the question at this point it can only go to 3 of the containers as opposed to 4 or 5 it there's no deploy our research going on usually don't stop that we let that happen because the platform can handle it you are down 40 % of lately if there was a crazy huge last l and also we got which traffic the shop I would go down because writing down for the capacity the but even worse I can happen is if you deploy a new revision so you started with revision a apply revision B and someone comes along and employs revision sees so that the regression and so cannot happen in the previous example and other the continuum of starts at revisions but now it will switch to a completely new theory and so right now we can see in this area where we have the continuous running revision a one-word running revision B and that there were running revisions the so not only is the down 40 per cent incapacity you to continue searching in time but you also have 3 differ revisions going which is going to result in a deployed the title swapping an yet and at worst you can have 5 new revision but what if you just keep deploying a before the deployed finishes redeploy 1 of the plight of the deploy 2nd term at the time that you can get into a situation where your server's running a B C D and E all at the same time so I talked a little bit about and restarting and employs a like 1 highlight the difference between them for they are very the so and apply gets a new revision where the researchers using that Kurdish and both research supervisor demons that's fine they'll go to research that continues with the revision but they have but another difference is that had the deployed downloads a new image where a research has the current image so usually a deployed takes a little bit longer than a restart just because about simple fact and now this latter model that were context at 5 year 2 data centers at 1 of the possible in that we keep active set up the dissenters memories and on traffic do you any to play both of these at the same time all this and the reason that we do this is that we want the possible and always give up see as a possibly can with the active 1 so we have to fail over we know what kind of C back at the data center is and witches revision of shocked by its like it with 2nd the filled over it and it was running shot high from a week ago or even a day ago because so many changes going to shop Pilot 1 data is a big difference so when you deploy your point of data centers of and if it feels impossible we almost rarely ever do anything we just like let it go because we know they'll be in you took place in an article I will result the containers and bring it all up to the same vision so even in an containers running differ revisions in the past data center because we're not sending traffic parents and in the active data it a deployed fails others so it's slapping this failure anything that we do you need to take action on that because that's the writing are traffic and only what we do is just research application and monitor that I things that the top and how the place of
at prior to the the the the first one
Bit
Reelle Zahl
Kategorie <Mathematik>
Computerunterstützte Übersetzung
Softwareentwickler
Computeranimation
Flash-Speicher
Punkt
Physikalisches System
Systemplattform
Bildgebendes Verfahren
Computeranimation
Lichtkegel
Leistung <Physik>
Quader
Selbstrepräsentation
Mathematisierung
Versionsverwaltung
Zahlenbereich
Extrempunkt
Biprodukt
Quick-Sort
Computeranimation
Eins
Datensatz
Schätzung
Minimum
Server
Softwareentwickler
Message-Passing
Bit
Prozess <Physik>
Versionsverwaltung
Kartesische Koordinaten
Term
Computeranimation
Multiplikation
Font
Endogene Variable
Zeitrichtung
Ganze Funktion
Gerade
Kontinuumshypothese
Dämon <Informatik>
Plot <Graphische Darstellung>
Routing
Elektronische Publikation
Gleitendes Mittel
Quick-Sort
Ereignishorizont
Teilbarkeit
Konfiguration <Informatik>
Arithmetisches Mittel
Einheit <Mathematik>
Server
Innerer Punkt
Subtraktion
Multiplikation
Betrag <Mathematik>
Cybersex
Zellularer Automat
Unrundheit
Kantenfärbung
Biprodukt
Systemplattform
Dialekt
Computeranimation
Gewicht <Mathematik>
Digitales Zertifikat
Klassische Physik
Versionsverwaltung
Zellularer Automat
Kanalkapazität
Doppler-Effekt
Komplex <Algebra>
Computeranimation
Internetworking
Lastteilung
Weg <Topologie>
Menge
Konditionszahl
Server
Parallele Schnittstelle
Gerade
Bit
Subtraktion
Punkt
Mathematisierung
Gruppenoperation
Versionsverwaltung
Schreiben <Datenverarbeitung>
Kartesische Koordinaten
Systemplattform
Term
Physikalische Theorie
Computeranimation
Rechenzentrum
Spezialrechner
Informationsmodellierung
Lineare Regression
Mustersprache
Vererbungshierarchie
CAD
Strom <Mathematik>
Speicher <Informatik>
Maschinelles Sehen
Bildgebendes Verfahren
Demo <Programm>
Kontinuumshypothese
Kanalkapazität
Kontextbezogenes System
Elektronische Publikation
Videokonferenz
Motion Capturing
Flächeninhalt
Menge
Festspeicher
Konditionszahl
Server
Dämon <Informatik>

Metadaten

Formale Metadaten

Titel How We Deploy Shopify
Serientitel RailsConf 2016
Teil 89
Anzahl der Teile 89
Autor Drobnjakovic, Kat
Lizenz CC-Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen und nicht-kommerziellen 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 und das Werk bzw. diesen Inhalt auch in veränderter Form nur unter den Bedingungen dieser Lizenz weitergeben.
DOI 10.5446/31524
Herausgeber Confreaks, LLC
Erscheinungsjahr 2016
Sprache Englisch

Inhaltliche Metadaten

Fachgebiet Informatik
Abstract Shopify is one of the largest Rails apps in the world and yet remains to be massively scalable and reliable. The platform is able to manage large spikes in traffic that accompany events such as new product releases, holiday shopping seasons and flash sales, and has been benchmarked to process over 25,000 requests per second, all while powering more than 243,000 businesses. Even at such a large scale, all our developers still get to push to master and deploy Shopify in 3 minutes. Let's break down everything that can happen when deploying Shopify or any really big Rails app.

Ähnliche Filme

Loading...