Bestand wählen
Merken

Writing Composable Community Cookbooks Using Chef Custom Resources

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Beta
Erkannte Entitäten
Sprachtranskript
and then 10 among the meeting specifically I'm working just about full time but improving our committee books like you may have seen today Burkina we shipped about thousand and it may be a hundred those remind so little busy but have some takeaways from that and have some ideas on how we can improve this now we can do better and it all starts of course like little
story so we have an origin story of how we get started with the community cookbook and it all starts with that medium you
have the mad dash from that of the you know ops we need this might face ap deployed tomorrow you holding up our business we can't do anything until my face is deployed and you say like no worries
like coming with this thing up and show up I got this and also like songs throwaway expensive to those 20 dollars right but that afternoon 1 that was
done it's like simple elegant and it's everything you would expect it to be right at
if this cookbook that we've all seen it years from our 1st in the docks or 1st in training I we have a package of my face we have a template for the MySpace configured of course like the only thing we would ever needed to on my face is the port like why would you ever change anything else and then we have a service we manage the service we enable it we started and you're going
like my beer is a little lady I think I wanna share this thing I wanna do the right thing free as in beer whatever so thrown up on get out Michael done right like
I'm a maintainer 0 I'm a walk away and do nothing I like mission accomplished
this so sometime goes by and you get back to normal job you right like some other cookbooks they're equally kind of like simple yet awful but maybe put those I get help to and they when they log in again
having you go like 0 shit like people using this thing there's like 97 watches and 518 stars I'm not really sure with stars the for like I I started being the knowledge you're doing my is like a like the the last 1 and that's the terrifying 1 this 372 works the like might this was done why people 14 like it's code completed perfect like this is not your CA like 1989 in this so like clearly people need something that I provide and people football really like 0
might also shed light this 48 yards like I should probably didn't have
undergone do something about this because clearly there is a need so you start going through in like the first one comes in you like our
our like this red rocks person they want Red Hat support in the thread that's the packed into different service names different light that's cool all merge that right there's a big green button if they did 1 you click it they would make agreement but then
like jobs conveying is that the job map like which still scary like the IGC I lots of like again the body's green and emerges share alike what's a few more at you the 0 you watching users name like more at tributes OK yeah that's cool like that makes sense like were all making sense so far but revelers 48 above so were good a like things are going to get we're
like really quick like things are going to get really weird so you get this 1 like Jan to
support of I yeah and the 701 library work a we have test so like real works maybe it doesn't there's a good yeah them but you like so we want tend to support and I'm like open source so what do the right thing so I common words this right so he could be reborn again the and then this 1 comes in you like wait a 2nd 1st of all there's go Porter the thing I wanted go for and now I have a yellow configured and i need a write the cookbook to support both of these but again like green button so you merge it and
then the final 1 comes in In the light a hash of array hashes food the like I don't even understand why you do that like this this is doesn't make sense I'm not sure that this structure was in my data structures class so I have no will like this guy says plus 100 and there is a possible 100 on there like I better emerges so I guess I'm emerges at that moment like
users surgical put into a complete tire fire and like over here is our database cookbook which is currently still complete end users ruined it you rule you actually through complexity you took a simple elegant version 1 cookbook and just turned into a mosque in the chances are it now works for no 1 instead of working for everyone what which was your goal and like how do we fix this do
we how we write the ship because we are are heavily heavily listing at this point and the we've done this a lot in Chap we had a lot of cookbooks where we got them to this point we got to this point not because we're battle for people and not because the PR is a cannon were also awful something like merely were but then that's a whole other issue I we did because we wanted to accept everything and we never said no and we just click that dreamers button and it was a time for testing so the body was always green but then like how we fix that and I think like I have a
cop-out answer is sort of like we do need scrappies start over again and you know it it really the copper and all I the the light that's 1 but and luckily we have a
great example in our time book by is are my face cookbook it started out super elegant in 2009 a went back in history and from the very 1st commit I read it was like this is beautiful right why can we not have stopped here I had like 10 attributes and installed on when to use I was like every chef cookbook ever at the time and then we just started Merton stuff in it's Tomcat so got Babri quick but like quick sidebar because
same Tomcat right someone out here is like
all a guy knows in the description the light retired runtime catalyze the unpaired Tomcat and like the job that all cultivated in JS so like that's fine it's still a cool
and because like I'm here and that person's like over there something and I'm just gonna say like something about Tomcat and you can just pretend that I'm saying something about node and it's like no that's not cool enough that was like to go last year so you can like say something about the rest this light all the cool stuff interest no but but my point is that like target is the matter in the reason the time that of the matter is because we're talking about the target cookbook enough that uh I will give you my lesson of how how
works that my small amounts but it is my small amount of Web operations here of target systems but basically like someone writes in Java code of questionable quality and then you stick the world's largest server about XML configuration in and out comes like hopefully you know you did right some web stuff that might be like an API a WebSocket the weighted cat new data so that I so that the
inside part it's like it was quick within liquid of but why why is this
time catapult states such a great example of this white cycle and it's not to say that like that's unique to Tomcat or even unique that to the chef community because I have seen the same cookbook progression happen inside of businesses where you have a piece of cookbook you start uh for out to other organisations and people use it people contribute to make it work you know a different order a different business structure whatever and the next thing you know idea you have the same thing of In the real
reason was like this talk I could put was just absolute falling apart and kinship about a year ago most 11 months ago I when there is 120 repositories and no 1 had been managing them for a while it definitely fallen into a state of disrepair and the prime you get is like if you log in you get of and you try to figure out what's going on to 220 repositories is absent a way to do that you you have no way to figure out the state of 120 repository so I started playing around to given the PID sir polling and I wanna know like what was the the repo the most open peer schools most open issues like walls all the longest open issues the longest of is like most works because you know that is a measure of white people thinking your work is incomplete but also they like it which is you know good time goes over 1 on everything and a like that's not something you want the number 1 like we have like the the open PR is at 1 point and if you even want the star merging those you could because by the time you get to the 4th 1 you made everyone have to read it so like that you just gave away at that point and in part of that was
because we were trying to automate incredibly complex software like for anyone it is used on cat thank you kind is that my face that progression but he has every possible tuple now has an enormous configuration file it is you know it's an application server can do just about anything and because of that it's very hard automated in a way that makes any sense to people's the submit simple way but we did it with a rigid
monolithic design we had a default RB recipes you apply default B. and that was we get we we wrote an elderly API that we just consume that in a cookbook for some reason I don't know why we did that we had this cool things someone Roper like it was in the recipe and you had to use the recipe so your destination which is controlled by like 100 200 whatever different crazy actually knobs and some alone like can only be turned on for the woman's on and some were completely incompatible of other ones and it was just that
completely normal progression like we start with the Austin bike and we ended up with the homework then like that's not to say that the design of Homer babble like combined the all the the and so was like we have a new this thing got
start over but how do we do that then I didn't want to do I do that like I want to think it
through because the reason it we wrote the original book in recent turned into that was because we didn't think it through and psychotic here over the idea to do a bit of a checklist somewhere was a mental checklist somewhere was directly written on lake how we do this
right and is the see questions and so what is a community cookbook even look like and what is a communicat purposes an in-house pocketbooks scope because understanding how people or any and why they might not just write their own and then because reducing resource driven this time and not just have a default recipe that 1 of those building blocks leaving and what I so what is a Java
Kaneko but anyways which could then the title of this talk i and I think it's this so I think it
communicate but should provide simple interfaces to composable resources than power users to write their own cookbooks which in the automation of highly customizing in complex offer and building is bolded because rose bowl that items that I will skip the like 3 words in the e-mail as a simple interfaces this
is like probably most important 1 the reason someone is using your community cookbook is because it makes our life easier if you're interfaces so complex and so hard to understand if I have to like actually Bill learn how to use your cookbook that it provides no right at that point nodes in use of the right around and as soon as the research writing their own and now provides divided community so make a simple interface figure out how to do it you can't do it and maybe this is not a thing for a cookbook proposal resources so we
wanna give people the tools to build what they need we don't necessarily want to ship them a completed thing and this is different than some of the original ways we thought of chef cookbooks someone were supposed to be this magical turnkey items you apply deforestation like hoof shepherd your job for you um Barzilai I'm sorry plate was probably somewhere gets and VC funding like 2009 at but we want power
people to write their own cookbooks snack characters back to the fact that we're giving people tools so I'll tell person where this window goes a restore goes like they get to decide that the and to give them everything they need all civil window shipment or but they can decide work goes
on and because of that this thing that they build can fit into the complex software environment and this is kind of another 1 of those unfortunate wise we told and for a long time people said your environment is not a snowflake your environment is absolutely snowflake if it if it was a snowflake you'd be in someone else's business by if what you're doing is so not unique then you probably got some is copy what you and so that's the 1st item on a group rewrite
check off like we actually understand what it means to be a new cookbook and what is the scope
difference between a private cookbook a community cookbook and it's it's this thing and I know
I tables scary but there's no good way to like put in data I the 1st is the usage patterns so euro cookbook is highly opinionated because it's for your business became the ideal highly opinionated became a could put has the highly flexible so if you're writing your businesses cookbook for whatever and you try to just turn around and put in a community of thought work that it will fail of platform support like
generally you're writing a cookbook for the 1 hour maybe 2 platforms use like you there may be a little shopping many window-shop you're probably not both made you are but you probably are in same application both things that whereas commute cookbooks need to support everything like someone's gonna wanna run under but as far as tuples
go like because your cookbook is highly opinionated only has a few tables nastily OK because you only need a few intervals you don't need to make everything and all that you don't have to turn it the commute cookbook the last of everything because someone is gonna want to in every single thing their business will need whatever Dallas the and
so that's that's the scope but knowing gets a cool stuff which is like what are the building blocks
of this specific of like how do we figure out what we even need to build to make the same it it all kind of goes back to that my
face cookbook example which I'm I'm totally stillness from primary doesn't know like this is subpart as might this cookbook I we have 3 things here right we have this application binary they're installing them like this package we have a my face configured file and we manage the service and
that is this right like at binary configs service management piece cake right then in the beauty is we have map that we can map that to the resources almost one-to-one in most applications talking about classic application yes 3 things you concerned about concerned about how to get the the actual binary onto the server how to configure it and how to make sure that it's up and running so what's the will we even want this time against all to look like because again like when I write missing NO were thinking through like what it's gonna look like so Tomcats solve revenues SelectBatch artifacts worry about where that is later is like verify you know that it's safe and what not we want to specify version because somebody wants to install a Tomcat 6 and so we want maybe like 91 do everything so we need to install onto a directory new sets permissions on there so we get started with my generator cookbook
this is the extent of the code writing here that like boom we generated that but even more importantly we will generate a task of and the reason reject this task a book is the 1st thing reduced is right the test and the
test is exactly the way the customer that being the person you're given assuming obviously not paying for a polite they're still your customer the way they're going to use so i'm minute create Hello World and we will test using the whole world so the very 1st thing some union dues nature that job installed jobless Tolley outside the scope of the talk I cookbook it wasn't in the past so that was a mistake but we have a cool cookbook that's job cookbook so I use that and then they use time can install Hello world and like I said before you build specified version install pattern of this all have 1 I'll probably defaults but like I want nature works only give non people suffer because during the test
and we have the Tomcat in Fig and this is gonna were like things stop right because how we write a simple interface for something that is that in number of variables In a crazy axonal confirm if you can think of some wonderful way to translate a really simple Ruby data structure into a crazy complex XML I like it that's great do P but I'll these possible so I was generated and I think that's OK because I think in reality
this is probably what somebody's going do but might not be cookbook file it'll probably template but because they're in using this within their business they're probably gonna have like 3 or 4 things that they there and 1 in the damn bomb a different poor than water use less RAM so the house and GC settings as in each size settings things like that but if it'll probably look the same so it's botched better for them instead of making them put 99 % of this code that they don't never actually tune in some funky data structure like hatcheries patches or whatever like instead of making Natureza hashes just like say this is in the scope of this cookbook because it's not possible to easily so like bone worry done as we just wrote a 3rd of it by skipping but now you talk service
instead so time service like it seems really simple right like it's a service but again we are writing this for a number of different platforms so when I say Tomcat service enable it's not just starting the service like I have to make sure that I've landed the init scripts or the upstart configure the system the conveying I need those different configs to run on every platform and like good luck writing is the in a script that works on like Devin and Ralph 5 and Sousa because it's just I could happen this is possible that's just like not fun I'm so will define what that looks like it's no good you really classic simple here it looks kind of like shops service so we're not going to make a person say like new system the word higher like complexity from them because we're giving them a simple interface and that's going to be or problem to worry about whether system the should be used so we put all together we end up with us
and this test recipe here would produce a working really simple side with the whole world and we can like point a test suite at later which we made and we would consider ourselves
done so like how accurate discuss resource we've right now will look like the like that's obviously not as resource code and likewise a customer is receiving cool 1st place because a lot of people probably written like elder abuse and a chemical but and a weird stuff in it and were collected and
so at its most basic because the resources properties and actions the properties of variables you pass in actions are what you want to so if we have talked out install or action is installed Web service it's like stop enable where but but the thing that is really quite impressive resources is provides an action plan so provides allows us to name the resource something that isn't on that might seem career brochure what school later and also lets us specify the distance that we run on which is the most powerful thing cost resources and then the action class is just a really simple way shovel much methods into a place where everything runs in the context of the action and you can write some code that is in white top-to-bottom horrible dream and so will create the resource here a is my Adam alias so this is just a pop up from a text editor how
encode example properties missus time install and so opprobrium that we have a tight now we have a few different things so instance names the first one here it's a string it's a special 1 to name property which means of psoriasis talk and store Hello World this is mainly comes home world but then we have version it's a string again we get a default value if somebody doesn't say what version Tomcat they want the which they probably well but if they don't for some reason there he gave 0 36 which I just magically decide 1 day of the current 1 and that's the 1 I exclude docs is a true or false item so Tomcat ships all the stocks in by ball and not showing the 1 that seemed like a horrible security me so 1 of things we can do here is by default believable but if for some reason you want the docks you could not believe it I don't know why you do that you can and in the last 3 are kind of special ones so we want to make some opinionated decisions here but we also allow people to override the so the opinion decision to make here is where we wanna put the binary professional binary not in package pension is a tarball off of the page's website so we have to stick it somewhere Thomas In off slash Tomcat underscore the name of the instance and that's because we have like 6 instances running the way this cookbook both and but we don't know the instance name at the beginning so we have the lazily evaluated that so by doing is as lazy evaluations we can use another 1 of these variables of the above which is instance then it we can build a user group and stop after that so there we have it are actions
so the action here is install there's a really simple 1 the inside of it I just showed a bunch of chef resources I could do more work really complex stuff but for the most part most people probably disheveled water resources I through the magic of custom resources I could have more than 1 of these I could have an uninstall resource I install will be the first one on my list and because it's the 1st on the list it's the default 1 so if a person says Tomcat install only they don't specify an action in the first one there it's convenient store no my action class but this code is tiny that's fine you don't have to read it this is a really evil method the wrote there it goes and fetches a checksum off of Apache site because we want actually take the checksums that they publish In compared against job although we get were not the trust necessary with the web server tells us and we don't want you have to create a shot 1 or shot 6 or whatever and also at a certain point these fishermen divide the shot 1 so we have to handle both of which makes it even worse but like we don't want that straight interaction cos ratio the bottom where a hideaway in of the builder really action and someone is touching the SCO where on open source probably will never touch that so they will break it and the final 1 the was provides in this case I'm looking at the Tomcat service by I think that provides is really probably most powerful resources and it's what allows us to create really really powerful community cookbooks that we could do with a classic monolithic recipe and so in this case this is Tomcat server system the and in this cookbook matching shipping 3 different across resources for service system the 1 there's not sir wondrous assist being 1 mutilated reviles which makes them very small super easy to read there's deflation duplicate code in there but I'm fine with that because it makes it a lot easier to read a lot easier to understand but this 1 will only fire if the user either references it as Tomcat server system the completely or if they just say Tomcat service and their on 1 of these systems will so we can have another similar while for upstart another similar cause system being we can decide what platforms it becomes the Tomcat service resource or and by doing that someone this calls Tomcat service and if there are L 6 they get if they're on you know what a beautiful 4 boxes get upstairs but if they're like I don't like upstart by a lot of people for I really want uses the than they can call that but 1 directly this also allows them to migrate from 1 older platform to your platform without have teamed up the rest so if they go from a role firebox to 7 box it'll go from assist the file into a system the file and they'll never know and it will this work which is again we want see what simple interfaces and so use the mapping the back it's
us against us 3 files it gets is a pretty wide amount platform support there and that was 1 of the big problems could put had is it had a really hard time with platform support specific with its scripts that's like
completely magic why provides absolute magic some takes forever road it they make trainees things there and and then like platform
supports done is it is not as become forgot like that 1 that sort of matches his background and I'm a full like a Joshua temperament and just say like pure is a
welcome on I'm I'm not writing Windows supporter of done in Windows stuff before I surprise actually run on Honkela windows and I just don't do it and so that's that's like symbiosis job enough 1 but this 1
more thing right because we ran a resource at this point just assume that the the weaker to it I spent their happened and the whole thing is written down it's beautiful perfect I but how I know that this thing actually works right like I wrote a test cookbook and I can even execute that task of polite would that mean and so I we need testify domain mean like and
you try to install Tomcat and see if it works which is the way we used to test talk like somebody fired up in virtual boxing what like got seems to work its way but but need actually have like real
Tessa into so the first one is cook style and if enough note could stock of styles based we were applied not basically like it is told about but will not be eroded it's just a wrapper around rule about this so the people to have it at that what you did to care of multiple people have done it but so we take a RoboCup that yeah found it seems to make sense it is totally like my opinion of what a real cop partial look like how you should use the quotes like where you should not use hatch rockets or whatever we wrap that up we put into a command just call Cookstown we ship at the Ottawa about worker and if you don't agree with our style which is quite likely that you can use to work out and you can make your power you can have like your core style it's very simple and the thing is open source and you can check out how we did it but it makes it really easy to give this to a developer and say like just run Cookstown against this new thing no match like our companies released standards of they will cease to create a we switch
to create 7 it's awesome in longer supports that shift . 7 if you're still on that like a really sorry we Gary support but the critic allows us to do the same kind glinting but specific to shaft so someone does like bad notification and if forget a name in the metadata e-mail metadata something that that that our slash people use refresher had decided is bad that food critical or and it's it's really helpful to keep people have like on the right plot perfect but the freedom and then the final 1
is inspect but so inspectors probably like most important 1 there the other ones are getting win team you could have a cookbook that passes that although the look up stuff passes all who could step that you know you can still like not work like you could just be broken I but if we we're nice integration test for it we can actually prove that it does work and we have that test cookbook and it's like a larger test approach because we started this whole process writing that as a designer the and so this is a simplified
version of the inspector test it there are a lot for some people read the like basically what we're doing here is we're just saying like a The thing install like is this file becomes an installation even there so my my actual content installed methods work but are the users in the groups there that is the service started and and really like the most important 1 and honestly could be the only 1 we do we will be totally set with is just can I curl page like if I curl that simple web page and get back the whole world during then this entire thing worked in this cookbook is functional and on that platform and testing so we need put all together we need like
rats and mice test get around this thing and make this all work so we can make sure we tested our stuff
so locally we can use very it we don't father looks something like this but were again tested a lot platforms because we support all platforms and if we do something weird if we produce about upstart convey produce about system you can figure some as a PR like make something work better but will see that like breaks and tossed and if the mass of the CIS the file is like a 90 % chance of breaks and also I but that's only local right like this isn't all that helpful if a person submits a PR all other nodes broken this is it happens because this isn't just my organization this is this is a community it's working on and I also don't wanna have to pull in every region test them before as that would by just take which 1 on account and and luckily as
shown their rotation docken people while that would Travis and you can just get this super awesome experience so back and they can see a whole bunch of greens and in the Greens are everything passing so really full integration testing on all these different platforms running through a whole world reaction a few other tests which are set up the docks page make sure the docks load of and then we confirm and that whole process like installing 2 different Tomcat instances in nature to can coexist making sure they use 1 can specify says the the other 1 can use where the native is like hitting pretty much all the different styles that we have in all the different scenarios and they would use takes you know 3 habits like that's that's result like that's manageable and we can do that all these different platforms and so I would highly recommend that if you're looking for a starter on the check out this cookbook you can steal are Travis file you can steal our kitchen docum file is a little bit of funkiness you have to do because the darker images so you have to like put some extra stuff on any given in a script work particularly like systems mother like 1 funky platforms but to sum
it up like In order to do this thing right we basically need to start with a desired 1st and that's where I think i'd what people go wrong with this they just jump in like I think I know how to solve this problem on the start cutting them open up my editor and model with something upper right and that is going to fail it might even like partially succeed but it will be as good as if you sit down and actually think through like what is the need for this to work quite well how to perceive news talk like I was not the Tomcat book and I might I would go on Tomcat and it was awful look through it and I got a mild understanding of White House might use some can realize they cannot meet figured in matter and then there were the test cookbook because we want to make sure that we start with the way that the consumer this cookbook we actually use it and from there we can register writing a resources and then we're going have testing and minutes hopefully like everything works right like rinse repeat without testing because guess what like they once not only green this can be tolerated but eventually developing green like this is the coolest thing ever like I just got this thing installing like 12 platforms I and as it and I think the last thing I would
say is like I discovered an absolute sliver of custom resources there's all kinds of crazy cool weird funky thing you can do in there and a bunch of stuff like hourly use and I'm not entirely sure why you would like somebody is like that is so cool but it's on the docks and dockside professor resources is actually really solid I can check it out it has examples of of how you some you use it and it breaks out like all the things like the action class and provides only you can get a real understanding it's not like a normal box sites like really solid but at docks folks are low real responsive so there's something that's like single fish in there you can e-mail dioxin-like the gradient I'm not so have having questions it of the the you the you the yeah so with the whether a lot of the shipper journals that were written to give do customer sources and if so which version yes Type I should mention that I could find so custom resources came out in 12 . 5 and we then have a cookbook called combat resource think about resources like basically is us that we should be among the batch of our own application which sounds old the year that it is a little bit like I you Monday bachelor stuff like that OK just a better people stop so we ship the current customer resource come back to the old chap and I did she compatibility from 12 0 on a real estate probably works well in 12 1 although a little all sketching and so you using 12 0 but you can discuss resources you set is compact refers cookbook and what some other other good examples of resource cookbooks sites Tomcat that are out there to look at yes so because that because people are generally using a compact resource cookbook you get to go to the supermarket and you can search for combat resource and then you can check things that depend on it and you can get a nice list of like everyone that's written of a backwards compatible use resource cookbook but and important to some other stuff after this 1 this was kind like the like scratch like how they do that how we get like the init scripts to work even getting a better understanding about how you even write like a good upstart conveying a I I started units and Memcached book and Push Jobs has at I think you'll see a lot more its in Ch because Java and open JDK and oracle and play area we handle the package verses terrible this a lot of complexity there yes so I could so that is really just falsely punted in the fact that I'm saying usage of a cookbook but thing and and show there's in my test recipe actually use to that accepts the license allows us to go download the oracle VAD but but you could tell use open the K I mean obviously matching the version of the JDK you need and how you get the decay and they're like that does come into play with something like Tom Cabin concerned hardcover and requires certain governments like again like this isn't just like a turnkey gonna work like you have to know like alright talk 7 so like job of 7 of India to get on their using that job could but were the the and with my organization generally agrees with your approach and the here include recipes gopher Java um give an opinion on that the depth of inclusion of recipes cast's renormalizations thinking we shouldn't even use include rescue should be completely resource-oriented accepted probably the role the layer as far as putting a sequential listed terministic list of recipes so you know just by looking at the role what's included and then everything down from there would be resources yeah I mean the Java cookbook ontology resources there could be like John install resource but the job and stories it's a problem just like the default arrest the image of book so I don't know if like someone taking the time to change that until like a resource would really do anything so setting a hard requirement like that of same like no recipes like in the end you kind of doing the same thing I get that to a certain extent like you don't want this crazy crazy depth of like where's my code going some fallen over and all these different recipes I want to look at and think of it as building blocks out property to a minimal like in that somebody can use the the Java recipe and anything else like in an entity artifact of the realistic there up only off of they should be site like the grabbing I like art something so there's another resource there even after right so I grabbed our factors something but that's probably resource 1st I finally recipe that you would use to do this Ch war but for the 5th
Schreiben <Datenverarbeitung>
Verbandstheorie
Smith-Diagramm
Nichtlinearer Operator
Open Source
Dienst <Informatik>
Wellenpaket
Template
MySpace
Variable
Gruppenoperation
Softwarewartung
Freeware
Prozess <Informatik>
Gemeinsamer Speicher
Rechter Winkel
Bitmap-Graphik
Subtraktion
Elektronische Publikation
Gemeinsamer Speicher
Green-Funktion
Default
Applet
Instantiierung
Sichtenkonzept
Mapping <Computergraphik>
Dienst <Informatik>
Prozess <Informatik>
Softwarewartung
Attributierte Grammatik
Thread
Versionsverwaltung
Softwaretest
Binärdaten
Mathematische Logik
Elektronische Publikation
Teilbarkeit
Gruppe <Mathematik>
Open Source
Sichtenkonzept
Gerade
Physikalisches System
Rechter Winkel
Programmbibliothek
Wort <Informatik>
Translation <Mathematik>
Programmbibliothek
Versionsverwaltung
Hash-Algorithmus
Vervollständigung <Mathematik>
Array <Informatik>
Datenhaltung
Hash-Algorithmus
Klasse <Mathematik>
Versionsverwaltung
Datenstruktur
Komplex <Algebra>
Softwaretest
Punkt
Gibbs-Verteilung
Rechter Winkel
Tomcat <Programm>
Attributierte Grammatik
Deskriptive Statistik
Knotenmenge
Punkt
Prozess <Informatik>
Rechenzeit
Nichtlinearer Operator
Benutzerbeteiligung
Gewicht <Mathematik>
Mereologie
Applet
Server
Konfigurator <Softwaresystem>
Physikalisches System
Computerunterstützte Übersetzung
Code
Subtraktion
Punkt
Dokumentenserver
Selbst organisierendes System
Zahlenbereich
Arithmetische Folge
Hauptidealring
Offene Menge
Mereologie
Dreiecksfreier Graph
Ordnung <Mathematik>
Datenstruktur
Repository <Informatik>
Einflussgröße
Aggregatzustand
Sampler <Musikinstrument>
n-Tupel
Konfigurator <Softwaresystem>
Kartesische Koordinaten
Elektronische Publikation
Komplex <Algebra>
Eins
Software
Arithmetische Folge
Software
Server
Computerunterstützte Übersetzung
Default
Prozessautomation
Bit
Arithmetische Folge
Rechter Winkel
Arithmetische Folge
DoS-Attacke
Natürliche Zahl
Checkliste
Checkliste
Applet
Gebäude <Mathematik>
Gebäude <Mathematik>
p-Block
p-Block
Default
Schnittstelle
Videospiel
Punkt
Gebäude <Mathematik>
Programmierumgebung
Komplex <Algebra>
Open Source
Software
Rechter Winkel
Wort <Informatik>
E-Mail
Figurierte Zahl
Schnittstelle
Leistung <Physik>
Prozess <Informatik>
Bildschirmfenster
Baumechanik
Leistung <Physik>
Checkliste
Software
Komplex <Algebra>
Laufzeitsystem
Gruppenkeim
Gebäude <Mathematik>
Programmierumgebung
p-Block
Komplex <Algebra>
Programmierumgebung
Mustersprache
Subtraktion
Multiplikation
Mustersprache
Systemplattform
Einfache Genauigkeit
Mustersprache
n-Tupel
Systemplattform
Kartesische Koordinaten
Systemplattform
Kommutator <Quantentheorie>
Einfache Genauigkeit
Tabelle <Informatik>
Open Source
Checkliste
Gebäude <Mathematik>
Gebäude <Mathematik>
Kartesische Koordinaten
p-Block
p-Block
Elektronische Publikation
Binärcode
Variable
Gruppenoperation
Softwaretest
Binärcode
Installation <Informatik>
Baum <Mathematik>
Versionsverwaltung
Kartesische Koordinaten
Konfigurator <Softwaresystem>
Textur-Mapping
Binärcode
Code
Task
Mapping <Computergraphik>
Komponente <Software>
Dienst <Informatik>
Verzeichnisdienst
Datenmanagement
Menge
Rechter Winkel
Server
Maßerweiterung
Versionsverwaltung
Verzeichnisdienst
Bildauflösung
Softwaretest
Binärcode
Solitärspiel
Installation <Informatik>
Natürliche Zahl
Versionsverwaltung
Applet
Zahlenbereich
Variable
Prozess <Informatik>
Mustersprache
Installation <Informatik>
Datenstruktur
Schnittstelle
Subtraktion
Wasserdampftafel
Zahlenbereich
Schreiben <Datenverarbeitung>
Konfigurator <Softwaresystem>
Dienst <Informatik>
Extrempunkt
Systemplattform
Komplex <Algebra>
Code
Physikalisches System
TUNIS <Programm>
Softwaretest
Skript <Programm>
Skript <Programm>
Datenstruktur
Drei
Schnittstelle
Güte der Anpassung
Physikalisches System
Elektronische Publikation
Gruppenoperation
Patch <Software>
Dienst <Informatik>
Menge
Rechter Winkel
Wort <Informatik>
Softwaretest
Suite <Programmpaket>
Punkt
Code
Aliasing
Klasse <Mathematik>
Gruppenoperation
Automatische Handlungsplanung
Gruppenkeim
Versionsverwaltung
Binärcode
Code
Eins
Homepage
Variable
Web Services
Installation <Informatik>
Abstand
Speicher <Informatik>
Default
Leistung <Physik>
Leistungsbewertung
Tropfen
Konvexe Hülle
Kategorie <Mathematik>
Computersicherheit
Objektklasse
Kontextbezogenes System
Variable
Gruppenoperation
Entscheidungstheorie
Texteditor
Kategorie <Mathematik>
Decodierung
Zeichenkette
Instantiierung
Web Site
Punkt
Quader
Wasserdampftafel
Klasse <Mathematik>
Gruppenoperation
Interaktives Fernsehen
Textur-Mapping
Systemplattform
Code
Benutzerbeteiligung
Prozess <Informatik>
Minimum
Skript <Programm>
Speicher <Informatik>
Default
Gerade
Schnittstelle
Leistung <Physik>
NP-hartes Problem
Umwandlungsenthalpie
Physikalischer Effekt
Open Source
Ähnlichkeitsgeometrie
Mailing-Liste
Physikalisches System
Elektronische Publikation
Nabel <Mathematik>
Gruppenoperation
Modallogik
Dienst <Informatik>
Gruppenkeim
Mereologie
Server
Prozess <Informatik>
Bildschirmfenster
Systemplattform
Systemplattform
Quick-Sort
Softwaretest
Softwaretest
Punkt
Rechter Winkel
Metadaten
Perfekte Gruppe
Matching <Graphentheorie>
Reelle Zahl
Open Source
Wrapper <Programmierung>
Speicherabzug
Schlussregel
Partielle Differentiation
E-Mail
Verschiebungsoperator
Leistung <Physik>
Standardabweichung
Softwaretest
Dienst <Informatik>
Softwaretest
Prozess <Physik>
Programm/Quellcode
Versionsverwaltung
Gruppenkeim
Installation <Informatik>
Elektronische Publikation
Web-Seite
Systemplattform
Integral
Eins
Softwaretest
Knotenmenge
Uniforme Struktur
Softwaretest
Selbst organisierendes System
Rechter Winkel
Kontrollstruktur
Ruhmasse
Physikalisches System
Elektronische Publikation
Systemplattform
Bit
Subtraktion
Prozess <Physik>
Multiplikation
Natürliche Zahl
Drehung
Systemplattform
Homepage
Informationsmodellierung
Softwaretest
Datenmanagement
Skript <Programm>
Bildgebendes Verfahren
Softwaretest
Green-Funktion
Physikalisches System
Elektronische Publikation
Instantiierung
Integral
Texteditor
Last
Rechter Winkel
Formale Sprache
Ordnung <Mathematik>
Instantiierung
Web Site
Bit
Quader
Renormierung
Selbst organisierendes System
Gruppenoperation
Applet
Klasse <Mathematik>
Versionsverwaltung
Kartesische Koordinaten
Komplex <Algebra>
Code
Gradient
Dämpfung
Einheit <Mathematik>
Prozess <Informatik>
Datentyp
Skript <Programm>
Maßerweiterung
Inklusion <Mathematik>
Default
Bildgebendes Verfahren
Softwaretest
Ontologie <Wissensverarbeitung>
Kategorie <Mathematik>
Güte der Anpassung
Gebäude <Mathematik>
Strömungsrichtung
Mailing-Liste
p-Block
Quellcode
Teilbarkeit
Betrag <Mathematik>
Flächeninhalt
Kompakter Raum
Offene Menge
Normalvektor
Stapelverarbeitung
Orakel <Informatik>

Metadaten

Formale Metadaten

Titel Writing Composable Community Cookbooks Using Chef Custom Resources
Serientitel ChefConf 2016
Autor Smith, Tim
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/34656
Herausgeber Confreaks, LLC
Erscheinungsjahr 2016
Sprache Englisch

Inhaltliche Metadaten

Fachgebiet Informatik
Abstract Writing cookbooks that can be easily consumed by varying users is a daunting task. How can you write robust cookbooks that cover all configuration scenarios without a level of complexity that would make users want to run and hide? Could it be that easy to consume and robust cookbooks are actually those that lack recipes and attributes altogether? This talk will compare and contrast monolithic cookbook design with that of composable cookbooks. The talk will show the pitfalls of a recipe / attribute driven monolithic cookbook through the lens of Chef?s own Tomcat cookbook. We?ll walk through the redesign and rewrite of the Tomcat cookbook to show how composable design and Chef 12.5+ Custom Resources can create robust and reusable cookbooks.

Ähnliche Filme

Loading...
Feedback