If you like our podcast, please consider rating and reviewing our show! Click here, scroll to the bottom, tap to rate with five stars, and select “Write a Review.” Then be sure to let us know what you liked most about the episode!
Also, if you haven’t done so already, subscribe to the podcast. We're adding a bunch of bonus episodes to the feed and, if you’re not subscribed, there’s a good chance you’ll miss out. Subscribe now!
Viktor Farcic is a Principal DevOps Architect at Codefresh, a member of the Google Developer Experts and Docker Captains groups, and published author.
His big passions are DevOps, Containers, Kubernetes, Microservices, Continuous Integration, Delivery and Deployment (CI/CD) and Test-Driven Development (TDD).
He often speaks at community gatherings and conferences (latest can be found here).
His random thoughts and tutorials can be found in his blog TechnologyConversations.com.
Darin Pope 0:00
This is episode number 57 of DevOps Paradox with Darin Pope and Viktor Farcic. I am Darin.
Darin Pope 0:06
And I am Viktor.
Darin Pope 0:07
Dude, you've got to get closer to your mic.
Viktor Farcic 0:09
Closer. And I'm Viktor.
Darin Pope 0:12
Okay, cool. Today we have another guest was with ... okay, you have to get closer to your mic. I need a new mouth. We have another guest with us today. Viktor, would you like to introduce Tracy for real?
Viktor Farcic 0:26
Tracy? She's a very brave woman. I'll tell you why. Because she's trying to do something I would say would be impossible. To put all the different vendors in this Continuous Integration Continuous Delivery sphere into one group that works together. Hard to imagine, but she's trying. Did I describe it well, Tracy?
Tracy Miranda 0:52
Yes, Viktor. Thanks for having me. And thanks for telling me things can't be done because there's nothing like that as motivation for to keep trying.
Darin Pope 1:03
Tracy, for everybody that doesn't know you just by Tracy because unless Are you like Beyonce? You just go by Tracy?
Tracy Miranda 1:10
That is the goal.
Darin Pope 1:12
All right. That's the goal. But let's go ahead and give a little bit more info about yourself.
Tracy Miranda 1:17
Yeah. Hi, everybody. I'm Tracy Miranda, and I'm the director of open source at CloudBees. And also the current chair of the governing board of the Continuous Delivery Foundation, which is a brand new foundation I helped set up in 2019.
Darin Pope 1:35
That's a mouthful for title. I mean, Viktor Viktor, prior to his new role, had a mouthful for title. I'm just services consultant. Sort of like everybody sort of seen Charlie Brown, Peanuts, right? All I got was this rock. That's sometimes what it feels like. And you're like with with CDF, we'll call it CDF just to shorten up Continuous Delivery Foundation, since my mouth isn't working today. Is it like herding cats?
Tracy Miranda 2:09
Yes, absolutely. It's a it's a big ecosystem in an area that has existed for for a long time, but it's changing really quickly. And we've got, you know, we've got developers, we've got vendors, we've got all sorts. And really, that is what it's all about just trying to get everybody moving together in the same direction.
Darin Pope 2:31
So you say you have application developers, and you have vendors. Those seem like competing interests, in many cases.
Tracy Miranda 2:40
Yes, and no. And I think when it comes to open source foundations, at the heart of it, it's really all about finding the win-win, you know, not putting things in opposition to each other, but actually saying, you know, vendors serve a need. And, you know, developers can have benefits at the same time. There's no one group that needs to win and the other one loses. How do we do that with open source and altogether?
Darin Pope 3:08
So explain what an open source foundation is? Because I don't know. I mean, I sort of I sort of get it. But it's an it's an umbrella, but that's about as far as I understand it.
Tracy Miranda 3:22
Yeah, no, I think it's worth worth covering. So when you think of open source, I think for a lot of people, it's just, here's some code. It's in a GitHub repo. And I'm going to submit a bunch of pull requests. And, you know, for a lot of open source that that works well, and you've got a license file in there as well. But as projects sort of grow and mature then they tend to be a lot of stuff that's really boring to developers around it. Stuff like governance. Stuff like, you know, just the brand of the project, how it evolves how it gets people to do things that nobody wants to do like documentation and security. And really the role of an open source foundation is to make all that smooth, make the project sustainable. handle all the boring stuff so that the developers, the open source developers just can just come in, commit the code and focus on the stuff they want to do.
Darin Pope 4:25
How many open source foundations are there? I mean, there's a number but let me ... like loads meaning 10, like, high 10s like we're approaching 100. What's some of the big ones are like Apache obviously is one.
Tracy Miranda 4:40
Yep. And you've got your Apache, Eclipse Foundations, and your Linux foundations. Within each of the major ones, they've already kind of evolved to house small you know, sub foundations. So Linux Foundation has the you know, CNCF, it's Cloud Native Computing Foundation, CDF, you've got all sorts of ones for automotive and IoT. In Eclipse, you've got IoT Working Group loads of working groups. So almost every major area of software today will have a bunch of open source foundations, helping sustain the projects in the area.
Darin Pope 5:23
So that that's I actually knew it. I'd forgotten it. So CDF is a child of Linux Foundation.
Tracy Miranda 5:28
Darin Pope 5:29
Okay, so who are the top? Because I'm assuming Linux Foundation is the parent like is a, a root, if you will?
Tracy Miranda 5:36
Darin Pope 5:37
So who are the other big roots?
Tracy Miranda 5:39
Eclipse Foundation and Apache Foundation
Darin Pope 5:42
Is that pretty much it? Those are the big three, if you will?
Tracy Miranda 5:44
No, no, no. There's this. There's a bunch of ones. You know, if you think of projects like Python, the Python Software Foundation. So yeah, there's loads.
Darin Pope 5:56
Yeah, there's lots of them, but but if you want to sort of compare it to the cloud providers, the big three are probably Apache, Eclipse and Linux?
Tracy Miranda 6:05
Yes, certainly from my perspective and the [unintelligible] to it.
Viktor Farcic 6:10
Yeah, but how does that how does it work? Are you looking are you? Are you looking into different projects and then contacting them to join the foundation? Or is there some kind of call for action? Oh, whomever is in this area of software, please join. How does it work?
Tracy Miranda 6:33
Yeah. Well, I think one of the interesting things about the Continuous Delivery Foundation, like traditional open source foundations, we have a bunch of projects, you know, Jenkins, Jenkins X, Tekton and Spinnaker. But we also see our role as a, you know, a way to almost democratize Continuous Delivery practices across the industry. So how do we help people adopt it? And how do we do some cross pollination across emerging technologies. So with that in mind, we want to cover you know, a lot more of the software lifecycle. And we need more projects to do that. So we'd love to, you know, not have 10 projects all in one area, but to have projects that fit with continuous delivery, whether it's continuous delivery on, let's say, mobile or aspects of it, like testing. So I'd love for the foundation to grow and to have projects that cover kind of the full range of continuous delivery for different industry. Now, how we attract that, I think that's that's probably one of the big challenges we're facing today. Just finding those projects and making them aware that they can come and join us and it's worth their while. So yeah, any shoutouts to any folks, part of open source projects, please do reach out and yeah, we're happy to talk to you about how we can help your project.
Viktor Farcic 8:04
So let's say that there is a person right now listening to this, and is having a project that does whatever it does, right? Then it could fit, what would be the what would be the hook? What's the? What will be the benefit that that person would think about? And say, Yeah, actually, this is a good idea.
Tracy Miranda 8:23
Yeah. So I think the key thing first is to come in and be part of our community. And, you know, it comes down to the people we have there. We have some great forums where we're talking about how to drive technology moving forward, you know, how should tools interoperate, what even is an application? In today's world, how do we set those bounds? So being part of that community and you know, just having the conversations with the smart people is probably the top thing. The second thing is is access to a bunch of project services. We can help with a logo. We can get put you in our swag store. So your community members can get access to stickers. I mean, who doesn't love stickers? We support you with infrastructure for your projects. We've got analytics for helping grow your community. So there's a dev stats platform that shows you who's contributing, and the list goes on. So there's a whole bunch of services of things like that, that kind of, you know, just help sustain you. And you just don't want to be spending your time dealing with all those kinds of things. When you just, you know, want to help you the users of your project.
Viktor Farcic 9:41
So if I understood right, it's not necessarily that somebody should think about joining right away, but it's more like call, come join, let's talk type of stuff, right and then see how useful that is, right?
Tracy Miranda 9:58
Yes, yes. For sure, projects proposed get proposed to the technical oversight committee and then essentially they need a member of the TOC to to get really excited about the project and then sponsor it through through the process. So what do you think Viktor? You think that would appeal to the all the projects out there the folks listening?
Viktor Farcic 10:22
Yeah, I mean, I mean, I'm I'm pretending as if I don't, I don't know about it. But it is. I always thought that at least the way how I imagined I might be wrong, you know, usually starts with the with the person that has a great idea and it grows, people come, right and then you at one moment hit the ceiling, how far that project can go without either a backing of an enterprise company behind it, or being in a foundation like that. At least, that that's what I was always how I was obviously imagining right. There are certain phases and maybe first, you know, first thousand users you want to go alone because that's kind of easy. And then then you need certain governance, certain roles and then growing community and all those marketing actually as well. Not marketing as in selling but marketing as in being present in events, spreading the word, right?
Tracy Miranda 11:23
Exactly. Yep. No, I think that sums it up nicely.
Darin Pope 11:27
Now, you brought up governance. Why would it? Why would a team, a project need governance? I mean, even if even if I got to, you know, 30 or 40 people, why would I need governance. That just seems like overhead.
Tracy Miranda 11:39
Yeah, because people, you know. Fundamentally, people kind of work well until they don't. And then when, when things start kind of going wrong, you need to fall back on kind of rules and ways of solving issues. Ways of evolving the community in a specific way. And I think one other side, like we saw with Jenkins as well. Like, I exist in the kind of open source that is used by enterprises. And for enterprises to engage, sometimes the governance needs to be really clear. You can have open source that is, you know, tied to a single company, things like VS Code, you know, so you can contribute as many PRs as you'd like, but how are you ever going to get commit rights to that repo? That's that's governance. And then when you have governance in a foundation, then we're talking about multi vendor governance. So you know, there's no one company that controls who gets commit access to that repo. It's set out by a process and it's made clear who are the people who approve basically giving access to things. And that's what governance is all about. How do you manage that access to the code and to the other key assets of a project?
Darin Pope 13:09
How efficient is that? I mean, to me, it seems like there's got to be process. I'm not I'm not bucking process. But it seems like especially if you've got multiple vendors in there or multiple externals trying to come to an agreement can be near impossible.
Tracy Miranda 13:24
Um, I think it's like anything, it depends on the set of people. It depends, potentially on the competitive landscape. You know, if you're talking governance around a project, which is very cutting edge and causing, you know, the landscape to change, then there tends to be a lot of politics. If you have a certain company in the room who ones who I won't name names, you know, suddenly things get a lot trickier. But I think we're fortunate with many of the projects in CDF that it is a good balance of, you know, having process but not having it be overkill.
Darin Pope 14:09
And we mentioned the names that were in CDF or actually we have five. Did we mention the names of who's actually in CDF today?
Tracy Miranda 14:15
Darin Pope 14:16
Tracy Miranda 14:18
No. Well, I touched on them briefly.
Darin Pope 14:20
We mentioned them, but let's let's be explicit with it. I mean, we've got Jenkins X.
Tracy Miranda 14:24
Yep. So the four founding projects, Jenkins, so Jenkins and Spinnaker, probably kind of fairly well known and quite heavily adopted. And then you've got kind of the the newer, more nascent projects Tekton and Jenkins X, which are really tackling that cloud native space.
Darin Pope 14:46
Define cloud native. I want to hear from you. That's a question we need to start asking everybody that as soon as somebody says that phrase, we need to ask them what it means.
Tracy Miranda 14:58
Yeah. Okay. So I don't know, do you want a technically correct definition? Or do you want a just a practical depending on? I mean,
Darin Pope 15:08
I want both.
Tracy Miranda 15:09
Okay. Like I wrote a blog post when I went to my first CloudNativeCon, I remember I wrote a blog post. And at that time, I said, you know, for all intents and purposes, at that time, and this was maybe two or three years ago, cloud native means using Kubernetes. You know, and to a certain extent, and I know there's lots of purists who will argue with that, but I think from a practical side, it is about kind of using that platform well, and then perhaps the the related technologies that go with it. I don't want to run the risk of of talking about, you know, there's the cloud native AWS, or the cloud native Google. So I think yep, just Kubernetes and using that aspect of the cloud well.
Viktor Farcic 16:04
I would kind of define it slightly differently, that there are certain properties of being cloud native, like scalable, maybe stateless, and so on and so forth. Probably 12 factor apps is my base for for cloud native in early days. And going back to Kubernetes, at least in my head, I would say that Kubernetes is probably the best enabler to be cloud native. It's not that you cannot do it without Kubernetes. I mean, everything can be done right. But simply, it simplifies so many things, so many cloud native properties that it is almost considered as a requirement simply kind of it's almost Yeah. You're trying to do that without Kubernetes that there must be something wrong with you today.
Tracy Miranda 16:52
Yeah, no, I agree. And I think just grounding things in practicality. I think that's why I'll flippantly reduce it to that. And, you know, we know it's not the case. But, you know, until people know what questions to ask and what makes a difference. I think it's, it's a good starting point. And, you know, we can talk about the other thing we talked a lot about with things like Jenkins X is, is, you know, the characteristics of a modern application. You know, things like using a modern programming language, being cloud native, using micro services and just having continuous delivery. And I think that's the direction folks will start thinking about, you know, what does it mean to have those characteristics for your application? And, and something like Jenkins X is really good because it not only lets you do that, but it models doing that in a in a practical way.
Darin Pope 17:51
What is it? Boy, you're teeing up today. What is a modern programming language?
Tracy Miranda 17:57
A modern programming language?
Darin Pope 18:00
Tracy Miranda 18:03
So as a kind of, you know, an overall definition, it's, it's, it's basically a programming language that was built to take advantage of kind of modern processor architectures and things. So things like, Go and Rust and not okay.
Darin Pope 18:26
Not not Java,
Tracy Miranda 18:28
Darin Pope 18:28
not COBOL. Okay, no, I say not Java. Let me ask the question. This this is to both of you. Does that mean no JVM based languages? What do you think?
Viktor Farcic 18:40
So I'm not following JVM that closely for a couple of years already. But from what I've seen, it's changed also a lot. Now it's much smaller it can be. You can combine things you need instead of having the huge monster. I understood it's not that bad anymore. I'm not politically correct. So I'm actually indirectly saying it was bad that it might not be bad.
Darin Pope 19:07
Well, compared to EJB's and all the other stuff, and that was that's one thing what you would not want to do is containerize an EJB application. That would just be dumb.
Viktor Farcic 19:18
Does anybody know is J2EE still alive? Does that still exist?
Darin Pope 19:22
I see it every almost every every engagement.
Tracy Miranda 19:27
Isn't it widely accepted nothing ever dies. I think this Hudson is out there somewhere.
Darin Pope 19:35
Okay, so that's, that's reasonable. So if because you could take something like Vert.X, which is a lighterweight JVM product project, excuse me. Right. And there's other ones, like DropWizard, which was right, all the smaller Quarkus. There it is. Quarkus was the one I was looking for. Right? VM based language. It's out by Red Hat. I love Quarkus. And it's built to do the cloud native things. Right. So this it can be done. I, I question whether a language matters. It's the packaging of the application that is the question.
Viktor Farcic 20:11
That's the thing. You know what, what bothers what bothered me in the past with Java and I'm not following now some, it's kind of you needed 57,000 different ways to do the same thing. And [unintelligible], you know, Quarkus and all those things are most likely workarounds to solve an underlying issue. Which is Java in its core form, right? Which is great, kind of, you're improving it. But the fact that you need all those things, means that some there's something wrong in the baseline of that something, whatever that something is.
Tracy Miranda 20:52
Yeah, and, you know, I'm a big Java fan. And I think every everything has its purpose, but when you kind of look at where the evolution is I think the big questions for Java especially imagine this world which is headed to it's a kind of serverless type architecture is comes down to some fundamentals like cold starts. And, you know, can can you resolve those? Can you work around those and I know many people are trying to figure that out. And I've no doubt they will come up with something. But you know, there's there's a lot to be said for things that were designed with the understanding of the modern architectures in place
Darin Pope 21:33
You said the S word that I probably should go ahead and like beep out. Not that S word. Serverless.
Tracy Miranda 21:43
Sorry. We've come a long way from where we started.
Darin Pope 21:47
No, we're actually in the right place. Because how does Continuous Delivery even play into serverless?
Tracy Miranda 21:54
You know, that is a great question and something I ask myself a lot because I think, you know, on the CICD landscape, we have barely dealt with containers. And we have barely dealt with microservices and what that means for your environments, and how do you deliver to all these different environments. And then along comes serverless. And that's even more of a kind of a gut punch to everybody. And, you know, things that the whole paradigm is going to change and things will have to change. And we need to start talking about kind of event driven delivery almost. And in the world of serverless. I, I don't know what that looks like what you have today tends to be very, either non existent or very built into an existing platform. But the need is always there, you know, even if you, you write a little snippet of Python code, you're gonna have to have a way to manage that and deliver it. It tends to be all kind of wrapped up in whatever if it's Lambda. So, you know, it's just kind of built into the platform and none not done quite right. But I think this is kind of the next frontier.
Darin Pope 23:20
I hear I heard a phrase in what you said there, event driven delivery. You just said it, you just sort of glossed over it. That's, that's number one, you should get that trademarked now. This doesn't come out for a couple weeks. You're good. But that's, it's going to be that kind of pivot that's going to happen. It has to.
Viktor Farcic 23:45
I mean we already have actually the underlying base for something like that. And that is Kubernetes. Kubernetes is all about being event driven, right? You send an event to the API. You don't necessarily know who is listening to that event and what will happen. I mean, you know, because if you set it up and all those things, right. But Kubernetes itself is probably the biggest and the best example of event driven architecture we have today. It's just about that I think that maybe we're still falling behind with the rest of the things that is sitting on top of Kubernetes to leverage that model to its fullness, let's say.
Tracy Miranda 24:33
And I'm nodding along, but I realize this is a podcast.
Darin Pope 24:39
Okay, audio, you can come back to our live stream, if you dare.
Tracy Miranda 24:45
Yeah, I think this is this has been great.
Darin Pope 24:49
If you're listening right now via Apple Podcasts, please go ahead and subscribe and leave a rating and review. All of our contact information, including Twitter and LinkedIn can be found at https://www.devopsparadox.com/contact If you'd like to be notified by email when a new episode is released, you can sign up at https://www.devopsparadox.com/ That signup form? It's at the top of every page. There are links to the Slack workspace, the Voxer account and how to leave a review in the description of this episode. Now, Tracy, do you feel like you were you felt safe today? You felt like you were in good hands?
Tracy Miranda 25:22
Yes, no, I think this is
Viktor Farcic 25:25
what you said. Yes. No.
Tracy Miranda 25:28
I think No, no, I think it's good. I think when I'm shooting from the hip in a podcast, it's always it's always a good uncomfortable. I don't like to be too comfortable. So there we go.
Darin Pope 25:41
And I'll say it. It's the elephant in the room. You're actually the first female that's been on the podcast. Shame on us for real Yeah. That's, that's bad on us at 57. That's, that's not okay. So I
Tracy Miranda 25:58
I can recommend a whole folks doing great stuff. Even other Tracy's as much as I want to be the Tracy of software delivery.
Darin Pope 26:08
You are the Tracy of software. There it is. It's just Tracy. Like Beyonce. It's Tracy. As soon as we say, Tracy, you think about software delivery,
Viktor Farcic 26:18
Please don't. Few weeks ago, I attended some some podcasts from CDF. And I was wondering what happened to her voice for 10 minutes. When thinking actually it was Tracy Tracy speaking instead of some other Tracy.
Tracy Miranda 26:33
On the CDF board, we actually have two Tracys not just in the CDF but on the governing board. We have two Tracys so it's, we call ourselves Tracy squared. And it's amazing because it's been a long time in tech. You get not just other women at the highest level, but another Tracy so that's amazing.
Darin Pope 26:53
So where can people find out about Continuous Delivery Foundation?
Tracy Miranda 26:58
Yeah, I think the best place to start is our website https://cd.foundation, and also on Twitter at cdeliveryfdn.
Darin Pope 27:08
Where can people follow you?
Tracy Miranda 27:10
Oh, please follow me on Twitter at tracymiranda No E in Tracy. And yeah, a great place for more of the hip opinions, frank discussions.
Darin Pope 27:24
Hip opinions, maybe little toe opinions. Maybe some elbow opinions.
Tracy Miranda 27:28
Yeah. No, I'm pretty good.
Darin Pope 27:32
Tracy, thanks for putting up with us today was fun. Yeah. Thanks for coming back to because it felt like we just got started good asking all the questions.
Tracy Miranda 27:42
Yeah, you picked on all the hard things I said and asked for more details.
Darin Pope 27:46
Yeah, well, that's sort of my job, right? Or maybe it is speaking of jobs actually have to get back to work. So I guess probably everybody else does, too. All right. Thanks again for listening to episode number 57 of DevOps Paradox.