 So Dan, you know thanks so much for you know doing the interview with us. Can you tell us who you are? You know what your background is. Yeah, so my name is Dan Garfield and I'm the chief open-source officer at CodeFresh Which is abbreviated to COSO or SOSO. Okay. All right I'm a co-founder at CodeFresh. Raziel, the CEO is really the brains behind the operation and then I'm also an Argo maintainer though I'm the least of Argo maintainers and I helped create open GitOps and the GitOps working group and Create that standard for GitOps. I do a lot of work with CICD I do a lot of work with software delivery enabling companies and helping people improve their software processes and Be more secure and deploy more frequently and all that kind of good stuff. Right So what kind of got you into like the open-source space to begin with? Oh Gosh, I started actually working on Helm. Oh, really? But but not not that much with code. I mean I did I did my first open-source commit Years ago. I was very proud of it because it was basically my first open-source contribution was for Quake Okay, because somebody was making an HTML5 version of Quake Uh-huh, and I'll literally all I did was like fix the launcher so that it worked proper properly, right? It's like a very small thing, but I Love though, right? Yeah. Yeah So I loved doing that. That was like cool to be like, oh, I I contributed to that thing. That was really neat And you know my I don't do as much code work these days But every once in a while here and there all all makes a few commits, but I started working on Helm just trying to We we we thought there was definitely a strategic interest in Helm with CodeFresh because we help people deploy to Kubernetes Helm is definitely becoming the de facto package manager, right and so the shift from Helm 2 to Helm 3 and Spent a lot of time just honestly just chopping wood and carrying a little a little bit of water Yeah, don't ask Karina. She'll be like damn. He didn't do anything She's not wrong. So so yeah, we I started doing that, but then With Argo, this was a project that came out of company Applatics, okay, and they were They didn't have a commercial path for it So they were acquired by into it and once they joined into it into it donated the project to the CNCF And we started contributing pretty much right away. We joined the project and then we launched The very first commercial version of Argo like five months later four months later. Oh, wow So we we've been doing commercial Argo, and we've been helping companies adopt Argo for Three years now. So we have more experience in it than any other company We've done it in more diverse locations more edge deployments. I like diverse. That's yeah, that's a good way of putting it Versus, you know, crazy Difficult So let's back up a little bit. What is Argo? So Argo is as a project has four tools the one that people are most familiar with probably is Argo CD Which is a get ops tool. So you basically define this is where I want My software to be deployed. This is the source of truth for that software And this is the policy for how you're gonna keep that in sync and that that shift to get ops That's like a pretty revolutionary thing and I don't mean that because Well, I mean, I think you probably know people were doing stuff like that with puppet, you know 15 years ago I actually actually wrote a what do they call them? Plug in but it's not plug in for engine X. Oh, yeah did some of that And sorry fighting with a big truck trying to get over So, yeah, because I didn't want to install puppet You know like that Kind of can't think of words today You know, I didn't want to stop install the puppet like client Yeah, all of these machines because I was really afraid of them So, you know, so I wrote it engine X was already there. So I you know, wrote a little plug in for engine What's through that? Yeah, yeah But yeah, so a lot of people have I mean, I think the you know Like it gets a lot of buzzwords these days of the you know configuration is code and all that jazz but at the same time it's You know people don't realize the power of it if you're kind of doing it properly Yes, well, I don't think that until we had the Kubernetes API It's been very it's been a lot harder to achieve and now that we have this standardized API for delivering cloud native software Whatever that means. Yeah, we have these get ops operators that can Suddenly operate in a very high level of efficiency where you have very little Drift and things like that. I mean we like we we use Terraform, right? Everybody uses Terraform, but Terraform state management state gets corrupted all the time, right? And so that Makes it a lot more difficult to use in a proactive get opsie way Whereas if you're using Kubernetes Argos CD is gonna be Perfect, it's just gonna work. Yeah. Yeah So what's what do you feel like the kind of learning curve is on? Kind of doing the get ops model Not so much the the technology involved, but like kind of the mindset. Do you think that's a is it a? You know difficult thing to come across or is it do you find most people get it pretty fast? It does take there are some people who look at it and they say well, you know I run a CI CD pipeline and I'm a big fan of CI CD code freshers the CI CD company But they'll say well, I run a CI CD pipeline at the end of that I have a step that that executes a deployment. So how is this better? and I I get that because If you if you don't just start doing it you might not realize how much easier it is, right? And you might not realize like how much time you spend babysitting deployments or like if you ever have a deployment go Wrong during a CI CD process and you haven't written some sort of imperative case for it If you're really good at writing imperative operations You can make it feel almost declarative But as soon as you go outside the bounds of what you can imperatively script Suddenly you run into problems and so something That's like we move to declarative for a reason, right? We moved to declarative because it's way easier to operate and you know what you're going to get at the end and you can have Operators and policy that gets you there, but you can just worry about being declarative So moving from imperative to declarative from on a CI CD perspective I think that's something that people have a hard time wrapping their heads around, right? The other thing that we see a lot of is Just bad git management Yeah, and that's not shocking right, but if you're using when you're doing app development You're using branches for all of your development and get flow and that's great and it makes a lot of sense When you start to do environments doing get flow and Having branches like a different branch for different environments. That's actually really awful Like it doesn't work very well, and it creates a lot of problems because you're like, oh well I'm gonna I'm gonna promote a change from staging to production and what is that entail? Oh, I need to cherry-pick 37 commits perfectly, right? Okay. Good luck. Yeah, you know, that's probably you're gonna have merge conflicts It's probably gonna be a pain and if you bring one of the values along with you that you didn't mean to suddenly you're gonna be in trouble whereas what we recommend is Do it using the environment per folder? Oh, yeah, and now you're running diffs on that super easy You just diff two folders. You've got it all figured out right promoting changes and segregating things that are long-running values for staging or long-running values for Production that's a lot easier. So things like that. Those are pretty common One of the things that I I was kind of you know, it's like you learn things sometimes and you're like surprised that that's the Really interesting thing you learned. So one of those for me when I joined Red Hat It's after I was there for a couple years is how much better at source control I became Because you know like Red Hat, you know is is really really good at that, right? It's really good at you know kind of this very machine approach to releasing because you know like Red Hat's been doing Essentially continuous delivery for 20-something years. Yeah, you know, it's just we call it package managers, right? and It's really it was really interesting how how much I learned about how like software is really created and like the best Practices around it and the pain when you don't do it, right? Well, that's that's a good use case to get your engineers not yours, but yours writ large to contribute to open source Yep, because Get management and open sources act tends to be actually very good, right? Because it has to be you have you have 5,000 contributors to this thing So you need to have really good get hygiene and so I've working on Argo and I've been doing Some security work recently. I'm on we have we created a special interest group focused on security for Argo Mm-hmm, and so I've been helping doing like cherry picks and things like that But there's a lot of things that I've learned By doing this with open source that I didn't learn just contributing code Into a company organization where we right, you know most companies don't have code owners files, right? Right, that's a that's an open source thing, right? Well, and I think the other part too, which you know People don't really realize right is that you know when you're publishing code internally You don't have the fear factor of oh my god Everyone can see the terrible thing I did in this software You know or at least not as much you know, so I think one of the Really cool things one of the really freeing things in a sense about open source is not only do you get a sense of You know, hey, I'm gonna put this in public So I better do a you know a good job But also you get the the feedback that you did do a good job, you know, which I find sometimes really well You're more likely to get a complaint about what you've done. Yeah, but at least you know, you know When it's when it actually gets accepted and consumed you're like well no matter what they said, right? It they shipped it so it must been pretty good. Well, and you can see One of the common things in our industry is imposter syndrome, right? Because Technology is so vast. Yeah that you're always gonna run into something that you've probably never heard of and The person you'll be talking to knows all about it, right? And you'll be like, oh, I thought I was like a senior engineer I thought I was a good junior engineer and I don't even know what he's talking about right and with open source You know, you can sometimes have that alleviated a little bit because you'll be looking through something You're like, oh They forgot to squash their commits. Oh, yeah And I can see that they were just like pushing like all these little nonsense changes, you know, you're like, oh, yeah Oh, even senior engineers need to send a few extra commits sometimes, right? So, right? Yeah, the yeah I mean, one of the things I talk about a lot actually is like one of the best things I learned in college was really actually how to learn And how to learn quickly. I think I spent a bunch of years in consulting which also taught me a lot of that But the you know because the industry is just changing all the time I think I've gotten to the point where I just assume I never know anything and that way You know that way I'm like good to go. I had a conversation with a friend Years ago and actually was focused on Kubernetes because he's he's a senior engineer He was one of the most brilliant engineers I've ever known. He's like learned a lot from this guy and Anytime I talked to him. I always thought oh man I have a lot to learn and one day I was talking to him about some stuff with Kubernetes and containers And he had no idea what I was talking about. Oh, yeah And I was like whoa, did that just happen like I actually know something that you don't you didn't already write like a doctrinal thesis on this thing. Yeah. Yeah, that's what I Yeah, it's a containerization. I think in particular I I find that a lot where it's like somebody who I know knows technology really really well And then is like has never been anywhere near a container. Yeah, which I find interesting because like I got into them Because they made my life easier, you know, because I didn't have to like spin up a VM every five minutes You know work on a project So yeah, huge fan So, you know, we call this the insider show because you know, we want to know what you think is coming So what are you kind of most looking forward to coming through our goer? Even CD? You know are kind of those concepts What do you think is the the thing to watch or the thing to be hoping for in the next six months a year? Hmm, let me think about what? Because there's stuff that you know, I'm Where I'm like betting our company on oh, yeah, I don't necessarily want to like go as deep under those things as much But like there's definitely more democratization of these tools and technology. I think going back to your puppet example Orchestrating GitOps 15 years ago. Mm-hmm was it kind of a dark art, right? It was like you had arcane knowledge. You had these super specialized people that Like if they ever disappeared, you know, your company's just gonna collapse And that's you know, it's nice for the people who are getting the paycheck, but Now with tools like Argo, it's becoming so much easier, right? And so it's becoming more accessible and so we're just seeing this huge explosion of people doing it and you know Three years ago when we started telling people, hey, you should be using Argo. You should be doing GitOps Here's how you should be setting up your repositories The value wasn't necessarily immediately clear to everybody, but now you can definitely feel that push So I think a democratization of that is happening. That's really exciting Obviously machine learning and AI is a very hot topic and there are a lot of ways we could apply that within Software delivery. Yeah, and they're not necessarily always Comfortable because if you have something like oh, I want to You know have an AI watching all of my logs and all my metrics and looking for anomalies and have it automatically trigger rollbacks Most people don't deliver their software without a human clicking deploy Right, right. So how comfortable are they going to be with an AI doing a rollback in an automated way? Yeah, but I think we'll get there I mean, it's like driving a car like ten years ago the idea of an AI driving a car was I could never trust it and now We still don't trust it, but we could see a future where we might trust it, right? Yeah, it's the other part that I think is really interesting around that kind of AI ML problem for those scenarios, too is the you know the changing baseline Where like I still remember talking to a friend of mine who like was running a company that did You know log analysis basically and you know what was really interesting was that their big Thing that they were trying to figure out was like how do we recognize when the baseline changes so we can stop alerting you? Which because now this is just a normal day And I think that's where you know things like machine learning really start to come into play and get interesting But I don't know that we You know the problem with machine learning is that you need a lot of data to You know get good models and I don't know that we have That in any sort of unified way because one thing we're not seeing a lot of in kind of the open-source world at least yet is the sharing of how your You know get ops whatever environment works So that we could kind of be learning more from each other You know that still that tends to be a very I don't think it's intentionally secretive, but it tends to be secret And so I think that'll be a really interesting, you know kind of breakthrough when people start getting a lot more I hesitate to say open as much as like it becomes more of its own community Yeah, I don't I wouldn't hold my breath for people to be started sharing their data too quickly. Well, right. Yeah, so that's that's the other challenge, right? But yeah, the and then there's definitely a lot of like nuance in how you train those algorithms because You could see scenarios where oh this this is learning and it's learning how to detect the It's learning how to detect anomalies But anomalies are building up slow enough over a long period of time that it assumes that anomaly buildup is normal You know and so you can see a situation where it's sort of like you're slowly boiling the frog Right, and you didn't get to the point or you get a rollback because you're not getting enough errors, you know Yeah, yeah, it's like oh, I expected more errors better better roll back This is the devil. I know not ready for this new world of no errors, right Yeah, although although to be honest right as a human who has some level of at least intelligence. I have Looked at systems and been concerned about it because I'm not getting the errors I'm expecting yeah, and and been right occasionally right where you know it the reason you're not getting any errors It's because it's completely broken You know well that sealed joke what scares you more as a software engineer when you make a change and it works the first time without errors or You get errors that you know right right. Yeah, I think yeah, if I if I get no errors that definitely makes me think I miss something Oh, no, yeah, I totally hear that So I was gonna ask you kind of a little bit of a sidebar I was doing a little bit of background on you and saw you did a backpacking trip around Europe Yes, here's to go. Yes a long time ago, and I was in Holland. I had some friends in Utrecht. Oh Yeah, I don't know if that's I was pretty close. I think it sounded it sounded like I knew what I was right, but yeah We I we stayed in Utrecht. We went into Germany went into Switzerland. I slept on the street in Switzerland Oh, that's always I was a poor college student, you know, I went to Sicily. I slept on the beach in Sicily nice That was a lot of fun Got into motorcycle accident. Oh, that's that was you know an adventure, right? Yeah, it's great adventure Would you do it again? Oh, well, I Would go back in time and do it again. Yeah, but you know, I've got four kids now Yeah, right, and I would go backpacking with my kids. Yeah, I do that Because it was funny like I I think I was talking to you earlier I drove from Prague to Krakow for a conference and I am really glad I did it and I will never do it again Like yeah, maybe if one of my I don't know if I can handle one of my kids driving my kids are inner-city kids Oh boy. Yeah, I'm driving But yeah, I you know, it was it was great once you know, but you know So I'll have to find another opportunity that was similar There's a guy I used to work with actually who everywhere he went he would drive And I always thought it was kind of crazy. Oh, I think I was the left. I wanted We'll get there eventual consistency Eventual consistency is all we care about and software delivery Get off the world So, yeah, the So it was kind of a lot of fun So I was kind of curious about the the backpacking experience the same way, you know, but it sounds like it repeat it, you know Yeah, I mean when I did it I Actually, I was doing it and I didn't have a job so I had I had worked and then the company I was at and I was like working my way through college and The company I was at downsized and I was like a college student and so I didn't have a job and So I and I had already booked my ticket to Europe So I came out here with like almost no money and spent a while and I you know I would buy like a baguette and some cheese for two euros and that was like the day, right? And I was I had a train pass. So I was just moving around and stuff and it would definitely be different now because You know, I can I can afford to buy food. Yeah, so that would be a pretty exciting. Yeah. Yeah. Yeah. I hear you Yeah, it's cool. I still I'm kind of jealous that you had the opportunity Opportunity to do it in the first place. Oh, yeah, of course Yeah, I did manage to get to Prague while I was in college You know, but mostly just like a trip and we went down to Rome and stuff But it was much more of a vacation than it was a you know, kind of a long tour, you know Yeah, and I mean now that now that you put it as like would you do it again? We got robbed five times We got accosted by a soccer team that had just won a championship and was high on cocaine. All right. We got You know in a motorcycle accident like It was high adventure. Yeah, and adventure comes with a lot of stories and it's great to look back on I wouldn't necessarily do those parts of the adventure again, right? I hear you Yeah, that was kind of how I felt about the drive to Poland was that you know, it wasn't Didn't have any of those kinds of problems But it was like the the adventures were great, you know things like not being able to figure out We wanted to go to a restaurant for lunch and we couldn't throw out anywhere to park Like had no idea because we were in this tiny little village and we had no idea like how you went about parking You know, uh, and so and of course didn't speak the language and Public or Poland And so, you know, it was it was a lot of you know, stupid little stuff like that Which you know is really kind of cool to to experience but not something, you know, you don't want to do it every day Right, and it never really even occurred to you that these are the problems you're going to have, you know Yeah, the the Misadventures need to be Infrequent enough for their novelty to outweigh their Terror. Yeah. Yeah, exactly. Uh, I totally hear you. Um, so, uh, yeah, so you think, um, you know CD is your is the thing is what uh, you're going to change the world with? Yeah, that's the thing. That's the thing. Yeah That's awesome. It actually, I mean, we're pretty lucky working in software because We work with companies all the time that are changing the world And I know it's cliche and I don't talk about it much because it feels a little cliche, but yeah Like if I help a team at a healthcare company deliver software faster, it's like literally Saving lives right and I'm not smart enough to save lives directly Right, so if I can save lives indirectly that feels pretty good. Like I'm happy I could contribute to that cause Software is amazing in that way. Like you can touch so many things. Well, it's particularly interesting that you you mentioned that because, um One of the things that so in some of the classes we teach, uh, that you know, like I teach and I help oversee and stuff um We do these projects for third-party organizations like nonprofits and local government mostly and what's so interesting about it is Trying to get the students to recognize that, you know Every row of this table is a human a lot of the time and that that's so important. Uh, and you know, we we try very hard to Make sure that they recognize that, you know, it's not just data, right? It's it's real people or real, you know, something Uh and getting and I think it really starts to appeal to the students that way where it's like, hey I am I can make a difference without being a doctor, right? um Yeah, we we talk a lot about empathy within dev ops within software and I've I've started to actually, uh, I'll phrase it poorly. I've started to move away from that. No more empathy. Okay. All right. Yeah No, uh, I've started to move phrase. Yeah. No, I've started to move towards Charity and the way that I think of that is empathy plus wisdom. Uh-huh because Somebody delivering software poorly or someone having a bad experience. You can empathize with them But not necessarily have the wisdom to to help in any way, right to know what to do And so you could say, oh, you're doing this. This is really hard on you. You know what you should quit software Right. That's very empathetic of me. Right, but if maybe charity is saying Oh, this is really hard. Here's how you could fix it So I started to say, you know, I think you need an extra part of the equation So not not moving away from empathy but empathy plus wisdom charity interesting. Yeah, because I mean, that's you know Sometimes with empathy, it's right. It's like you can be maybe potentially more proactive than empathetic Right. It's kind of what you're getting at because I can feel bad for someone but then not actually be helpful Right, right. Whereas if you can do both, it's even better. Yeah, that's amazing. Well, thank you so much for the time I really appreciate it. And I hope you had an enjoyable drive. Thanks for the drive. Do I do I tip or exactly? Exactly. You can tip your way