Merken

Strong Practices for Rails Applications Continuous Delivery

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Beta
Erkannte Entitäten
Sprachtranskript
that is that the the the good and the type of now lower body welcome to a doctor i'm Nathan Smith from ships of where this is part it of the and our talk is about a strong practices for continuous delivery and using Ruby on Rails and shift delivery and a I not about engineer chef I mostly front-end development so you can find me working on our our web application that shelf I do a lot of stuff on the top side and as many was to show and now we're up to I am going to show that the like regions with the supermarket where the state of the art on a sysadmin by trading off some of the patterns yeah so were not aggressor talking a little bit about I DevOps in Y 8 we do some of the things that we do and and how we solve the problem that we face so so we look at in this graph this is kind of a graph of of engineering anything are no would you want you wanna be at that at that top corner where you have a high level of quality and with whatever quality standards you're reaching for and compliance with either you know depending on which we're working on it might be up compliance with regulations or compliance with your companys internal rules we want you i is said to be good anyway a step that compliance in also undergo fast and you want to have a high rate of innovation to be able to try things break things do things and create new things and there is a trade off here you can go really fast not care about quality and it make lots of stuff that's bad and you don't want that you can have a very strict adherence Stolyar your compliance guidelines but move very slowly and if you ever worked in the kind of companies that have a lot of compliance requirements there's a lot of moving very slowly so how do we we How do we take this curve and move it so we can get close to the corner without sacrificing our rate of innovation or add that the quality of were building so so these processes of the on the challenges that that exist in in engineering software so we have we have manual processes where things can take a long time to the company's server get new hardware but acquire some kind of suffer you need and so I was roll through these different challenges and things that we can do to help solve them so with mental processes we want a automate so we wanna be able to build a building used tools that let us Direzione male processes and be able to do things more in a in a more automated fashion so a lot of us are probably using i cloud for for this you know it's it's a lot easier to spin up an E C 2 instance than it is to order and reckons that new hardware another thing is moving from a from a legacy systems that are there a lot harder to change to dynamic infrastructure again so the cloud-based infrastructure the lets you of do a lot more dynamic management and and be a lot more flexible in what you do and in organizations I silos can be can be a problem that that don't let us collaborate in between teams and so what we want there is is to build a culture where there's common interesting collaboration between teams and we can work took those goals stink creature in increase the quality and the rate at which we innovate and then if you ever tried to deploy something where you've made a lot of changes over a long period of time with a standard Apply that it's really painful because so much has changed but if you can decrease the size of the batches they're sending out and continuously delivery applications and that's a lot safer to make a small changes and your customers get them a lot quicker rather than having to wait for a big relates the other than we have we have regulatory burdens where we have we have these compliance rules would keep up with and will be the way we can increase that is to integrate what we're doing for compliance workflow in the very beginning and we can build safety and security of and to and so we don't have to have this this stage at the end where we have to now we've done thing now we have to wait to go through this this arduous compliance process so something design challenges and some some techniques that we can use to to deal with the challenges that the result of that is we take this curve we remove it so we can build higher quality things that are more compliant and we can do it faster by by applying all these principles and then we put things like that can have a structure in the structure is code and I'm Dev Ops than those are the ingredients we can use to increase there somebody amounts well you telling them
about this they got a slide for that so instead we have through the you should always be wary is someone who is defined as a what prevented your that we will you accept it is cultural and in fact and focused the human operator high-velocity organizations and their movement uh and experiences from from the experience of the practice a bit of a mouthful and content but we believe that an organization like way not necessarily organization of the requirements are but right and and of the formula for that is so yeah good people they build I was sort of yeah great people those great products in those gray products that great companies feel sad people bills that products and they're going to make said company so we you want is the ingredients and the people and the culture that will let you build great products and great company but diversity diversity that is of the the and then it what were designed with the things on distributors perspectives that you get perspective on how to solve problems the I the prevent of the of well said and another another thing that you're going to
hear it if you start learning about DevOps and and this movement and the kind of companies and people were there who were doing stuff in this way you go you know it's in Japanese release unit here Japanese words may not know what they mean but because a lot of this philosophy comes from about originally from the Toyota Production System and from a lot of work that was done and done in Toyota and other companies to being increase quality in their processes and so there's a lot of this mean these lean words so we have a we want to eliminate non-value-added action so eliminate waste and Japanese that mood I guess this is right there and then you wanna have a system ifyou're used the system like common bond where you wanna pull the working in rather than than pushing it through a system and kinds then is the word that means continuous improvement so as you're going through these processes you would be looking at what you're doing constantly and finding out how to improve the process over time but then sometimes instead of making the small changes you know and it was called try copy which is a big disruptive change your do these things in small batches you are doing experiments and be constantly improving what you doing but and 1 of my favorite books I should go readers called the goal that was by Eli Goldratt that's it's enough it's a business novel and now it's a novel about a guy who is really a factory and it's terrible and he learns and how to apply some processes like this the In order to in order to improve in this regard lesson on on now what lean means and and there's there's lots of information about this if you don't know about it's Christopher learn about and think about and to applied for toward how we build system if you're going to move quickly to embrace failure and therefore and the the failure of of learning I have told this morning they're all around the world breakdown of process and not all people to blame that was taken as a whole so that the organization that I and in but and no you know what you're going to automate everything that the more many more things you have those over those stand in the way avoid trying to do so this you can make doughnuts but if you haven't got a machine you make a lot more doughnuts and we wanna make a lot of doughnuts will you make a lot of doughnuts but so the cost of adapting the cultures workflow is that will deployed more frequently because you can deploy more frequently his other solutions are fat and you've got the changes that have presumably you will have a shorter in time to resolution when problems of 2 when it gets resolved because of that period contained in about in front of I the ability to push new features is also the ability to push the the work of property of companies have you have been there and and everyone cell discussed up to your boss and say we should be doing do not I prove to them that you make more money and then your boss will be equal with problems so and the site science plus money in and through much of a dancer and actually all of this was that of the the the literature we have fire them up to the continuous delivery we still have some practices that have very you to unanimously deliver change to you this is the is a legal license plates but it says that if have you Joe Jett legit and but that the tools they using matter you can choose any tools you want but I a good example of of how your tools will shape your culture is is using a thing like get they'll out burner matter when you're probably use get our or similar capable version control system and and it's important to use tools that will help you keep your stuff and get word and and the the other 10 years is that absolutely everything to be inferred from 1 of the well you can manage the risk
by having heard and there is an ideal you can read systems with what infrastructural what's in your data stored in databases and compute the have to exist at in metal servers get these 2 instances in absolutely everything should be in the US changes that we we have the struggle that small at to test that you were making the right thing to make a small change but in the 2nd 1 some and ideally a customer in user can say that the thing on the ballots were so it does introduce volatility in the near term but you get long-term stability in long and another another thing that we should be practicing is continuous integration so you do not want to have a long-lived branches and and we we stress that you want master to be where you call master to be something that you can deploy and it should always be in a stable state because if you have these longer long-lived branches they get out of sync you have an integration problem when you try to integrate these things back and if you keep everything in small changes merge to master as quickly as possible if you find a problem you fix it right away and it you do continuous integration and you
should also practice as we do before I rule this means 2 sets of eyes to you every year of the set of changes to the right of the system to people to for example really smart people relate this with us like telling people what to do guess and but this is advice and and I think if you if you follow this stuff it'll be a benefit out right testing there were were among the Ruby communities surrounding this these too much stressing out as far as unit testing goes you know really has a very good testing culture as well the reason that I love Ruby on and also you know Integration Functional tests that are higher level of more oriented to or the user I think run is still pretty good at that but those things are less common but but having all these different kinds of tests should be there and are important in order to to ensure the quality of your software
this there should be 1 half of change in organizations move change from the idea to production and of of the use of hierarchical identity so instead user the stages that it changes way bigger vendors server the rates of change to the vision of the users through these stages of where you get to be flexible about what does it mean to say verifying unit test applications in the sense of the that that is so today there the top again I can show you how where to take an example rail that something really dumb and simple and fluid through this pipeline Will you can't write it you discovered up in rails new and and what students based blatantly yeah and and were were to be deployed it up so this 1st this 1st stage here we have verified through also so 1 of the things we want to of verify stages don't run every time you if using get up go run every time you but the tuple requested for that the attacker ungrateful how many of you are right and all of the areas that are you really and other people that have to do you you don't the following theorem you test and of the real gasses at the time you use the texture for the and also turns out that in the real meaning we haven't answered it we use 1 full so that these important and recover RoboCup can be kind of a jerk and and pull you over and and give you a ticket and the another very nice but you can customize recount works so that you can tell you that you should always use double quotes because that's a anyway through really want to have a single not to live if you the you the user-definable and can also get that people have for others you really have to be like a human should have known of human which of course if you do that that everybody can like bond in restoration you that pretty many parts and unit test real that this is where the real part of unit testing around after each 1 of the interesting what else what else is at least it appears to be the way for our work on using out in all prosecutors so something that you are right that that was the Indian edition of yeah on the part of it is possible to add that the maintainers keeper the database of genomes versions that have all so you can very quickly what you were doing file the solution of a lot of versions of the genomes that you mentioned in an article in an hour of my my my master will go read by and some of the How about quality we what would break How do you say how of the well in the looking for crocs that's really there's a flawed there's lot of same this way so there are a few tools at this 1 and not as opinionated about of country consensus of what quality in new and I will be handwaving over following its pipeline there is so if you decide on how you would measure quality and ensure that you don't go below particular measure American nations decided that what qualities were particularly efficient we don't go below 3 . 5 in the quality check is is this committee of of below 2 what and this is sort of a quick glimpse at the chef ecosystem we have a set of tools in the shed OK which is a development environment that shift the literary in the environment service centrifuge so that can control what the user is going to we're going to be focusing today on delivery
tools and and this is what I what fixed quite a lot of this shift you go through these stages in the production and the In the verify stage this is where you have a pull request and needs to be you this is the equivalent of having the status delivery would run these 3 faces in verified Lynch we've already established in the sense that you are established also ongoing Austin Texas for this particular rule In unit test around art what is happening 3 phases that delivery would go mad or to say this is worth you the fact that the so human means that side you know but it also has a set of steps that you check the ones that have checked some this is not a trick question it runs through that if you cross your eyes you see it's just really in the execution of the effects of parameters of lot that other things so this is the 1 that America that's because of the is unit you see that around that on obviously there's a lot of work with their I could improve this by wrapping up into another test the takes the repetition that natural not to much better alright so testing passenger flight and humans and the this is the 4th rule in effect the human decide whether this change looks great with removal face so something people like to point out about the syntax of like blue boxes they're running because we advocate continuous integration almost the building of the running test it takes to change that branch that is under review and is locally that called here so that the test because it doesn't mean that there are and in the that it might run each event and what the study and erratic and you have up to the very quickly because rational laws to that so that until we on syntactic unit because if I take it off a human to push through the matter and so we were to matter this point in the central repository and the Romans detected and nature that everything is in the past and security quality of handling qualities that insecurity in Colorado and then we move the publish what is published 1 of the messages on that we would like you to get out this is making these artifacts and promote that into staging production we should not be running almost all production yeah the latter and almost all the if the building so that the testing that in your original so to that effect and you will be using bubble package in the public face to captured and we ask that require access and put that into a powerful renewed the deployment of so the the choice of these artifacts format depends on your right so in this example and broken so that give it a terrible I have read that stuff and so on and on her of being able to reach regions or leading to find so social filler it's it's a program for deploying after looking it could be it is the FIL fight to to just about anywhere so could I use it on is she to yes OK but not not unlike physical machines but the program is available they're trapped were trying to kind of focus on on the the delivery pipeline and and I did not through it so a simple way to do that is just use a rope but if you just using are OK as you normally do going through the tutorial you probably not gonna use these API is directly of relevant you might not have heard of the open source API but there's an API R. Rocha that you can upload anything to and it'll give you back your out which is a necessary URL where you can get that artifact I'm sorry scanned using that as hey we created a tarball over thing so we need to put it somewhere heroic who really has a place and we can use the world that gives us in the local building this would be the same the peak behind her when you doing the group all the tasks the whether you're asking me if you haven't found that thrown in the in Peru got your have multiple what they called an artifact of the normal state of slow and this is related to the oracle against slower the then of you if you are the just using her rope you might not need to do this but to get think about that the flexibility of our shift a literary works on say you're using a rope you and then you get bigger and open is not economical to use anymore and you wanna switch over to do using chef to use the PC C 2 answers in the play up that way but then you can use your same workflow in the same pipeline and for that then
you know the developer and user nothing's going to change and everything's to work the same way so this another reason to use let's take the simplest possible thing and deploy therapeutic practices of power of the thing that I'm going to do if I succeed in making that was that in fact this is the slope of the roof of the proposed order and I believe that is the that release artifact the story point I could move into an acceptance and and effect acceptance environment I'm going to spin off the at this version of the test and so taxes and make it available to humans to accept the changes the will of the UN environment we use a set of provisions things I'm going to make sure that the throughout this that deployed of you and see to the provision phase would be spinning up on the PC and out the and 1 of the ways in all its nature you have runtime infrastructure in place to support the deploy phase obviously employers and then it goes to succeed you know here's another reasoning infrastructure or points burden of small tests are very fast as just see if it's worth going into long running from the point at which the neural points in each of the 2 of you to honor a case we know it's worth passing along functional test in this case where on features that that are told to run against remote you around the world that debt so cubby but can you hear the word scriptingnews these cucumber she said so what is the purpose so using the appropriate that all of this provision what it says that the act name from the the common sense you of the project acceptance of all the time at and people throughout the parameters the picture is at this time this is a simplified version of the code the little things like that or at this time and then that's a test that succeeds I have that it might not be running and deploying and using the PPI again to say hey at you will just come into existence or maybe you're you make use of this philosophy of the the the slow incremental spending thing and you're not going public in installing not violent it's not it's really go to the very fast while at work and then you know the delivery of human and their acceptance of pass all the tests and out here in Canada side has that was the state implemented or so and act like a QA through a natural thing confirmed by customers what I see this in your choice now is doing I with this production if you decide to build upon the liver and moves into reunion environment and runs the same for yeah provisional universe of deploy our applications to the to the environment notice what is different about union is a union is the environment in which all the components of and your test will test against other components that are really quite pipeline but not directly in on the front and back and the front end they change to the back and we get the acceptance but then you test it against the latest from that and smoke and functional test that that would also run statistical from that you will find that you some people call in staging call you because it has a very intentional purpose to be the 1st opportunity for me I deliver versions of all components of the system you test here I used in all tests passed it automatically the rehearsal environment spot of what's going on if rehearsal during all same tests passed the use of the environment which is probably you for a about that you but and reading your minds here question is what's the purpose of the the if union breaks if you discover interaction between 2 components that are tested in isolation and that break union a success so you've got from and that you should change through the pipeline and bringing union from registering rehearsals protests going from green degree and ensure that the text of the error does not assume that the system works in my example like you 2 examples the limitations of the hydrogen and call this this is some the property right In environment because of the great your this really fixed the data and you can hear is assignment problem not that so there's a lot to do over the past but that and we can we can show up them a little bit of that the shift literary you are and then few minutes questions on the internet you know I mean and that might take me the the right yeah yeah so so what amounts of when using shuffle every which which you can get with the chef premium subscription but you know you have a web interface the you can write delivery cluster that has built nodes and I'm web interface where you have you can visualize all this stuff happening and you can and see the output from you test runs you can click a button to prove things and it is important that we have those those manual gates are built into the system and in order to ensure that we can have a human look at things I so here's a ground we can get a shade share on the URI of delivery but I'm now we can we addition questions
in heaven there will be things go your body really appreciate it the
FIL
Resultante
Subtraktion
Bit
Prozess <Physik>
Selbst organisierendes System
Mathematisierung
Web-Applikation
Kartesische Koordinaten
Code
Computeranimation
Übergang
Software
Datentyp
Mustersprache
Kontrollstruktur
Gleitendes Mittel
Softwareentwickler
Kurvenanpassung
Datenstruktur
Analytische Fortsetzung
Regulator <Mathematik>
Verschiebungsoperator
Nichtlinearer Operator
Hardware
Graph
Computersicherheit
Gebäude <Mathematik>
Systemverwaltung
Prozessautomation
Schlussregel
Physikalisches System
Bitrate
Frequenz
Dialekt
Kollaboration <Informatik>
Mereologie
Stapelverarbeitung
Instantiierung
Aggregatzustand
Standardabweichung
Web Site
Bit
Prozess <Physik>
Selbst organisierendes System
Mathematisierung
Gruppenoperation
Stapelverarbeitung
Versionsverwaltung
Zellularer Automat
Eliminationsverfahren
Computeranimation
Ausdruck <Logik>
Virtuelle Maschine
Stetige Abbildung
Einheit <Mathematik>
Perspektive
Gammafunktion
Bildauflösung
Adressierung
Kategorie <Mathematik>
Gebäude <Mathematik>
Mathematisierung
Ähnlichkeitsgeometrie
Physikalisches System
Biprodukt
Frequenz
Quick-Sort
Gruppenoperation
Rechenschieber
Benutzerschnittstellenverwaltungssystem
Hilfesystem
Wort <Informatik>
Faktor <Algebra>
Information
Ordnung <Mathematik>
Stapelverarbeitung
Geschwindigkeit
Subtraktion
Komponententest
Mathematisierung
Statistische Hypothese
Term
Synchronisierung
Kontinuierliche Integration
Computeranimation
Übergang
Physikalisches System
Softwaretest
Software
Softwaretest
Lineares Funktional
Güte der Anpassung
Verzweigendes Programm
Kontinuierliche Integration
Physikalisches System
Objektklasse
Lineares Funktional
Integral
Keller <Informatik>
Menge
Funktion <Mathematik>
Einheit <Mathematik>
Rechter Winkel
Server
Ordnung <Mathematik>
Term
Instantiierung
Komponententest
Punkt
Natürliche Zahl
t-Test
Versionsverwaltung
Gruppenkeim
Kartesische Koordinaten
Gesetz <Physik>
Computeranimation
Eins
Softwaretest
Einheit <Mathematik>
Vier
Code
Theorem
Nichtunterscheidbarkeit
Computersicherheit
Maschinelles Sehen
Auswahlaxiom
Einflussgröße
Phasenumwandlung
Verschiebungsoperator
Softwaretest
Parametersystem
Dokumentenserver
Computersicherheit
Datenhaltung
Gebäude <Mathematik>
Spieltheorie
Zeiger <Informatik>
Bitrate
Biprodukt
Dialekt
Ereignishorizont
Arithmetisches Mittel
Softwarewartung
Dienst <Informatik>
Menge
Rechter Winkel
Phasenumwandlung
Dateiformat
Simulation
Programmierumgebung
Faserbündel
Quader
Fluid
Selbst organisierendes System
Mathematisierung
n-Tupel
Gebäude <Mathematik>
Äquivalenzklasse
Task
Virtuelle Maschine
Textur-Mapping
Selbst organisierendes System
Reelle Zahl
Delisches Problem
Booten
Optimierung
Hierarchie <Mathematik>
Soundverarbeitung
Open Source
Programmverifikation
Verzweigendes Programm
Kontinuierliche Integration
Mathematisierung
Schlussregel
Elektronische Publikation
Fokalpunkt
Quick-Sort
Komplexe Ebene
Flächeninhalt
Mereologie
Shape <Informatik>
Orakel <Informatik>
Punkt
Gemeinsamer Speicher
Natürliche Zahl
Programmverifikation
Versionsverwaltung
Schreiben <Datenverarbeitung>
Kartesische Koordinaten
Computeranimation
Internetworking
Existenzsatz
Kontrollstruktur
Auswahlaxiom
Phasenumwandlung
Funktion <Mathematik>
Verschiebungsoperator
Softwaretest
Parametersystem
Addition
Lineares Funktional
Pay-TV
Systemaufruf
Spieltheorie
Biprodukt
Teilmenge
Verknüpfungsglied
Menge
Rechter Winkel
Phasenumwandlung
Projektive Ebene
Ordnung <Mathematik>
Programmierumgebung
Message-Passing
Aggregatzustand
Fehlermeldung
Mathematisierung
Interaktives Fernsehen
Gebäude <Mathematik>
Code
Knotenmenge
Inverser Limes
Zusammenhängender Graph
Softwareentwickler
Grundraum
Leistung <Physik>
Soundverarbeitung
Benutzeroberfläche
Rechenzeit
Physikalisches System
Debugging
Wort <Informatik>
Shape <Informatik>
Videokonferenz
Computeranimation

Metadaten

Formale Metadaten

Titel Strong Practices for Rails Applications Continuous Delivery
Serientitel RailsConf 2016
Teil 51
Anzahl der Teile 89
Autor Smith, Nathan
Kidd, Robb
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/31562
Herausgeber Confreaks, LLC
Erscheinungsjahr 2016
Sprache Englisch

Inhaltliche Metadaten

Fachgebiet Informatik
Abstract High-velocity organizations deliver change to their customers quickly in a repeatable and predictable way. This talk will explore some pre-requisites and best practices that will help your team move to safe, continuous delivery of your Rails applications. We will demonstrate the path from code commit, to packaged application, to an updated production environment. All of the necessary steps along the way will be fully automated using Chef Delivery. You will leave with some new ideas, practices, and techniques your team can adopt, continuously delivering value to your customers.

Ähnliche Filme

Loading...