DrupalCon Portland 2013

Cómo gestionar bien el ciclo de vida de los sitios creados con Drupal

Josh Koenig  · 

Transcripción

Extracto de la transcripción automática del vídeo realizada por YouTube.

greetings everyone are we ready to begin all right so first question show of hands how many you guys build websites for a living yes all right quick show of hands how have you enjoy building websites for a living all right quick show of hands how did you enjoy

the beginning of the project where you get to do whatever you want more than the end of the project or you can't yes that's what we're here to talk about all right so I I chose a cheeky title developer swagger because I feel like there's that

feeling you get at the beginning of a project where you can sit down and in like two three days maybe a week knockout 80% of what you kind of need and that feels very awesome but like velocity is something that's pre cognitively empowering you just know

that that's right and it's powerful and it's good and you're making a difference and then there's sort of like this I don't know depending on the project and so forth there's a sort of decay of speed that happens and and more and

more sort of limitations and structures get imposed on you and part of that's a function of QA and part of that's a function have more stakeholders coming in and maybe there's a big team and yadda yadda yadda but the point is you have that beginning

of every project and it usually just feels so good especially if you know you're using Drupal you know what you're doing and you're building stuff up and you're installing it and plugging it together and then you lose that at some point and

I'm going to talk today about ways that we cannot lose that feeling things we can put in place that let us have that same confidence that same velocity that same speed that same swagga all the way through our projects I'm also you know the technical

term for this is Application Lifecycle Management and I'll explain a little bit about what that means to so Who am I for those of you I haven't met hi my name is Josh I'm Josh k i'm drew blood org I've been doing this for close to 10 years

and I loved it and and I love this community and I'm really honored to be able to present I'm so actually kind of terrified and nervous that so many you came to see me so thanks for showing up professionally this is my gig now I do this thing called

Pantheon it's like a Drupal in the cloud all-in-one platform build blond Toronto etc etc etc if you want to get that pitch pitch go to the booth I'm not going to talk about pantheon except at one point where I'm using it to fake a demo that I couldn't

set up last night and I'm going to talk about what the technologies are that we use to build this sort of thing and how you can use them yourself if you want to how you can use the same open source tools and build your own application lifecycle management

system because I think it's very important knowledge for people to have so quick enterprise software acronym Academy this whole notion is about there are people out there that by the technology from us usually like we're the developers and like even

if we're working inside of an organization rather than at a consultancy there's still someone else who's the ultimate owner like the site owner or the project manager or the the project owner of here in just grammar but stakeholder whatever you

want to call it right and usually there's an administrative kind of capacity within the organization whether it's your organization with a client organization and they're going to have to like kind of live with this thing for as long as it's

around and sometimes a website is like a two three four five maybe even more your commitment and so they need to know that they have the the stuff in place to be able to keep it online and keep it running and make the updates we need to make the updates and

this is no joke right like I used to do a lot of drupal consulting with with chapter three and we we at that when I first started we just really like didn't want to have anything to do with this it was very much like we'll build you the website will

try you to use Drupal and then go for it right and that was good for us because you know we were able to build our business and we will work on a lot of interesting projects and we helped a lot of people and thankfully you know a lot of the stuff isn't

that complicated or or you know it people can you can get away with kind of fudging a little bit here and there but more and more as the the world begins to adopt Drupal and begin to beginning it more serious about best practices this is less and less something

that you can kind of hand wave away also if you happen to run a consultancy or work for a consultancy being able to deliver on this kind of stuff is like really good business because it keeps your customers around for the long haul which is really important

if you're trying to grow grow this industry we need to build long-term relationships so these people are looking at two to five year time lines they're also thinking about Drupal isn't the only thing they do like they can't be drupal experts

because they have to own 7 8 20 different pieces of technology and you know even if people try to standardize more on the web tier they're also like dealing with like whatever their CRM database is and blah blah blah they've got a lot of stuff on their

plate and it's hard you kind of have to appreciate the fact that a bunch these people are are overworked underpaid stressed out and under a lot of pressure and we should be nice to them I think it's important that this is not just for big corporations

and big organizations this stuff is for everyone this helps all of us build better sites faster and get them keep them developing and keeping on going that the thing that I dislike the most is when you have a really cool site build process and you get this

really great site out the door and then it never evolves after that because it's too hard to do the deployment stuff and keep it all in sync and like you have a couple bad experiences where you break the build or whatever and then all of a sudden everybody

goes into lockdown mode and you're not able to innovate anymore and that that just kills me right here in my heart so this is for everyone so in the broadest spectrum ALM is like all this soup to nuts it's like you know the guy who's going to do

the giant Microsoft Project Gantt chart or whatever and they're going to go from requirements gathering all the way through design develop and project patio design etc etc I'm not going to talk about all that I'm really just going to talk about

development deployment maintenance updates and upgrades and what are some best practices you can use for these that will help you in doing your job and what are some tools you can use so developers want to move fast as I was saying it's very gratifying

for us to be able to do things quickly and I think there's you know there's there's no coincidence that Facebook chose is their engineering model we like to move fast because that's very appealing it gets to that like powerful early experience

and there's this great old proverb of like if you want to go fast go alone if you want to go far go together and I think that often we are sort of faced with that type of choice and it's a false choice I think we can go fast and go together and in

fact if we really go together as a community we can go even faster than any of us could alone you know we're kind of like this we're gonna hack it up we're gonna you know got this glowing thing and a happy mug and we're in the matrix and so

on and so forth and and the the people sort of who are in charge of that chart or lady signing the checks or whatever they're probably a little more risk-averse a because you have to appreciate that they don't really understand very often what we do

like the whole arthur c clarke sufficiently advanced technology is indistinguishable from magic like have you ever tried to sit down with someone who's like in your family a normal person and just explain the internet to them like they're it's

it's as crazy to them like they don't just don't think about it at this point it's just as soon oh yeah now get online and the website is there and they don't really there's no reason for them to try to comprehend all the little things

that have to happen in order to just load a webpage on your browser they just assume that it works then it's kind of magic and so when you're in charge of managing a process and you're effectively think you're working with a bunch of magicians

who may dress unconventionally and you know go to these cool conferences and you're not quite sure what they're doing it can make you a little bit uptight right so you have people who are afraid of downtime because down time is money that's huge

for most sites even small sites it can't be offline that can't be down that can't be broken even if the site is up but the CSS is broken that's still broken right if the user at the end of the day isn't able to low the site in the browser

it might as well the server might as well be on fire for all their concerns like as a developer i distinguish between these things but as a site owner most people don't end nor should they because they're right and so you get this kind of thing it's

like yeah if you could just go ahead and test everything before you deploy it that'd be great and and and and i think you know I've chose the bill lumbergh mean for this because sometimes when you get this kind of ask you sort of feel like you are

in that office space movie and this guy is kind of a douche and you're like man why but he's right you should test everything before you deploy it because you wit usually deploy should be rock solid and the point is what that process of testing before

you deploy should be easy it should be simple it should be like powerful and it should be like all set up for you that's the right way to do it so do you have to take risks if you want to move fast I mean one way to do it is you can you can go on a motorcycle

you can leave your helmet behind you can crank it up and you can just head off down the road or you could like get in a sports car with a strap on harness and like have all the equipment you need and you know drive a hundred miles an hour and be relatively

safe on a closed course on a closed course so no you don't have to take risks not if you do it right and that's what we're gonna here to chocolate it's the success of doing it right so swagger what are the things that cause you to lose your

swagger as a developer I'm going to run through my favorites and then we can talk about more at the end there's a wonderful poem two roads diverged in a would and I I took the one less traveled by and that has made all the difference and that's

kind of a nice inspirational poem about being yourself but in a project if the two roads diverged you are so screwed right because this is the first thing and that steals your swagger is like if you are not in sync with the rest of the project especially after

you go live right you go live and unless you're in one of these like edgy use cases where there's like no nothing actually happening on the live site and everything is just pushed out from there there's a few cases like that but they're very

rare with Drupal cuz why do people want to use Drupal because it's a content management system and you can have people log in and add content and leave comments and fill out forms and so on and so forth that's the real work of the website and it's

happening in live and if you are not able to stay real close to that and in sync with it while you're developing you're going to slowly drift apart and then eventually you'll have something like a bug you can't figure out and then I've

actually done this right working on new site spent two hours to our two precious hours of my time that I was charging a lot of money for figuring out that it was just that my database was sought of data there were no snowed that had been published in the last

week and that's why all the views on the front page were broken right and those are the sorts of things that happened and like they're unexplained and it takes a while to figure out and and divergence divergence in content divergent is in code gets

you into tricky situations where you think you've got something solved then all of a sudden it breaks or it doesn't work or it doesn't behave as expected and so really one of the main core goals of the whole continuous integration movement is to

minimize divergence you want to diverge to do your work and you want to merge back in and you want to stay close and you want to stay tight if you've got if you're doing like featured branchy based development and stuff like that that's really

awesome but if your feature branch is sitting out there for more than a couple days and you haven't at least you you don't have to push everything back in but if you haven't pulled from the master branch or however you have that set up in a few

days you're doing it wrong you should be pulling like every hour because why wait until the end to deal with the conflicts you should deal with things immediately and stay closely in sync divergence leads to fear leads to nervousness and then nervousness

leads to like all sorts of things that people think are to prevent them like what happens to typically in my experiences so there's a bad experience somewhere something breaks or it doesn't work as expected and then there's a meeting about it and

there's like people are kind of tense because it's like you feel like you're on the spot and maybe you didn't do your job right and you know there's pressure and then some remediation gets made and very often the action that is taken out

[ ... ]

Nota: se han omitido las otras 7.037 palabras de la transcripción completa para cumplir con las normas de «uso razonable» de YouTube.