Go back

Talking Drupal #190 - DDEV with Mike Anello

55m 42s

Talking Drupal #190 - DDEV with Mike Anello

In this episode of Talking Drupal, hosts Stephen Cross and John Pocosi welcome Mike Anello to discuss local web development tools. Mike explains his year-long evaluation of Docker-based solutions like Docksal, Lando, and DDEV, ultimately standardizing on DDEV for its professional relevance and teaching suitability. He emphasizes DDEV's flexibility in configuring per-project environments (e.g., Apache, Nginx) and praises features like database snapshots, which allow developers to preserve and restore database states easily. The discussion contrasts DDEV with Lando, noting Lando's broader container library and built-in DNS setup, while Mike prefers DDEV's workflow of pushing to dev environments rather than exposing local sites. The episode also touches on DDEV's development by drud technology, its responsive support, and community contributions. Mike remains open-minded about using other tools for training if needed, but advocates for Docker-based solutions over older options like Dev Desktop for modern Drupal development.

Transcription

9503 Words, 49713 Characters

English
This is Talking Drupal, a weekly chat about web design development, a group of guys with one thing in common. We have a cold, no, we love Drupal. This is episode 190, D-Dev with Munkin'Hell-O. So maybe I'm the only guy with a cold this week, right? You are. Okay. I'm 100% healthy. Alright, great. So I think a few weeks ago it was Nick and John at the same time and I was stayed away from it. So I apologize for the way I sound, but welcome John Pocosi. Hello. What's new with you this week? Anything? Oh man, everything. Everything is new. This week is new, working on projects, working on some commerce stuff, which is awesome. And yeah, just staying real busy. Great. And I just want to mention John works for Oomph. Didn't mention that. That is true. And I mentioned my name is Stephen Cross. I assume everyone always knows who I am, but I shouldn't assume that. And joining us today is Munkin'Hell-O. Like is their co-founder of Drupal Easy, which is a Drupal training and consulting company based in Florida? You might know him as ultimlyconjupel.org or Twitter. He's the host of the Drupal Easy podcast, the organizer of the Florida Drupal Camp. I'm only halfway through the list. He's an active member of the Drupal community, contributed in so many ways, training, patches, module contributor, DA grant program, Drupal community working group. He's a camp speaker, keynote speaker as well. He's the kind of guy that kind of helps wherever he can. He's been around a long time. He's also guided hundreds of people into the career as Drupal developers through his professional training, which we'll learn a little bit more about later. He was also a guest on episode 95 titled Easy Does It of Talking Drupal that was in May of 2015. You can go back and listen to that. Most relevant for today, he's the author of Local Web Development with DDEV Explained. Welcome, Mike. Wow, thanks. We should quit now because I'm even a little bit impressed by myself. I know. I hope you can live up to this. I do want to say, I don't want your color to correction because I feel that would be rude. But I am one of the organizers of Florida Drupal Camp. That's true. That's true. There are many people that go into those camps. We know what that's like. And Mike, you would never even know this, but I had an interaction with you. And it was one of my very first Drupal camps. I think it was in Connecticut Drupal Camp maybe six or seven years ago. And it was one of the first camps I went to. I didn't know many people went to some sessions in the morning, sat down, had lunch, and you sat at the table with me. And we chatted and you were talking about your training programs and I was so impressed with you and I really enjoyed the conversation. And then come to find out right after lunch, you were the keynote speaker. So that was the first time I ran into Alta Mike. So I remember that camp. I'm trying to think back. It was at Yale University. Right. Right. Yeah, it was quite a, I'm guessing it was six or seven years ago. I couldn't, I couldn't figure it out when I was putting the notes together. There's some, some, some time in that area. It's actually funny because I was, I was trying to remember the first time I met Mike as well before the show today. And it goes back to, I believe, Drupal Con Austin. And we were, we were at one of the after parties. It was some, some bar. I don't remember the name of it. Go figure. And I remember Jason Palmentel introducing us. And I believe you were actually on your way out the door with your wife. You were going somewhere else, I think. And, you know, we had a, we had a brief conversation, but it was, it was an interesting conversation. Jason is from your neck to the woods. Yes. Yes, yes, he's from Providence. He lives in Providence now. But anyway, for whatever reason, I remember that very vividly. And it was, it was, you know, a great, a great conversation, like I said. Well, that's very kind of you. Thank you. Yeah, I often, I try to go to almost all of like the Drupal Con parties, but I very quickly will make a decision whether or not I'm going to stay based on if I have to scream at people when I talk to them. Haha. It's fair. I, the first time our director of engineering and I went to Drupal Con. I was like, I'm going to invite you to all of the, all the after parties that I'm going to, if you don't want to go, you don't have to, but I'm just going to, you know, give you the option. He's like, Oh, okay. And kind of looked at me all puzzled. And then he quickly realized what kind of undertaking that was because like every night there was at least one or two after parties to go to. And like by the fourth or by the fourth night, he was like, yeah, I may be, I may be all done. I don't know. We'll say. So it's a task. I got one more thing I want to mention before we, before we move on. I went back and listened to the episode 95 or a good chunk of it anyway. And it's interesting. It's, I think the only episode I ever missed. That's scary to hear back. Listen to all the episodes. I've done that. Yeah. Now I'm going to have to go back and listen to that to see what it was like. You were hosting it that, Jay, John. You guys had just come back from, from DrupalCon. Maybe it was the Austin trip too. I don't know. It was 2015, whenever that was. But I think it's the only episode I missed. Yeah, that's about right. Because that was my first, that was my first DrupalCon. I think no. No, I couldn't have been. It had to be earlier than that because there have been this will be Seattle, be I think five. So as a podcaster, that's good medicine though. It is. It is. It's a old podcast. It's painful. You kind of crins, but I must not have done a good job because I haven't been the host since. So yeah. So let's talk about local web development. Mike, you've been on a journey recently of over the past year of trying to find a new way to do local development on your local machines. The blog post that you put out maybe mid, it's probably mid year this year. It was interesting in that it was comparing the different solutions that were out there. So I thought that'd be a great place for us to start today. Yeah. So I think that was back in March. At that point, I had probably been for the previous year. I've been working with Doxel and Lando quite extensively and then maybe for the three or four months prior to actually a little more than that, but maybe half of that time with D-Dev as well. And basically the short version of the story is I had my long form training classes. I had been recommending a Dev Desktop forever since I started the class. It was, I kind of had known it was getting to that point where it was time for change. In our Dev Desktop, we're working so great with Drupal 8 and I'm a big believer in I want to teach what professionals use and not that many professionals were using Awkway Dev Desktop and the day to day work. So I kind of went on this journey and I looked at a little Drupal VM for a while. I looked at, you know, just straight up Docker and then I looked at these kinds of Docker wrappers, which you know, Doxel and Lando and D-Dev. The goal was to find the one solution that worked for everything I needed to do, both my client work as well as something that was easy enough and clean enough for me to recommend to students and to teach to students. So that blog post was basically the end of that journey where I pretty much made in my mind at that point that I was going to kind of standardize what I did at least on D-Dev. And I really tried to write the blog post as even handed as possible because, you know, while I think D-Dev's the best solution for me, I can absolutely see where Lando or Doxel might be the best solution for someone else. So I really tried to go through pros and cons and, you know, help people decide for themselves which one worked best for them. I think a good takeaway from that blog post is that if you've moved off of MAMP or WAMP and go into any of those tools, you've already taken a huge step in the right direction. Yeah, absolutely. And I think I came away from your blog post feeling like D-Dev and Lando were probably the next set of choices. And then Doxel after, except for the performance made out. But in terms of growth and the way some of those other products are going, it seemed like they were a little bit ahead of Doxel. Yeah, I don't know if they were ahead of you know Doxel definitely took a different approach to Lando and Do-Dev. And you know, it really, it also. Another big factor in me ultimately choosing DDEV was just the pace of development and the available support options and all of that kind of the ecosystem around it. So in terms of your use of it, you do two things. You do teaching and then you do client work. How did that weigh into which tool that you kind of feel most comfortable with? Is there a difference or are they still all just about the same? For me there's no difference because like I said, I really want to teach what people are actually using and what a professional tools should have. So I was really looking, I know very much focused on the fact that with a Docker-based solution, every project you have can have its own unique configuration. You could be using Solar with one project or Nginx with one in Apache for another. I mean, I really wanted that level of flexibility and that's something that Docker could bring to the table. So really it was almost a choice of what do I really want to use for my client work and is that a good solution to teach students as well. So it just kind of aligned nicely where DDEV kind of was a little bit ahead of the other options as far as I was concerned. So I think the three of us on this show are Lando fans. I use Lando and Drupal VM regularly for my client work. So I would love for you to, because we've had shows about Lando and we generally promote it here. And I've only learned about DDEV in the last probably four months as even come to my radar. So I would love to know what do you think are the key benefits over the others. You know, they are both basically Docker wrappers, right? That's basically what both of them do. Basically it's a easier interface to Docker. So you don't have to, you know, they make a lot of assumptions, both tools make a lot of assumptions about what you need to stand up a Drupal site locally or WordPress site or you know, some other type of site. And based on the fact that you want a Drupal eight site, the tools kind of say, okay, well, you need this container and that container and this other container. So after heart, they're both wrappers around Docker. And in my opinion, where the differentiators are is what level of control do they expose you to through the Lando interface with the interface as opposed to forcing you to go down and get to the to the guts of Docker. And I think one of the big things that Lando has going for is Lando right now has a lot more available kind of containers, Docker containers that are built to run with Lando with very little fuss. So my curiosity when you're doing a training, if somebody were to say, hey, we want our training focused around Lando, is that something that you would do or are you solely like, no, I'm going to do Ddev. No, absolutely. Yeah, no, I'm a realist when it comes to this stuff. I mean, I get it. I get that, you know, for me, I mean, as long as you're using something that is flexible, you know, I think I'm pretty happy. I think if I went to a private training and I was going to train up a team and they're all, they're saying, no, we're going to stand off with Dev Desktop. I'm not trying to talk about that, you know, just from a, you know, a, you know, just a professional standpoint of you're not going to be able to maximize what you're doing by staying on a tool like, I'm not blind to reality in that way. So you're open minded. You're not, you're not, you're a fanboy, but you're not a, you're not a diehard fanboy. I try to be open minded with all things triple. There you go. So, so one of the things that I think Lando has going for it too is that it has that DNS set up with traffic is that something that you have set up with Dev as well. Or how do you handle access to local environments? And personally, from a developer workflow standpoint, I don't, I don't think it's a great idea. And that's a very opinionated. So how about if we describe what that means first, what, what the issue is you're talking about? Well, it basically gives the outside world access to, well, maybe not the whole outside world, but it makes your local development environment accessible from outside. Well, let's just clarify that. So there's a command you can run that will make it accessible from the outside, but basically what they do is they have a LNDO dot site domain. And then they have a global DNS rule on that that just says when you hit that redirected to local host. And so when you spin up a new Lando site, it'll give you something like example dot LNDO dot site. And that will work because when you visit it, your computer will do a DNS look up against LNDO dot site. And then their DNS server will just say, hey, look at, look at local host, which then the network container picks up. So then for, to clarify, so for DDA, if you need to set up a local DNS redirect. Yeah, I've never, I mean, it's not the way I think to be honest with you. I am very much of the opinion that you work locally when you're ready to share something, you push to a dev environment of some type. That's generally the way I teach developer workflow. I very rarely, well, let's say I never teach it in a way that, hey, here's your local, let's go expose it. So another developer can look at your local. Well, one of the problems with LNDO is that you need to be online in order to use it because it's looking for that DNS connection or doing something like that, right? You have to actually be connected to the internet. Is it still the case, because I know that, I don't know, maybe it's been corrected because I know when I first started using it, I was on a trip and I was traveling and I didn't have internet connection and I couldn't get the thing running and I couldn't figure out what was going on. And it wasn't until I got back online that it ran. Yeah, I think you either need to set up a local redirect with the wildcard for that domain. And if you do that, you will next, you will next just their DNS at all. And I think the other thing is if you're using something like a Pantheon recipe, I think you need access because they do something in the background like the way that they set up the SSL certificates, they need access to Pantheon servers to grab that. But I think in general, you don't need internet access other than the internet access you need generally for Docker to build up containers. So I guess one of the questions that I have then is, as you mentioned, you do a lot of trainings on teams. And if you're going to be using DDEV, is that kind of a prerequisite you have before starting? Do you like send them like a getting started guy like say, hey, we're going to have the training next Wednesday before that happens, have DDEV installed? If that's happened, then absolutely. I will always do a couple phone calls before any type of training like that and say, okay, just to get the lid of the land, like what tools are they using? Are they using something already that they're comfortable with? Are they looking to move to something else? That's just kind of like the baseline as far as what, just to make sure that when I start teaching, I'm starting at the right point. But one of the things you pointed out in your blog post from March was one of the, you thought was one of the biggest benefits was the ability to destroy a project and preserve the database. Right. Is that still the case of one of the key features for you? Yeah. And to be honest, I haven't used Lando in a few months now. So I don't know if we're at feature parity there yet or not. But I am a big fan of the fact that in DDEV now databases are actually stored as Docker volumes. So you can completely remove the containers of a project and that Docker volume still exists. DDEV recently in the past one or two releases implemented a new feature called SnapShots as well. You can even go so far as to completely remove the containers and the volumes and keep a snapshot of your database as well. So that, if in the future you want to spend that site back up, you've got the database as it was from when you took the snapshot. Personally, I use that a lot if I'm about to, you know, I do a lot of migrations. So I will take a snapshot of a database before I run a big migration in case something goes sideways. But again, another thing that I teach is I always teach that your local, you need to get in the mindset that your local environment is disposable. So that if it blows up, it's not a big deal. You just recone, get a copier database, get back up and running in a matter of minutes. Is that snapshot like just backing up the, like a my SQL dump essentially of the database? It's actually not a my SQL dump. It's basically taking a snapshot of the file structure. Oh, so it's the, so it's a Docker snapshot. So it's just taking a copy of the, I mean, the directory. Well, it's actually taking, it makes a copy of the directory of where my SQL dump is. equal stores all of the data files for that particular database. Okay. So it's not a Docker. It's not it's not duplicating the Docker volume. Or it's like that. Okay. And it actually stores it stores it inside of the hidden. Data directory as well. And what is that process like? What does it look like to pull in a snapshot and restore? There's there's a there's a DDEV snapshot command. And then there's a DDEV restore snapshot command. And you give it a name and you create a snapshot and you say, I want to restore to, you know, this particular name. So it's actually really easy. I mean, I do it all the time, like I said, with migration. So you'll see snapshots littered on my hard drive for different projects. I say, um, the snapshot is like pre migrate for. Right. And then sideways I can just restore to pre migrate for something like that. So you mentioned that the the pace of the development on DDEV is something that's been a money, one of the things you liked about it. Who's the company behind DDEV? And is it also a community project that outside contributors are contributing to the development of it? Yeah. So the company is a drug technology. And it basically is a bunch of folks. It's not all folks from the Drupal community, but there's a bunch of folks from the Drupal community. I'll just name a couple of Kevin Bridges, Randy Fay, Rick Manelius was also one of the founders, but he's no, he's actually no longer with drugs. They have funding. So it's, you know, they and what's that second part of your question? Oh, yeah. And as far as the project is, I'm GitHub. I do, I'm not sure what the percentage, like how much of the development is in How's and How Much is from contributors. I can say that they have been extremely receptive to suggestions. I have, you know, over the course of six, seven months, I made a bunch of suggestions and the vast majority of them have found their way into DDEV proper. So, you know, I've talked about it in the blog post. I'm a sneak in here while I can. As I think one of the big differentiators was the support for me was the, the level of support that drug provides for, for DDEV. And I don't want to say, I don't want to take anything away from Dox or Lando. But I just think it's kind of at a different level because there is a company who, one of their sole purposes is this product. So they do have a support, you know, system set up, extremely responsive, very good and just, you know, that's something that I know that when I teach folks who are new to a tool like this or new to even local development, that helps. Right. Yeah, my experience with Lando support has been very good. And I have good folks behind Lando. I mean, it's hard for me to, like, I can't say the negative about any of the folks involved that I know because they're all good people. Right. It's just different projects. Yeah, it is, it's really interesting. It's interesting that, you know, a couple of years ago, we had nothing. And now we have lots of choices. The really interesting thing is that this is, this is where we want to be, right? As not only forget about the dribble community, but kind of like as a, as a PHP or a web developer community, we want multiple products like this, competing and pushing each other. This is the situation we want. So, you know, I think we are, as a developer, were the real winners here because, you know, Docker, I use, I'm on a Mac. So Docker for Mac gets faster, you know, every month whenever they release. And that, and whenever Docker for Mac or Docker for Windows gets faster, that makes Lando faster, that makes DDEF faster. So we're really in kind of a nice situation right now where our tools are getting better. They're getting faster and there's an incentive for all the tools to get better. So I have a question that maybe you've seen, because one of the things that I find kind of interesting is that both of these products support backdrop and understand that it's, if you're supporting Gryppel7, it's easy to support backdrop. But I'm just curious if you've seen anybody, maybe this is a little off topic. Have you seen anybody using backdrop in the wild or? Yeah, absolutely. I actually, so I've got two anecdotal bits for you on this. Number one is I definitely see in the DDEF Slack channel. Every now and then, I'm not going to say it's every day. Maybe once every two or three weeks, I see someone asking a question about using backdrop with DDEF. So that's anecdotal number one. And I don't know, number two, which I think is more towards a general backdrop. You said you forgot about DDEF or Lando, or not that. But I think there was recently a, I don't know where I sat. I don't know if I sat on DDEF plan it or if I sat on my Twitter feed. But I think there's actually a backdrop meetup going on, modestly up in the Twin Cities now. So I have client attendance is like up there. Yeah. I mean, I have clients who are still on DDEF 7 who I can't really see them ever moving to DDEF 8, just from, you know, budgetary reasons to be quite frank. I can see the moving to backdrop. So I mean, we're going down rabbit hole. Do you think, do you think there's less cost in moving a site from DDEF 7 to backdrop than to DDEF 8? Yeah, absolutely. I do. Just from, you know, moving the scene over and, you know, just moving the date over more, more portable pieces, more ability to reuse what chart you got. I believe so. I think that's a safe, safe way of saying it. That makes sense. And the clock is ticking. So that is true. So we're moving us back onto on to DDEF here. And this actually is a question about support, right? So on their website says it supports Drupal WordPress type type three and type all the things. I left the left the O out there and backdrop. Are those the only things that it supports? So for example, if I had a jumel aside or I had like an HTML site, or a Laraville, no, there's actually a generic, it supports generic PHP projects as well. Okay. And think of those those think of the projects that support is basically like the first step in a wizard. Yep. Right. You basically tell it what type of project it is. You know, D 67 wordpress whatever. So not to keep, not to keep going down the road, but it's very much, it's similar to the window in that regard where you have, you have recipes, right? I use, I mean, I used the generic PHP recipe. All the time, I don't say all the time, but fairly often for, you know, if I just need a Linux environment to bang on, you know, I was doing some, some FFM peg stuff the other day that I needed to kind of write a script for and make sure something worked. And rather than installing on my Mac, because I knew it was going to be running on EC2 or something. So I'm just spying up one of these and get installed there and play with it there. That way if I do something stupid and kill the, you know, kill the OS, I'm, you know, I'm just killing the container and start over. So, right. And I mean, is it as easy as, you know, adding, adding that requirement to, you know, a settings file somewhere and either restarting your container or rebuilding your container? Yeah. There's, you know, I think lando has what the dot, lando dot Yemmle file. And still, I think, do you have something very similar? There's a dot, do you have a directory inside your project, root, and there's a config dot Yemmle file in there. And I mean, really, after heart, the products are so similar because those two files basically do the same thing. So they're basically just a, a slim down set of Docker configurations. So, so let's, let's talk, let's expand upon that a little bit, right? So, how do you think, how do you think people get started? And this is kind of like maybe an open-ended question. But how do you think people get started with either DDEV or lando or like, what's the, what's the deciding factor there? Is it, oh, we're having Mike come in and do a training. He prefers DDEV. So that's what we're going to roll with. Or is there some, do you think there's some other deciding factor in choosing one of these services? I think sometimes it's on my recommendation or someone else's recommendation. I think that's perfectly fair. I also think sometimes it's people, you know, development teams want to standardize on something. And I also think sometimes, you know, people say, well, we'd like to use Docker. And, you know, I can come in and say, well, you could use Docker, but then your entire team or subset, your team is going to have to learn this, this, and this. Or we could move to something like land or DDEV, which is Docker at its heart. And if someone wants to go full in on Docker and get into the weeds, you know, get it spun up in DDEV or lando. And then dude need to do in your Docker composer or tweak it however you want to. I think I answered your questions somewhere in there. Yeah, I mean, it's like I said, it's an open-ended question. It's kind of a hard one to say like, no, this is why people pick this over that or or vice versa. So, you know, I think the other thing that I think is going to become a much bigger deal in the path in the next. not the past, the time machine or something. All of a sudden, let's say in 2019, is DDAV actually has a UI. That's in ADA or Alphan, you're not even sure where it is. But it's the beginning of a UI. And if you remember kind of the original Calibox UI, something very similar to that. And that's available. You go to GitHub and download that. It allows you to start and stop projects and do a few other things. It doesn't give you the full DDAV command set yet through the UI. But it's getting better with every release. And I think for folks who-- if you think of this as a different-- obviously, there's different kinds of developers. If you're kind of like a full-on, full-stack developer, you're probably comfortable with the command line. You're probably going to be interfacing with DDAV through the command line. But I've worked with larger organizations who they have like testers who need to spend up local environments who aren't super good on the command line. And if you can give them a UI to basically hit a button and pull that project down and proof there it is on your local, I think that's a pretty big deal. I agree. I think it's a very interesting look on it. As you were talking, I was thinking back to the old days of like Drupal versus WordPress, right? Where like, you know, if you were a designer or interested in like UI and like the touchy-feely stuff, you were probably going more toward in the WordPress direction. But if you were like, oh, I'm just going to code the heck out of this, you were probably leaning on Drupal a little bit. It's kind of like the same sort of thing. You know, I don't know what's in the roadmap for Lando. I don't know if a UI is coming down the road in the future. But like, it doesn't seem like that something that they're overly concerned about. So that's pretty interesting that you know, Ddev's going to kind of put out a UI and essentially make itself a little bit more accessible to a set of folks that might be more of the touchy-feely kind of UI, UI needing folks. So Mike, you're commitment to Ddev has taken you to writing a book. Yeah, so I should just to just keep everything completely on the level. So I do have a after the blog post came out. I want to make that very clear. The folks at Drup contacted me and asked me to do some training for them. So I do do monthly two hour online workshops for them. But can you clarify for them like for Drup or for the public? No, I'm sorry. Yes, thank you very much. So they're public online workshops. And the business arrangement is basically that the drug folks can send folks to that workshop. And basically, I will get paid for everyone that they send to the workshop. So I want to be completely open about that. The book on the other hand is something that I have been thinking about writing a book for a long time, because I write a lot of curriculum. I write a lot of curriculum. And I've often thought, I've got hundreds of pages of curriculum for my long form class. And in the back of my mind, I wonder if I should put this out as a book. But there's so many quality, droople books out there, as well as just really good online resources. So when I was writing the D-dev curriculum, which is also part of my long form curriculum, because that's one of the things I teach, I kind of wrote it saying, OK, this is the thing. It's good. It's standalone. It doesn't have to be droople centric. I'm going to write this in a way that I can convert this into a book fairly easily. And that's basically what I did. So I've been teaching D-dev for close to a year, at that point. I taught it to two of my long form classes. I taught it full day classes at droople camps around the country. I taught this to our workshop. So I knew my curriculum worked, and it was solid. So basically what I did was I took that, and I expanded that into a book, which is available now at Amazon called Local Development Explained, or Local Development with D-dev. Explained it. Did the D-dev in there. I partnered with Steve Burge from OS Trading. He's-- so it's kind of self-published, but it's through their self-publishing company. And I'm actually-- the first release of the book was maybe a month ago, two months ago. I'd have to go back and look. But I'm actually working on the second edition or second version of the book where I'm actually adding WordPress chapters to it. Examples on getting a site up and running, and getting a WordPress site up and running. And using-- there's a great-- kind of a kin to the D-dev all project, Composer Template, that we have for Drupal 8. There's something called Bedrock for WordPress, which is a Composer Template for WordPress. So I'm going to do an example on that as well. And D-dev gets a new release every month. So I think the book is based on 1.2 of D-dev, and we're on 1.4 right now. So I've already updated the book to 1.4 with a couple of new commands and some clarifications. And my goal is to get the version two of the book out sometime in January. OK, so when you say that a new version comes out every month, do you mean like a minor version? 1.2, 1.3, 1.4? Yeah, just about bug fixes. Oh, OK. No, no, there's new features. No, no, no, let me talk about one of the new features, because I think it's really cool. There's now a D-dev Composer command, which basically-- it passes the Composer command to the proper container. It does have one kind of cool, nice little feature, where if you don't have Composer installed on your hostOS, and you want to start a project with Composer command, you're kind of in a chicken-in-the-egg situation. You don't have Composer. But D-dev comes with Composer, so you have to spin up a D-dev project and then run Composer. But then you have to go back and change configuration of that project. And so it was a little bit hairy there. So there's now a D-dev Composer Create command, which is very similar to the Create Project command. But it allows you to kind of run any Create Project command directly inside the container in kind of a very slick way. So create your containers once, run that command, and you've got your new project ready to go. So I've gone through the book. I'm probably three quarters of the way through. So I highly recommend it. This is the way I love to learn new things because someone gave me a book that takes me step by step. And I just kind of sit and go through it in my spare time. And it's very well done, Mike. Well, thank you. That's very kind of-- Yeah, I really-- I've been teaching for a long time, so I've learned a lot. Like I look back when I first started teaching Drupal stuff, and I almost cringe. And I'm sure in five years from now, I'm going to look back today and go, oh, what the hell are you doing then? Yeah, I think when you stop looking back in cringing at a couple of years ago, then I would take a good long look at what you're doing. Yeah, I really wanted to make sure that the examples that I taught in the book are real world examples. I mean, there's stuff in there I take you through adding a solar container to both D7 and D8, and all the settings you need for that. And honestly, once you see it, it's like a five minute task. It's crazy how easy it is to work with solar on DDEV. I take you through-- so here's a super common pain point. When you're working on a team and you're new to a team or you bring on a new team member, and the first task for that team member is get the site up and running locally. And I mean, that can be a day-as-long process for some people. So that's really the core of the book, is this example about, I have this site out on GitHub, just this dummy DDEV demo site out on GitHub, and I take you through, how do you clone that? How do you import the database? How do you do all that locally? And if I were just to run through the steps, it's, again, probably like a five minute task. But understanding what's happening in each step is so important for people to see, and then to do, and then to get the confidence with. And really, it's all about just having confidence with commands at DDEV that DDEV gives you. So there's a couple of ways to buy the book, right? Yeah, I would recommend getting the digital copy. It's $5.99 right now. Dirt cheap. And when you say digital copy, you mean from Amazon? From Amazon. Yeah, go to Amazon. It's a kind of-- It's a five-time. Yeah, you can get a kind of version. It's my understanding, and again, we don't have any releases out yet, but when I'm any second edition or third edition, when the new edition comes out, you'll automatically be able to download, get the new version. That was going to be my next question. Yeah, that was kind of-- that's why I went with OS training as the publisher, because it was real important to me that I had control over when I was able to release new updates. And the fact that I want people who bought a digital copy to get the updates automatically for free. But I'm not going to be buying a Ferrari based on this book. I just wanted to get into as many hands as possible. and I look at the book a lot like I look at giving you a training and a droop of it. It's marketing for my other classes. So tell us before we wrap up today, why don't you tell us about some of the other things you have going on. Someone wants training from you, maybe a little bit about your podcast, everything else that's Mike. Oh boy, I'll limit it. So I'll talk about the training real quick. I'm just because I'm super proud of it. I've been doing it for I don't know how many years. I think six or seven years now this long form. It's called the Drupal Career Online Program. It's three half days a week for 12 weeks. I think the semester that starts, our next semester starts February 25th. I think it'll be our 13th or our 14th semester of doing it. Classes are generally eight people or less. I taught a class of nine once. I thought I was going to lose my mind. It's extremely high touch. Very hands on all online. It's basically me using zoom and you see my head in a box and it's really cool because I didn't think I'd warm up to online teaching the way I feel about in-person training. But the one huge advantage of online training is the fact that at any point in class I can throw one of the students screens up for everybody else to see. And you know unless you run around along VGA cord or something in a classroom, that's a little bit harder to do. So it really helps students to see when someone else is struggling. And it helps me because a lot of times I'll teach but I'll be using a student screen so that I'm not teaching too fast or too slow because I'm teaching as quickly as a student can follow the steps. So that's Drupal Career Online. I do private trainings and go to Drupalys.com. I do something called project coaching, all the stuff's on Drupalys.com but I'm not going to do all of that. When you do those intensive trainings, are you recording those sessions as well? There is. Yeah, I call it holistic training. So what I call it, if anyone does, is use that term when it comes to technical training. But I provide the in-person, not the in-person, but the live instructor training. I record every class. I also provide kind of produced screencasts, kind of like Drupalys.me, or build a module-style screencast on specific parts of the lesson. I provide PDFs and these are the things I was telling you earlier about that. I was thinking about writing a book out of one week of class. Might have like a 40-50 page PDF. There's also lab hours. For hours a week, I make myself available in a Zoom room for students to come and just ask questions and work on homework and or just say, tell me more about this thing that we learned. I want to know more about it. So it's kind of like college office hours. So the way I look at is however students learn best, I want to be able to provide that mode of teaching to them in this class. I mean, it's not a cheap class. It's $3,400. So I want to make sure people, you know, get their money's worth out of it. Very good. And and your podcast is Drupal easy. Yeah, Drupal, you guys are catching up. I think we're I just recorded or 213 or 214. We're on. We're going to read that. Read on your tail. I got to get my I got to yeah, I took a few months break there. I just got swamp. I had the class going on. It's in client work. But we just released an episode a couple of weeks ago. The commerce guys were actually in in Florida. So I actually went and had to head a meal with them and we sat down live in person recording episode. I just recorded another one with one of my co-hosts, Ted Bowman, all about, you know, he works at Aquian, he's been working on the new layout builder stuff, which is really exciting. That's the next one to be released. And so hopefully back on the twice a month's podcast train. That great. So Mike, if anyone wants to track you down, do some training, buy a book. Where's the best place to? Is there a canonical location for you? Well, Drupal easy.com is probably, you know, for for all things, you know, Drupal easy training and book and stuff like that. That's probably the best bet. For me, personally, Ultimike, you know, my username is Ultimike pretty much everywhere. You know, Twitter and Drupal.org and some other places as well. And one thing I wanted to mention is that the price of the book is currently 599. Yes, but yes. But it might be, we might bump it up with version two when I add the after I finish out in the WordPress chapters. I'm not sure. Like I said, I'm not, I'm not looking to make a fortune off the book. So, so a great Christmas gift for someone in the Drupal world that you know, buy the digital copy. Save yourself a few bucks. Yeah, buy the digital copy. And buy it before it goes up and then you'll get all the releases for free. Absolutely. I mean, save yourself the hassle by everybody on your Christmas list. The book. Yes. Yeah. Yeah. Everybody gets your whole team. Yeah. Show my family would love that. Oh, they would love it. Yes. I'm giving one to my mom and dad. Of course. Are they getting the digital copy? No, I actually have a, I actually, I'm gonna call my mom every night and ask her. Quizzaron questions. Hey, can I mention Florida Drupal count? Oh, absolutely. Yeah. So, present day weekend. So, February 15th, 16th and 17th in beautiful, sunny Orlando, Florida. You know, it's our 11th year. And I mean, we've got a good recipe, Kellan. We've got a bunch of, you know, great folks who are coming in. We have, we have, we have, we've got four featured speakers. We've announced three of them. Joe Szynler from Drupalize.me, Drudon Affung, and oh my gosh, who is the fourth one? I am the worst, I am the worst person ever. It's Haysus. Okay. Haysus, the Olivia asks from a Drupal console. And, yeah, of course, Haysus. So, it's not really a tough cell for people in the New England area to want to go to Florida in February. There's a reason to do it. And then also where, you said Orlando, but is it at a hotel, at a college, at a, no, we actually do it. We've had a great venue partner for the past, I mean, five, six years now, it's at a place called Florida Technical College. It's not super close to the the touristy parts of Orlando. There's a couple of hotels right down the street that we partner with. It's actually near UCF. So, if anybody watches college football, you know, UCF, it's literally down the street from UCF, right? The UCF neighborhood. And we get the run of the place. We get the run of the building. We've got, I would still argue, we have the best Drupal camp lunch anywhere. We've got a great food vendor that we've worked with for four or five years that, you know, everyone, everyone loves our lunch tacos. So, so this is sounding like a win. You can go to Florida where it's warm and you don't have to be near like Disney or Universal or any of those places. And you can get a great lunch. So, and learn about Drupal. I mean, it's, it's like a win, win, win, win. What's not to love? And sessions are open. Registration's open. Early registration is 50 bucks. Okay. And session proposals are open. And yeah, we, well, I'll give you a little bit of an exclusive. We just landed a platinum sponsor, which we don't always land a platinum sponsor every year. And that's actually going to be our fourth feature speaker as well. And, you know, platinum sponsors aren't, sponsorships aren't cheap. And it normally enables us to have a really good Saturday night party. And so, we are in the process, myself and Mike Herschel from the Lullabot or the Drupalize.me podcast. I think it's called Now Mike's a good friend of mine and also a Floridian. And Kyle Hall, three of us are the main organizers. We are just this week. We have been figuring out and making sure we can afford the party that we want. And we think it's, we really pride ourselves for the, in the camp. We want to have a fun camp. Right. We want people to come and show up smiling and leave smiling and learn stuff and make it very amenable to networking and kind of growing the community. And for us, that just means be able to fun things. So we think how many people attend? Somewhere between 200 and 250 for the past three or so spend our number somewhere to 20 to 30 to 40, depending on the day. Yeah, that's a good says. All right. Well, Mike, thanks for joining us. Thank you guys. Great to have you on. Schedule again in another three years. Maybe it'll be a little sooner next time. Yeah, you know, we were talking, I think before the restart recording, does Connecticut still have a camp? Actually, it was during the recording. Does Connecticut camp still happen? It doesn't, it has not happened in the last three years or so. I think we created the New England Drupal camp as a way because Connecticut was not regular and New Hampshire wasn't regular. So the New England Drupal camp started five years ago and it's kind of settled that down a little bit. Yeah, I tried to get up there. I tried to get up to that camp this year and I wasn't able to, but 2019, that's definitely on the short list of camps that I'm really going to be trying to attend. All right. I'm going to be adding it to the mailing list. Yeah, definitely added to the mailing list. I've just committed to mid-camp. So that's the first other than Florida Drupal Camp, I'll be doing mid camp in 2018, which I've never been to mid camp. But yeah, New England Drupal Camp is definitely something I'd like to get up and just kind of experienced. Great. Okay. John Pocosi, how can people track you down online? You could track me down on all social networks at John Pocosi and you can check out more about oomph@ oomphank.com. We're hiring. So feel free to check out our openings and submit your resumes. Fantastic. How about you, Nick? You can find me online at Nick's van and I see XVA and pretty much everywhere. And we didn't forget to introduce Nick at the beginning. He snuck in while the show was going on for those keeping track. So welcome. I was taken care of a client site was down. That's not good. So it was a little bit late. So are those we have the video on you have like all those Lego town sets behind you. Don't you, Nick? Yeah. I think they're called city Lego city, but no module, the modular buildings. Yeah. They're, they're pretty cool. There's some of the, I think my dad has every single one of them. I've got all but two, the two, the two original ones are about 1500 bucks right now. So what is the original one? What is my dad? One was the green grocer and I'm forgetting the other one. But when I was, I was visiting my in-laws in Columbia, they actually had two of the really old ones that retail. So they were like, you know, a couple, I think maybe 200 bucks, but up here, they're like, they're like 1200. So I picked those up empty. I just who case. Got them up here. But yeah, I've been, I've been collecting this. So since we're talking about backgrounds, Mike, what's your favorite comic book character? Well, I've been eyeballing you think it's a Star Wars lunch box. Is that what that is up there? That is. Yeah. Well, yeah. So to answer John's question, I'm a big Batman fan like that's another light. And I know our listeners won't be able to see it, but there are quite a few Batman action figures in Mike's background. Also, I think is that a stack of comic books or a stack of net magazines? Close. So it's actually wired magazine. Oh, okay. That was going to be my third guess. I have. I don't have every issue of wire. I started my subscription sometime their first year. So I'm missing the first five or so, but I have a closet. That my wife is very kind to me because this is like the one unreasonable thing that I can't get rid of, even though I should get rid of because I'm never going to read them. I have boxes and boxes of wires. So this is these are just from I even know what year. They're probably four years worth of water. Are they holding the shelf above? No, no, I actually have four of them. Here's some more that the next stack is already started. Okay. So I feel here, I feel your pain. I have the same problem with with net magazine. And if you were looking for a good way to to lessen your your collection, usually local libraries will take those, take those off your hands. I have given the actually my kids elementary school. They've got a great STEM teacher. And I routinely give her I get make magazine as well. Yeah, cool. So at the end of every year, I'll give her the previous version, previous years issues of make, but I can't for some reason. And it's completely unreasonable. I have not been able to separate myself from not only does Mike have the time to do a podcast, run all of these trainings, write a book, and organize a local camp, but he also has time to read two magazines. Well, okay, so amazing. Sort of. I make usually falls behind. But I have to actually take my daughter to the emergency room last night. We thought her she broke her finger playing soccer, but it wasn't broken. But I actually I said, well, I'm going to the emergency room. I'm going to be bored. I'm taking a copy of water. There you go. And I got through about three quarters. I reserve the magazine time for like flights, usually flights are good times to catch up on magazines. So I will. And John, you asked, it is a Star Wars launch box, by the way. All most of the bad. I think most are all of the Batman are from my kids at Christmas, but that's their go to give for me some Batman related. Makes sense. Yeah. How about I know? No, so I know this is the show. If they listen to the show, they know to give you the first five. Yeah. Wires and magazine issues. I know there's a podcast, but this just speaks to the quality swag that we have at Florida. Oh, geez. Yeah, that's that's a droopal sock puppet, right? They're a droopal can sock puppet. Yes. Pretty cool. It's on my it's on my shelf of all my, my little drifts over there. All right. Well, that will be the end of this show. Thanks, everyone. I'm Stephen Cross at Stephen Cross on Twitter and talk to everyone soon. Take care. Have a go. Thanks, everybody.

Podcast Summary

Key Points:

  1. The episode is a discussion on local web development tools for Drupal, focusing on DDEV, Lando, and Docksal.
  2. Mike Anello shares his journey of evaluating these Docker-based solutions, ultimately choosing DDEV for its flexibility, development pace, and support ecosystem.
  3. Key features of DDEV highlighted include project-specific configurations, database snapshots, and its suitability for both client work and training.
  4. The conversation compares DDEV with Lando, noting differences in DNS handling, container availability, and workflow preferences.
  5. DDEV is developed by drud technology with community contributions and strong company-backed support.

Summary:

In this episode of Talking Drupal, hosts Stephen Cross and John Pocosi welcome Mike Anello to discuss local web development tools. Mike explains his year-long evaluation of Docker-based solutions like Docksal, Lando, and DDEV, ultimately standardizing on DDEV for its professional relevance and teaching suitability. , Apache, Nginx) and praises features like database snapshots, which allow developers to preserve and restore database states easily.

The discussion contrasts DDEV with Lando, noting Lando's broader container library and built-in DNS setup, while Mike prefers DDEV's workflow of pushing to dev environments rather than exposing local sites. The episode also touches on DDEV's development by drud technology, its responsive support, and community contributions. Mike remains open-minded about using other tools for training if needed, but advocates for Docker-based solutions over older options like Dev Desktop for modern Drupal development.

FAQs

DDEV is a Docker wrapper tool for local web development, similar to Lando and Docksal. It simplifies setting up Drupal, WordPress, or other sites by automating container configuration. Key benefits include flexible project-specific setups, database snapshot features, and strong support from its company, DRUD Technology.

Mike chose DDEV because it aligns with professional workflows, offering flexibility for different project needs (e.g., Apache, Nginx) and is suitable for teaching. He values its development pace, support options, and features like database snapshots, making it ideal for both training and real-world use.

DDEV stores databases as Docker volumes, allowing containers to be removed while preserving data. It also includes a snapshot feature to save database states, useful for tasks like migrations. Snapshots are stored in a hidden directory and can be restored easily via commands like 'ddev snapshot' and 'ddev restore snapshot'.

Both are Docker wrappers, but DDEV focuses on exposing control through its interface while minimizing direct Docker interaction. Lando offers more pre-built containers and features like LNDO.site for external access. DDEV emphasizes database snapshots and has strong company-backed support, whereas Lando provides broader container options.

DDEV is developed by DRUD Technology, with team members from the Drupal community like Kevin Bridges and Randy Fay. It is open to community contributions on GitHub, with the company being receptive to suggestions and feedback, integrating many user ideas into the tool.

DDEV generally requires an internet connection only for initial Docker container setup. Unlike some tools that rely on external DNS (e.g., Lando's LNDO.site), DDEV does not mandate online access for daily use, making it more flexible for offline development environments.

Chat with AI

Loading...

Pro features

Go deeper with this episode

Unlock creator-grade tools that turn any transcript into show notes and subtitle files.