 Hello everybody, it's 1045 so I'm going to get started on time But as people meandering and I'm going to be the only important part which is to introduce myself So I'm John Kennedy Twitter. I'm commerce John feel free to tweet the hell out of presentation Just for my benefit I'm a product director at aquia. I've been in Drupal just over 10 years and She didn't see me earlier. I was waving my cowboy hat around the pre note everyone should come to pre note It's early, but fun And I've actually been I've had my own Drupal shop, you know, I've worked for other Drupal startups and I've Long time ago developed modules and developed lots of sites and sold Drupal a ton actually And you know, the local development experience is really important in all of those situations and I use a variety of local development tools today so So I'm going to go through the top eight considerations for choosing a local development environment But the the kind of the theme of this is that what I think is most important, especially for teams is Composability and encapsulation and we'll kind of get into that So this is not a demo. I have done plenty of demos But I am not going to show you install processes for local development environments. You can do that There's plenty of documentation for this for the products that I'm going to talk about But if you really want a demo then I have plenty of them here and you can ask me questions and find me later And I can show you, you know, Lando and Dev desktop and a whole range of other things So what I'm really going to dive into here and I hope this is the value you get is what questions should I ask when choosing a local development environment as a tech lead Because this is actually quite a different requirement I'm going to talk about plenty of local development environments You know plenty of products that suit, you know a variety of different people But I think this is one of the really kind of key pieces of value you can get here You know probably a lot of you in the room are tech leads and those who aren't will probably be if you're a developer You'll probably be this at one point in your career and booting up your team on a standard local development environment is challenging And very beneficial if you get it right, so I hope this is what it's kind of one of the key things you get out of this talk I want to say thanks to Jeff Beaman and Chris Urban because recently they ran the Drupal local development survey and That you know, they got seven on a 89 responses and that really measured a whole range of metrics around usage of local development environments and You should check that out. I haven't got a link here, but it's really easy to find And you know, that's a wealth of information on what people use now So that's that's really interesting So here are the top eight considerations. It was on the it was it was in the the talk notes So, you know, maybe you know these already, but I'm going to go through architecture command line tool support Composability of environments configure ability of tests support for other runtimes tool sets Tool set versus application open sourciness popularity and options for commercial support These are the things that I think are most important for choosing local development environments So let's talk about architectures to begin with and actually the whole talk is going to Center on the idea that there are these different architectures. You can take different Categories of local development experience. We're actually going to go through all of the other questions with the architecture in mind So this is kind of the keystone of my presentation is explaining what I mean when I talk about architectures so It's really five as I see it There's Docker just like straight Docker. I've installed Docker and then I use no Docker compose files I use a whole range of other configuration mechanisms for Docker and there's Docker plus so someone Really awesome has built me something on top of Docker that makes Docker a lot easier And we have plenty of these in the community Lando D dev doxel out rigger Then there's a native stack and that means there is some kind of Install you know installable program that will run all of these things for me on my on my machine They're probably running natively so they're running, you know PHP isn't is if you're on Windows is an XC or you know is basically an executable So is my SQL the whole lamp stack is there running native on my speed machine And someone else has managed that install process. It could be manp or a creative desktop There's native DIY I And this is when someone goes and actually uses if you're on Mac uses something like brew If you're on Ubuntu you have get to install all of these individually then VMs You know virtual machines. There's a few examples triple VM virtual box, etc So we're gonna kind of view all of these considerations through the lens of these architectures so just to kind of get a little clarification on one of the One, you know, I'm sure most of people in the room know this but kind of the the big difference between Docker and VM is about where the Where the separation lies or where the encapsulation lies and I'll hop on a cap encapsulation I think a encapsulation is great But I think Docker is actually has actually done a better job of this and what what Docker Is is a much lighter way. I Thank you a minute ago. But anyway so Dock is a much lighter way to encapsulate these environments and and actually What what happens with VMs if you have many of them running is they tend to be very heavy on your machine in terms of memory so RAM and also storage space Versus Docker, which you know, it's like it's got one VM running and then a lot of these environments on top that can be homogenous And that means you can have a lot a lot of a lot of things running at once This is really made Docker the ubiquitous installer for for open source and the way I think of it is, you know, if you're Installing things in the early 2000s or 90s You would have probably you're on Windows and probably use the Windows installer You know every every piece of software had a Windows installer now every piece of open source software has a Docker You know a Docker file and this is actually It's kind of is a measure of the success of Docker and the success of its architecture So actually The tech lead for a lightning the Drupal team at Acre Adam Balsam Talked to me about some of the reasons he doesn't like Docker and he actually uses a native stack So I thought this is worth kind of giving the comparison But getting into the machine to do a task running command line commands Running builds, so, you know, I'm using a using composer to do a build running tests Whether you using be hard or something like that's the file system performance and the file system permissions And I think actually Docker plus fixes a lot of these But you know, I went out and talked to plenty of people about this and this is kind of Typical Docker issues. I've heard in the past that I think if you're still talking about these things You should have a look at some of the the kind of Docker plus tools out there So other Docker issues with Windows You want to be on the latest version of The docker native for Windows, but that really only runs on Windows 10 pro sad face because Because it has hyper V and hyper V is technology that means you can speed up a virtualization. It's really awesome And that's how now you can kind of run a boom to in a whole range of other OSes on top of Windows What used to be there was Docker toolbox, which is legacy and terrible and slow and blur But you can only run this if you have Windows 10 probe pro The good news is that Windows 10. It's just surpassed Windows 7 in market share So most of you hopefully will be using Windows 10 and you know If you're a professional developer, hopefully Windows 10 pro and the better news is that not many people use Windows anymore. Yay So this came from the local dev survey and this is this is, you know Heavily biased towards Drupalist obviously because those guys, you know, they they Know Drupalists, but within Drupal. This is probably what we use a pretty good representation. So Yeah So docker plus Just the summary is out. I see it it does the things that docker does which is standardized environments and tooling across multiple OSes It encapsulates multiple configurations new machine But it also does these other things on top of docker, which is it stores higher level configuration in a version controlled file This is brilliant. I'll talk about this a little bit later It's easily customized and extendable and it works almost out of the box Actually, when Drew today was showing in his keynote, you know, the tons of steps the Lando team very cleverly tweeted out Hey, guess what? It's one click if you do it on Lando and that's true Actually, it's pretty easy to install Lando, you know as an installer type one command have a Drupal So if you haven't checked that out check it out So I'm going to talk about command line tools and now more than ever There are a ton of command line tools that you want to use with Drupal that have just become necessity Here are some of the logos. Here's some of the details So Drush 9 Drupal console, there's a lot of crossover there But still kind of drush is more a sysadmini type CLI and Drupal console is more focused on developers And then there's composer which now you pretty much have to use with Drupal 8 to do to run builds to bring in external libraries PHP unit for for unit testing and then be hat behavioral testing goes down the line Actually, if no one has heard of thing in row go, that's okay But if you are building a distribution or you're building a Drupal product, these are really useful tools for automation, you know, obviously Java JavaScript is becoming more and more a part of of Drupal and as we do things like bring react components into the admin theme You know probably npm is going to become a lot more important Gold brunt for the front-end people here. I'm not one of you, but I've heard these are important And BLT BLT I put here as a placeholder because I know about it But pretty much every every kind of cloud provider has their own CLI tool BLT is the good one for aquia And it actually it does build launch and test which means it will run your Drupal build. It'll you know Do a whole bunch of stuff. I'm gonna not do this justice, but find that guy later. Anyway So here's our score our scorecard So ease of CLI tool execution Docker is pretty good. I can run a command in a docking container with one line There are some foibles, but it works pretty well Docker plus is awesome and the reason is that you can actually encapsulate some configuration against those CLI tools within that Abstracted configuration file. So, you know, if I go into Lando, I can actually, you know, put in configurations for drash and things like this native stack is horrible because if I'm using map Then I've got then it kind of breaks my whole process because I've had this easy install for my double clicky Installie thing and then I have to go and install a command line tool Which gets really complicated and there's versions of that. I've got to maintain it. It's horrible Do I native is okay if you're doing a brew install on Mac OS then, you know Brew install drash is also pretty easy and it'll run But you've still got to maintain it yourself and there's no encapsulation. It just runs kind of on your machine So it's okay and VMs similar deal environment configuration and testing More and more important really important in a team So how long and these this is where we get to the questions So as I said the value before the value here They're big value is if you're a tech lead and you want to know the questions to ask Because these could lead to different answers, you know, I'm not I like I like docker plus, you know So I like and I particularly been using Lando a lot. It's been pretty awesome But there are other other better options if you're you know depending on a team And these are the questions to ask so how long does it take for a developer to be on board? It is a big one, you know, if a developer sits down tomorrow and they're a Drupalist How long does it take to get my environments? They're going to be working on maybe there's multiple projects if I'm an agency, you know If I'm a Drupal corporate user, maybe there's you know, a secure environment or compliance around it You know, I've got to get them productive Does it is it going to work easily with the IDE, you know Do I have access to those files that are within that virtual machine? Can I Access the code base is it all going to work together? Can I match versions of surfaces with what I have in the cloud? Can I easily configure something like solar, you know with a with a solar configuration file so that it matches what I've got in my Production environment that can be really hard And can I write configurations in code and commit to get so that that configuration file for Drupal, you know With the kind of environment set up and everything is just accessible with a get pull These are really important questions So this is this how I want to illustrate the difference between in an abstracted configuration file on the left Lando and Very in the weeds have to be a sit. Well probably want to be a systems administrator to configure it Configuration file for vagrant on the right so vagrant is an excellent system. There are lots of good reasons to use it But Lando does a great job of abstracting all of the mess of configuring And it's it's a it's a you know, it's running a docker and not in and not as a VM is you know, not on Virtual boxes vagrant is but it's just a really good comparison to understand that the configuration files for For Lando and D dev and other kind of docker-plus solutions tend to abstract a lot of the mess So you can configure solar easily you can figure, you know, a whole range of you know, PHP etc really easily within within the Configuration file and this is what I've called composability so I can compose my environment easily Share it with my team have everyone on boarded all to that in a you know in a source-controlled manner So I can have versions of my environments So does your team care about testing Everyone you know should be doing everyone should be doing automated testing and in a perfect world We'll also have a ton of behavioral tests. Not everyone does this, but When you do run tests, they tend to be you know, really critical that you can run them easily And if they're not easy to run then people don't run them, which is really defeats the purpose So can I run my be hat test? Can I run my PHP unit tests within an environment? It's actually really critical to your team. You want them running your tests and building tests easily So it's important to ask these questions. Is it important for an everyday dev to run tests? How valid are my local tests today? Are they actually going to test for validity validity in my production environment? Can I test the other services that are being used in my production environment like solar etc? Yeah, and can I integrate that with my build pipeline? So scorecard Configuration and testing doc is pretty good doc plus is amazing The native stack like map is pretty horrible for trying to share configurations Probably the tech lead has to walk around to your desk Similarly with do yourself native Tech lead probably has to walk around to your desk Which is a challenge, you know You could have the the team members just kind of setting this up on their own and having a go and using their versions of PHP and doing All of this but you can end up in some pretty bad places down the track when they've run tests And they're not valid or valid that they're not valid in production or the rest of the team has trouble Collaborating VMs are pretty good at this as well because you can have a configuration file for them So run times other than PHP and Drupal now there's a lot of talks going on here about Should Drupal be a backend, you know, what if I want to run an angular or react front-end and Maybe you have a non-standard backend that Drupal relies on you can think of solar as a backend But there's a whole range of custom Services that companies build that are integrated with Drupal, you know that you might need to test for in your environment So these become really important questions Do I need to boot up some kind of parallel environment that is going to run node So that I can actually show my whole application running in one place And so that's that's pretty important considerations And you know and beyond that In that environment, so if I'm thinking about node what protections do I have against dependency conflicts? How will I update it? Can I run npm in that environment as well? Can I snapshot the state of that non-Drupal environment? Can I bring these services up quickly as in kind of can I turn them on quickly? How easy do they install? How do I configure versions? The the scorecard is Let me see there we go scorecard is pretty Self-explanatory if you're doing this on a native stack, it's not impossible You never to have like a double-click install from MEP and there's going to be no kind of good corresponding double-click install for npm You can do it with brew do it yourself and You know, but it gets messy and the problem with VMs here is that People end up using multiple VMs for this and you have a really heavy system So especially if you start doing multiple projects and then I've got multiple Drupals and nodes running and they're all VMs. It gets really heavy on my machine Even with a really kind of fast machine, but Docker and Docker plus thought this out pretty well You know you can run just with Docker native. You can run lots of, you know, Docker containers pretty easily and Docker plus as well well Does it well as well? Okay out of the box in case you didn't know this acronym. I think pretty much everyone does Number five So this is really important think about for your site builders or maybe your front-end devs who aren't kind of in the in the development code Maybe team members that are onboarding or new or junior. Is there a UI? You know, can I can I see my environments? This gets really important to if you have lots of projects running It's good to be able to see all of your environments where that's because you're building multiple projects So you're demoing or you know, there's a range of use cases where you guys become pretty good Is there an installer so I can just download something double click on it? Cloud synchronization is big. So for instance, Lando was published I think now documentation for all three big clouds whether you're on Acquire or Pantheon or platform SH. It's a pretty easy way to synchronize Lando with your cloud environments, which is pretty amazing. Thank you to that team And then CLI tools they come with the CLI tools is in do they package up drush or they package up? Drupal console or composer or one of these So it depends because early on it feels like a native stack like man Is you can actually probably was in the trees node even you know There was an in someone installing with map that trees was showing and only on it feels pretty good like early on I can install it gets up and running pretty quickly. I can see my environments. That's pretty great but if you start to need multiple environments This and you need to update versions of PHP or other other systems. It gets hard and actually the kind of process to To keep up to date with all of those CLI tools and you know all of the other things you need becomes a lot easier easier With Docker plus because that kind of that system will maintain all of your containers that do all the things that you need And it becomes just kind of one command for a lot of the updates open sourcing us so This is an interesting one I think the reason you want your local Dev environment to be particularly open saucy is because then you can potentially extend it You can potentially contribute to it if there's bugs that you particularly need solved You know it may not be tied to a cloud bender then so if you're an agency and you need to go out and have Environments on all three clouds. It's gonna be easy to work with all of them and will it persist. This is a big one If there's proprietary, you know local Dev software they may not put versions out very frequently. They may miss versions of PHP They may there's a whole range of issues you can encounter and they may just disappear So I think actually open sourcing us is actually really important so The scorecard here native stacks bad Everything else is fine Pretty much all the tools everywhere else. They're gonna be pretty good. They're gonna be pretty open source But that's one of the big reasons to stay away from native stacks popularity So I read a lot of tweets and a lot of blogs Before I made the first version of this presentation was actually for a Drupal camp in New Jersey I gave this presentation for the first time and there's a lot of people saying things that were not valid any more they were judging architectures on experiences that had years ago and It was kind of ridiculous So it's kind of one of the reasons I put the talk together is because I wanted a an evaluation of them all on a level You know and I tried everything out So it's not always productive to go to Twitter or blogs to kind of understand what is the best environment to use But there is an exception ultimately recently put together a great little blog post and I created a bitly link So that you could copy it down today He's gone for a much more technical evaluation of some local development environments And so that's pretty good other than that it's always useful to look on github not just stars But also activity and the issue queue responsiveness of contributors To see to see how quickly they respond to issues How many people in the room have been using Drupal for under a year? Okay, right that's somewhat corresponds to the survey and you know There's lots of community knowledge That takes a while in Drupal at the moment to kind of tweak on to it's like how to use Drupal dot all properly how we work out Where the modules there are mature similarly with local development environments, you know, I would say that It's good to evaluate all these factors And you know, I hope this presentation gives you a leg up But it's really worth talking to your peers and talking to everyone here because everyone has a different experience with with local development environments and That's a good way. I mean popularity is important because it means that once again the solution will persist and You know probably gets updates quickly So these are good some good ways to judge that but also talk to your peers here, especially if you're new in Drupal So this is what the survey says at the moment. We have a ton of people using Drupal vn and that's great excellent solution and It it, you know, is a really great out-of-the-box Drupal environment I can turn this on and it will run my Drupal, which is brilliant I think that of all the solutions out of the box if you just want a really simple one instead of going to Map or something like that. I would suggest just really simple solution vm is Drupal vm is great It's worth having it's worth checking it out And that's why it's so popular And then you can kind of see down the line Custom Docker is pretty big as well land. I've just got a lot of traction NAMP has great traction. I think what we'll see is a migration into Into Docker plus and you know still persisting with Drupal vm going forward It's really interesting to see what people are using now as I said once again This survey is quite bias because the set of people that would have answered it Probably advanced Drupal devs in that little community, but it's kind of it shows you the way forward There's those guys using it then then, you know, it's probably they're probably onto the right thing commercial support so There are situations large large large companies may need Support for compliance and security reasons This becomes really important if you have big offshore teams of projects with companies that require Compliance and security could be in health care or government or other sectors And so it can be really important to get quick answers to questions quick bug fixes And also kind of some assurance around the security And this is often provided by a cloud vendor But what you may not all know is that? Lando and other teams will do this as well if you go to them You know have a chat if you're a big corporate user of Drupal they can actually provide you With a support contract they'll do that They'll be on the line for you and kind of you know via chat And this is really useful to get over some hurdles when you're worrying about is you know is my Development environment is going to be used by maybe hundreds of developers going to be able to be supported So report card on that doc is not great at this There's no kind of sense It's it's hard to get support around it because Docker is the general use case so getting support for Drupal on Docker is not really a thing and You know do yourself native Not so much either because you know brew once again, it's everything. It's not just Drupal So getting Drupal support for that. I think you know Drupal VM Jeff's really responsive But it's not commercial support So really what you left with is going with something like aqua dev desktop. It's a native stack or Doc plus environment because a lot of these companies as I said before will actually support it for you Bonus round and then you know, I'll talk about a couple of things and we can have some questions so Drupal dev team size this is interesting and the top lines probably you know It's the whole world so look at that first if you're interested in regions It's below that but the top line says that you know, there's a huge chunk of teams that are just one to two people Maybe you don't need Composability and an encapsulation so much if you want to two people Maybe it's not as big deal But if you get to three to five if you're in a team of three to five then onboarding Capsulation composability are massive and beyond that they're just you can't live without it So that's a that's a big kind of plot of Drupal so, you know, if you're in those categories Which probably most people are I think those those things are absolutely critical to keep your onboarding time Low are you consistency high and so you can test etc? So this is one by role You know systems administrators who are used to configuring infrastructure They can use you know all of these pretty well, but they're going to prefer solutions like Docker and Docker plus and VM that feel like a server, you know feel like they can configure it down to the nuts and bolts They don't like native stacks because it's hard to control them Whereas developers Might tend towards, you know using brew or using Using a doc plus it's a little bit faster and easier to get running site builders That's that's where a native stack becomes really a lot easier But you know, I know that the Lando team previously built Calibox for instance They intend to eventually build a UI and other, you know, command line Docker plus tools I think will build a UI as well and as soon as that drops it's going to shift and Even for your site builders. It's just going to be easier to install this kind of UI that's based on top of a Docker Plus stack and then development team leads, you know And this is kind of what I said it's worth coming to this presentation for it's Docker plus all the way Like it's there's just way too many reasons kind of as I've gone through with these these eight Considerations that a team lead should be really getting on to one of those Docker plus solutions. They're brilliant They've had some problems in the past and some bugs But I feel like right now is a great time to try them again if you haven't in the past Comparison by company type. So Drupal agencies dev shops integrators tend to have a lot of Drupal projects, you know, they You know a particular team member might have three running at once But they've probably got, you know 10 they've used in the past couple of years And it might be important to jump back to one of those at some point They're probably homogenous stacks. They've got different technology within them and being able to Still have these on the machine so I can boot them up quickly and spin things down up and have multiple ones running without really weighing My weighing my machine down Is really important for those teams and that's kind of why of Everyone using local dev solutions Docker plus is the absolute best for them because because they're not weighed down by many VMs There's a composability and the encapsulation etc They're kind of accepted to this rule. So for instance Adam Balsam who develops lightning Really likes a native stack and that's really because he's developing something. That's not Drupal sites. He's developing a Drupal plot He's creating something, you know a distribution that will be used to build lots of Drupal sites But he's really thinking about one code base and so it doesn't require a lot of environments to be spun up He's really thinking about one environment. It's pretty easy to manage And then a corporate Drupal team Like the Drupal agency probably has a couple of different experiences, but they also have probably lots of different technologies They need to integrate there and maybe other services in other languages. And so once again, it comes really important for them to use something You know At least Docker or Docker plus to be able to configure and build those services within the same environment So that's about my presentation and I'd like to take questions now. So you have tons and tons of time That was a lot faster than the last time anyway Questions from the audience Yes Yes This one or earlier this this list, right? Yes Yes, okay. This is probably an important one Is that that's like the whole question that was easy? Okay? Thank you next question Some of the emojis They all have emoji every every consideration has emoji Okay Yes Yes Definitely has to do with team size So if you're a little team, you know, you're like one to two people then great I'm gonna install my thing and that's pretty good And you know once again for those who weren't fear for the right for the beginning which is kind of a keystone It's kind of native stack is really an install a like map Versus do it yourself native, which is something like brew on the command line where I'm kind of installing everything manually myself so corporate team Doesn't like the installer because they may have services running so I might have a JavaScript application I might have a back-end service Those are going to be then separate things I have to install and maintain separately And I can't bring that all into an environment and then I and I can't certainly kind of run a branch of an environment and Over here on my machine and see the effect of that code branch in context of all those services You know often corporate environments are homogenous set of services and that's kind of I think the big deal As I said on one of the other slides, it seems easy early on like early on Yeah, I can still something Drupal's running, but that's not really the development process You know getting Drupal to an admin screen is not the development process You know installing modules having branches of my code You know to do updates really easily you kind of do doing hot fixes and having that in this environment that tends to be what the Drupal Development process looks like and that gets really messy with the native stack or DIY native Yes Yeah, so if you If you have a Drupalist and they know their IDE Then you know, I've I've set up Lando, you know in 15 minutes and had people productive If you go one of the other solutions like docker There's a setup time You as a team can have a docker compose file that you run And that can make you pretty productive because then I in my get repo I download it I run kind of You know, I run docker. It brings up all the containers You just have to do more work You're maintaining all of those services and all those versions and knowing what all the containers do So there's some extra work that the team lead has to do to kind of maintain that that doc compose file Onboarding is not onboarding because for a native stack I double click Once again, I have something in 15 minutes But I'm maybe not on boarded to how to do a branched environment or do something that I'm probably gonna have to do in a couple of Weeks so onboarding tends to run then for a long time And it's really kind of been the default option of people to install something like map And the problem is that then onboarding you kind of it just keeps going the questions keep coming You know, how do we do this and you know, so that's So if you're talking about onboarding specifically like to getting Drupal running or are you talking about kind of training? yeah, so If I was going to set up a machine For a developer typical developer. I would have to have an ID I would have to have the PHP environment my SQL environment I maybe have to have solar or search environments mother things running I've probably got to have composer or probably gonna have you know all those CLI tools. I talked about a minute ago One minute ago, I did a good presentation There we are You know all these tools installed on that machine so maybe as Maybe as a shop or a corporate I put together some kind of build script for this But I'm just here to tell you that someone's done it for you You know, you can go out and use a kind of a docker-plus stack and they've if they haven't included these tools They made the really easy to use and they've made the configurable so I guess onboarding for a developer if you have all of that set up Configured for your environment, you know, your corporate IT might be able to do that for you And it might be just turn it on and I'm gonna show them some things and if they're a Drupalist They'll understand how to use all these command line tools, but then there's a time of maintenance you have to do around that stack It's really heavy like configuration and these kinds of things you have to keep Maintained whereas if I use one of these solutions, that's a little bit abstracted You know D Dev Lando It's a docker-plus solution There's someone else who's maintaining all most of the kind of heavy lifting of that Broad configuration then I can just do very minor strokes like I want to use PHP 7.2 Or I want to use kind of this version of my SQL or I want to use this version of solar etc Yeah Yes Interesting There are various timelines you probably have to speak to Alec That's changed a little bit. They prioritized a lot of the features in the back end And I think that works for a lot of dev shops But as I said before for site builds, it's really important to have a UI For Lando speak to Alec, you know all the other teams I've got on that screen They've probably got different answers to this I would expect Lando to have it later this year, but probably best to ask them Yeah, I I don't see any Big performance differences. They've solved some of the problems. So for instance if you use five if you use docker then You have to work out how you're doing How you're Seeing files locally. So I've got my ID you're running locally. It's just running on my machine And it needs to help you access the code base and needs to be able to you need to be able to use it like a user So users upload files, right? And so I need So that performance can get dragged down if you don't implement docker the right way Whereas Lando and others tend to have just sorted that out It's just docker, you know, they've created a command line tool It does a lot of dock configuration for you and that's great But essentially it's just running on top of the native docker stack. So it's got the same performance characteristics They've done a better job at configuration. So sometimes that helps you with performance, but there's no, um, there's no kind of What's it called? It's no heaviness in this solution. It's not kind of giving you an extra overhead Definitely, I think You know, I said this before but if you haven't used docker in a while Especially if you're using docker toolbox on top of windows or mac try it again It's very different with the native solution Mac I can't remember what it was released. Could we last year the year before? They they released their native solution Windows 10 pro as I said before Has a native solution performance characteristics are very different Obviously with linux, it was always very fast But if you're on, you know, as we saw before most people using mac os And getting to the native installer for a docker was very important for performance Yes And with docker, docker plus when he did trying to try that out for linux, my gid is somehow different and like You know, I have now, I have all these things If I was You know, I've had some of the docker plus block mutations and I'm very lacking Because I'm trying to get a quick setup for So my question is you see any kind of movement towards Training and helping developers level up through docker plus solutions So just to repeat the question as I understand it Are there good solutions to bring developers into dev ops? Okay So I think the lando documentation got a lot better. I think lots of people are working on documentation I think ultimately Though the important This is always going to be a, you know, a tech lead on the team who's going to be kind of enabling a solution But I've seen a lot fewer errors A lot fewer times when a developer has to reach out to someone On one of those docker plus stacks because it solves a lot of problems and they're working on all the bugs around droop Not just getting an environment running but around droop Um, so, you know, droop doesn't install why that will be fixed by the lando team in their configuration rather than Your team with your docker compose file So it tends to lead to less helplessness going with something like docker plus and If you haven't tried it recently, you know, they went through alphas and betas. There were problems Try it again. That's my that's my advice in terms of dev ops in general I don't know the best resources To to bring developers over I think there's been a big move towards dev ops recently, but you know Post a blog on that later There was a guy that I missed Because I'm going to go with you first So, um, I think Drupal VM has been around a while That's one of the reasons it's so popular. Um, because for a long time, I've just been able to install this, you know Virtual box vagrant based system from a vagrant file That will bring up a web page that shows me my Drupal environment with my, you know other environment variables my sql, etc So I understand it because it looks something like man. It's got all of my stuff there So it it was a good. It's a great solution. You know, I don't want to knock Drupal VM. It's brilliant. Um, I think that it lacks As I said before because if you start running multiple VMs gets very heavy I also don't think the configuration settings are as friendly for developers Specifically as as some of the newer doc plus base stacks like I'm down in the details. I think it was one of these slides I had There that one like on the right is vagrants configuration This is what you have to deal with You know, if you're kind of running all those stacks Whereas on the left is kind of an abstracted configuration that understands Drupal somewhat understands the other services So I think it's really about performance If you're running multiple environments If you're running if you're a dev shop and you've got lots of projects or you know You've got lots of reasons to run lots of Drupals or other services And then also configurability. That's that's where I would see the difference And it's like getting back to that slide. Yes One of our requirements for pools at least was to make our local dev environment closer to production Yes You have a backup slide that shows how Pantheon, Acquia and others are getting closer to giving us an image Yeah Coming from Acquia, I would say that it's not it's not crystal clear as to how I would make a lando configuration exactly like like Acquia But the thing is that lando is so easy to configure like it's in change than my versions that I can match the versions in cloud Pretty easily So I haven't got a magic button yet Even though there is actually a really good blog post on how to kind of bring environments down from Acquia That's a part of it. Sorry But but the configuration is so easy that it's actually pretty easy to match my cloud environment There's going to be some gotchas And that could be in the the built-in test or it could be Could be in kind of Settings that are very particular to your environment But I'd say most of the things that you can do Those cloud solutions can be mirrored pretty quickly because of the abstraction in those configuration files There will be better ways in the future Dev Dev desktop at Acquia is actually pretty good at this. Um, but it's not going to be the solution in the future. So Yeah, new stacks and architections and all that. Yes Yeah, so I guess developers usually like to have their code local for latency and for refresh because then once you've got a remote server There's probably caching on it and you've probably got to upload your hit save and then it's got to click over and then you and if you're doing so I guess Philosophically like moving from java. You've got to compile it to php One of the big advantages was hey, I can change this colon or this semicolon. Hey, everything works, you know instantly So it's about that really quick kind of agile cycle of development or you know Microcycle where I'm just changing particular characters And that tends to make people want to use something local that said there are lots of really interesting new web ids coming out like cloud nine that kind of Try to make that possible by putting the ide in the browser as well And then it's really close because like you change something my idea in the browser and then it's instantly the same in the cloud anyway I would say though that the problem you're having I would think is solved by the composability of Something like lando because it is really about taking all of those configurations that you've got and putting them in a In a configuration file, it's in your git repo So when I do a git pull and then I can go docus So I can go lando start suddenly I have an environment that's exactly the same as the rest of my development team With all the services configured exactly the same as the rest of my development team So hopefully like that's the solution you use to get around that problem I have had experience running a dev server remote But yeah for the reasons I said before I don't think it's a great It might be right for you, but you know, it tends to be not what developers want Yeah Yeah, it's my silly naming convention Uh, I did a lot of work with lando I'm always going to have a bias because I picked that up a long time ago and kind of have been following it along its development path Um, I think the other guys have some great things going for them. But when I recently tried out, um, Did they have an dox on an outrigger? I couldn't find Necessarily any big advantages to using different ones. So I'm just going to use lando as my example But pretty much all of these have the same set of advantages About composability and encapsulation and kind of abstracting all the stuff that you have to deal with in docker or or um vm files So yeah lando is my good example I like it But yeah, I think um I would choose this category. That's my message here I would choose docker plus for a variety of reasons. I mentioned the presentation You should probably then do your own research on what each of these do better or worse or you know And then kind of try them out I did but I just used lando a lot more Cool Yes No, and this is actually like this question we had over here It's like how do I match my configuration on my server versus locally? And I think there's a big push. So one of the reasons people love docker is theoretically you can do that Like I can push my container And that's been a kind of a development Development move lots of developers want to push their container because then they really know That it's just the same in production as it is locally But that's not always practical because the way that production systems are set up certainly So at aquio, you know, we run massive sites like nbc olympics that have hundreds of millions of hits to them And we're not going to use the docker file that we use locally In that instance, it just isn't practical And most of the reasons that Your code will execute differently aren't affected by those differences So, you know, how we've done it is You know as I was saying before There's a number of configurations and versions For those services. So I have got, you know, my solar configuration file I might have my php in e for php. I might have You know my com for my my sql and those things you can pretty easily Bring down and have within Within a docker plus configuration It's really about matching your cloud environment I think in the future clouds will do a better job of giving you those configurations directly into something like this I don't think Drupal I don't think that we'll get to the point where these with the clouds are Allowing you to push your containers from one of these development environments to production because that's kind of backwards You know these The people in these teams are maintaining these Docker containers and images for the purpose of local dev And if anything, they should be, you know, getting an open source container that You know our queer pantheon or platform specifies is their production container and bring it down that may happen But there just seems like there's different goals. So I don't think you're going to be pushing containers to production anytime soon Anyone yes Yeah, I think I sell it based on the abstraction and based on the less work to get to security And also if I'm going to go different like if I need to update a version of of one of these packages Just a lot faster bringing for my whole dev team. CISO is really concerned with production though So probably not as big a concern locally My experience, but if they are really concerned about local then it's on the versioning You can quickly get to the next version You know, you don't have to think about as much of the configuration. So there's lots of less things you can do wrong Which is good. I mean all of these should be behind your like local firewall anyway So no one should there's not many times you've got a local dev environment that has opened I say that people doing it You shouldn't have open ports on your Mac. I'm sure this probably has but anyway, um, yeah, is there any more on that or Yeah, have you had particular questions from a CISO around that locally or Okay, maybe later. Yes. I just want to say that Yes, they are that is a good point I didn't say that but for everyone in the room all of the docker plus You know teams here are actually on the show floor So don't take my word for it go and ask them questions. They're great teams and I respect all of them. So You can even use your images. I think within um, docker plus if you have custom images that you want to use So if you've got some kind of absolute requirement to use that particular image you can I think their configuration files will still benefit you And I think the way that their cli tool works will still benefit you But probably a better question to actually go and ask them And they'll have a better answer about your custom docker container There are lots of reasons that can be great, especially for custom services I guess that's probably the use case you have is you're building a container for a custom service And that's that's probably a good reason to use your own container because you have it in production You have it here and it's some micro service or some javascript application Yeah, but have a chat to them about that All right We've probably got time for one more question. You have three minutes left Is there anyone else or can I just bow and you can clap? Oh, no wait, we've got one more Yes Absolutely the lando the lando team have actually done an integration with us and we're just behind And I you know, I think we're going to be doing a lot of documentation around that fairly soon We've got a new team who's just working on that local development experience right now New product manager coming in as well actually on my team for that specifically And uh, yeah, so soon to come Right, okay. Thank you all for coming. I'm gonna bow