PurePerformance - Roadmap to k8s, DevOps and more with Nana

Episode Date: May 24, 2021

Wonder what you learn when building k8s from scratch for a large enterprise? Wonder what you learn when automating delivery by connecting your different DevOps tools together?Nana Janashia runs one of... the most successful technical YouTube channels called TechWorld with Nana where she covers topics ranging from containers, docker, k8s, cloud native and DevOps. She basically takes her lessons learned and explains technologies and concept in a very easy way especially for folks that want to get started with.In this episode we focus a lot on DevOps, what the right trades of a DevOps engineer are and how to get started. Thanks Nana for your time and all the additional resources we talked about during the episode that are listed below:DevOps Bootcamp: https://www.techworld-with-nana.com/devops-bootcampDevOps Roadmaps for Humans with Bret Fisher: https://www.youtube.com/watch?v=UXf2c76KAyADevOps Roadmap: https://roadmap.sh/devopsLinkedin Profile: https://www.linkedin.com/in/nana-janashia/TechWorld with Nana YouTube channel: https://www.youtube.com/channel/UCdngmbVKX1Tgre699-XLlUA

Transcript
Discussion (0)
Starting point is 00:00:00 It's time for Pure Performance! Get your stopwatches ready, it's time for Pure Performance with Andy Grabner and Brian Wilson. Hello and welcome to another episode of Pure Performance. My name is Brian Wilson and as always, my co-host Andy Grabner is with me. Andy, how are you doing today? I'm pretty good. I wonder what else I learned from you today, because before we got to recording, you excited me with your language skills. You speak a lot of different languages.
Starting point is 00:00:45 I can say no in a lot of languages. Yes, yeah. Except? Well, I don't know it in any of the Asian languages. Yeah. I know, well, you're challenging me on German, but I can say it. I can say nein.
Starting point is 00:00:58 Nein? You know. Okay. But, you know, no is no in quite a lot of languages. So it's a great way to show that you know a lot of languages is if you want to impress people and win friends. I can say no in Spanish. But usually when you say it in Spanish, it's a little bit more of a no.
Starting point is 00:01:12 A little bit more. I guess if I ask my wife, it depends on where you're from. Like in Colombia, maybe a slightly different pronounce than in Spain or in other countries. Yeah. But you know what? I'm really glad. I'm really glad.
Starting point is 00:01:25 I'm really glad that our guest today. Exactly. I'm really glad that our guest today, neither said no, nor nine when we asked her to get on the show. Andy is the master of segways, everybody. Yeah.
Starting point is 00:01:40 And I don't mean the little stupid driving machines. Yeah. And this is why I want to, I want to, I want to pass it over to nana to introduce us because nana it's it's an honor to have you on the show and thanks for not saying no to us because i know you're busy welcome to the show welcome thank you i'm great i'm glad to be here on the show and i can actually teach you two more ways two more languages to say no in which are
Starting point is 00:02:05 to my mother languages which you probably don't know georgian and mcgrelian that would be cool mcgrelian what is mcgrelian mcgrelian is like a really small tribal language it's it's it's very close to old greek like we have some words from those. And Georgian is more like a Middle Asian language. From the sound, it sounds very similar to Arabic or Hebrew. So, yeah. So then, come on, tell us. Should I say no in those?
Starting point is 00:02:44 Yes. In Georgian, it will be ara okay and in gregorian it will be uh var interesting interesting this is no there's no resemblance at all to know but we have actually one weird thing which is we have the the in georgian we have mom and dad uh reverse so you say um so mama means actually father in georgian and then data or daddy actually means mother which i like i would really wonder like what is the reason behind it we just want to be different because anybody can yeah it was it was a it was a disgruntled teenager who was like i'm not going to do it the way everyone else does it i'm going to do it my way exactly uh and talking about this another great segue nana you've definitely been doing
Starting point is 00:03:38 it your way in the last year uh because you right this is it was a great segue again brian thanks for that yes uh nana maybe for those people that don't know you but i think a lot of people that are listening to us now know you because i think we we name dropped you in the last couple of episodes we had one with christian heckelman where he talked about things not to do when you start with kubernetes we highlighted your youtube channel take well with Nana. I think it's the link that I've shared the most in the last couple of months since I found out about you. Yeah. And it's just phenomenal content. Thank you so much for the stuff. It's amazing what you put out there. Thank you. Thanks a lot. When we started actually using this Kubernetes video,
Starting point is 00:04:27 so it was me and my friend of mine, I actually had all this Kubernetes knowledge, actually, that I painfully acquired through setting up the Kubernetes project in one of the Austrian companies. And while I was learning, one thing that I realized was there were just no resources online, at least back then.
Starting point is 00:04:52 There were no documentation, like a proper documentation. There were no forums where I would ask a question or I would see a question, the same question that I had a problem with, which had answers to them. So there was like a sign for me, there must be other people struggling with this thing.
Starting point is 00:05:12 So I kind of put together all my notes while I was learning, like configuring logging, monitoring, like all sorts of different stuff, like volumes and storage. And once I had those notes now I figured let's let's put it in the video format and just put it on YouTube so that maybe other people can can benefit from it so that's how I just sent a couple out today because I was having a conversation and just for people who are not familiar with it for context, you run the range of everything from deep dive three-hour sessions on becoming an expert in, I forget which one it was, in Kubernetes, obviously. But then you'll do a lot of higher level ones.
Starting point is 00:05:54 The ones I just shared, I was having a conversation with one of my account executives yesterday, and he was confused between Docker and Kubernetes. He thought they were the same thing, or containers in Kubernetes. And I was explaining to him, came upon that this morning on that on that specific video and i was like oh here perfect take this one and also while you're at it here's the difference between docker and vms because i was trying to explain this hierarchy to them um so there's a lot of so many like great just primers of the fundamentals you know besides the deep dive you got those fundamentals which so many people maybe you don't necessarily need to go dive down deep into these areas but you you need a fundamental understanding of that foundationally in order to do other things so really appreciate what you've
Starting point is 00:06:33 done it's quite amazing thank you and just coming back to the notes um i've been and now brian this is the first time i mention it i've've been doing a lot of installations of Captain, our open source project, over the last couple of months. And it's always interesting to then go on a Zoom session and try to help people. And the first thing you see is their notepad or their Visual Studio Code with all of their kubectl comments and then all the notes.
Starting point is 00:06:59 And I've also seen a lot of API tokens that I shouldn't probably see, but nothing is recorded. But it's, as you said, right, we are learning. This is a new technology. We're all learning. And we're taking notes. And it's great that you have taken these notes and put it into an easy-to-digest, easy-to-understandable format.
Starting point is 00:07:18 So I know you don't need more followers, but one or two doesn't hurt, I guess, more. So we will definitely put the links in now today because you have such a broad range of topics today we want to focus on devops because you also said devops is something that that you live and breathe and you've been you know doing a lot of work especially around automation i also because you told me this about this you had a great interview with Brad Fisher on bradfisher.com. I think it was called, I'm just reading up my notes, on DevOps roadmaps for humans. And there's some great discussion.
Starting point is 00:07:56 That's why I don't want to kind of repeat what you have said there. So if people really want to get some basics and behind the scenes from you and some initial discussions, I encourage people just watch this particular video, but still for me, what would be interesting for you from you to get is, you know, there's a lot of people that are first of all, trying to figure out what DevOps really means because there's a thousand different definitions. Should we get into DevOps?
Starting point is 00:08:22 What does it mean to become a DevOps engineer? Maybe I'm not suited for a DevOps engineer. I think knowing whether you want to pursue a DevOps career, I think that if you can answer, well, I don't have the right skills upfront, then maybe you are preventing people from investing in something that doesn't make sense either. So my question to you is, what's initially your reaction when people ask you, what's the right way to get started with DevOps? Am I in the right field? What do I need to know? Or what is a good indicator maybe that tells me,
Starting point is 00:08:55 maybe this is not the right thing for me and I should do something else? Like very often when people ask me, like they're usually in the IT field or they're kind of looking at different, uh, job descriptions and kind of trying to figure out, uh, the first thing I say is that you have to have some foundational knowledge because I think just jumping into DevOps as the first field in your, uh, IT career is actually wrong because you're just going to be overwhelmed because DevOps is like having an overview of how the whole like the complete software development deployment process works right so that's like too many things at once for for an absolute beginner so I always
Starting point is 00:09:39 say either do the development first or system administration or cloud engineering. So basically get some basics of those two. Another thing is that I think you have to be the type of person that likes DevOps because my observation is that you need to love and also you need to be able to think in a little bit more abstract way because DevOps is like,
Starting point is 00:10:10 you don't go deep into, you don't specialize, okay, now I'm like whatever, Docker engineer, whatever. In DevOps, you have to know so many tools because there's so many categories and there's so many pillars of this whole process right so i think you need a skill to be able to connect all those stuff on
Starting point is 00:10:33 more a higher level than like go deep into one technology so if if there are people who you know they become uh language specialized right programming language specialized. And there are people who like to be specialized in something. So for those types of people, I would not actually recommend DevOps because then you would not have, like, it's going to be really difficult to specialize in one or two technologies in DevOps because especially with the developments and improvements in the deployment processes and development processes. There are new technologies and platforms coming up, right?
Starting point is 00:11:12 So you actually have to be open and ready to learn new stuff all the time, right? And not only new technologies, like new concepts, right? We have this GitOps now, we have the DevSecOps now, the thousands of other concepts. And I think that this is going to continue emerging because there are really, really cool things coming up. There are people who are developing on top of Kubernetes, right? They're developing on top of these new developments
Starting point is 00:11:42 because they see that developers and system administrators, DevOps engineers, they see that there's a real value in these improvements. So I think it takes a type of person and also you need to have some kind of basics in IT. So I think, so if I hear this this right it's a specialist versus a more generalist because in the end this is what you need to have process thinking, you need to have obviously then still the people skills because you need to understand what are the individual requirements of the people that you want to you know make happy in the end which is you know allowing a developer to use your pipelines.
Starting point is 00:12:28 Still, I guess, though, because this is also what I'm seeing in our organization and other organizations, a key skill is to build all these integrations, to kind of glue all these tools together. This is a lot of business. And I remember I was browsing through the questions that you got from the Brad Fisher show. And there was a lot of questions that come in. So, well, do I now need to learn Python or is Bash better?
Starting point is 00:12:49 What do I need to do in order? Then, you know, I think a couple of questions around the tooling and scripting languages. So do you agree that at least kind of one of the traits of a DevOps engineer definitely is scripting because scripting is the fundamental thing to connect tools this has to be there yes yes absolutely i mean you can you can operate i think um it is realistic that you do stuff and you configure devops pipelines and processes without scripting uh but it's just gonna be be more work. It's going to be more work for you.
Starting point is 00:13:26 You've got to make mistakes. Things are going to blow up and people are going to be emailing you and chatting you. Developers will be writing you, hey, the application isn't working. The sysadmins will be emailing you. So it just makes your tasks easier, right? And then things just more transparent also so you don't have to do the stuff for everybody but if you write
Starting point is 00:13:51 scripts, you kind of give them, like developers or operations people, you give them the scripts and tools so that they can do stuff. You kind of running to each problem and fixing it yourself.
Starting point is 00:14:08 So what I also think is feasible is, especially if you're a junior DevOps engineer, you can definitely start by doing everything manually on your own, and then you can kind of evolve from them and start, you know, learn bash scripting or Python, whatever. And then you start automating what you're already doing manually. Yeah, I found that always. I think, Brian, we talked about this years ago, the automation piece, right?
Starting point is 00:14:35 Start with automating something that you do manually right now is a great way also for you to then learn a new language. I think we both had the challenge or we talked about this that you know every year pick a new scripting language because it allows you to first of all keep your brain fresh you know being up to date on new technology what's out there but in the end really use the technology to automate something that you otherwise are spending too much mental time in and yeah i would just add to that too you know from what i'm gathering there are two you can come into devops from either as a developer who's really into the other side of
Starting point is 00:15:12 things and maybe want to broaden or if you're on operations but you like doing some coding and you want to expand um but i think when a lot of people hear scripting there's a little bit of fear right oh my gosh now i'm gonna have to be a developer. But what I've learned, like, so my background and just, I'm sure people listening have heard this before, but for Yunan as well, I was a communication major. I was studying television and film. I got into performance because I wanted more money than what I was making editing videos, right? So I was all self-taught. And so I don't have development background. I don't have heavy programming background. But when Andy brought up this idea of like, hey, actually, I think you got it from Wilson Marr,
Starting point is 00:15:47 didn't you, Andy? It might've been something, there was a list of things for performance people. But the point is that scripting is not development and is not as complicated as development. It's very straightforward. It's very much you put in what you wanted to do. So don't let that be a hurdle, I guess, is
Starting point is 00:16:07 the point I'm trying to make, because it's really not as complicated as development. And it's a lot more fun, because you just do things and suddenly, you know, things start working. You're like, oh, that's awesome. It just made my life easier. And you run the same script a hundred times trying to figure out why the first 99
Starting point is 00:16:23 times you get a compile error or like a runtime error because of a variable not set or some strange things. It's a missing indent. Something like that, exactly. But this is now a question to you, Nana, because I want to see if you have the same observation. And maybe if we say DevOps engineers are,
Starting point is 00:16:45 you know, using scriptings, using scripts to automate things, gluing tools together, yet most of them might not be trained software engineers, which is okay, right? Because we need a lot of people that can do automation. Aren't there two challenges? First of all, if every organization tries to build automation, kind of gluing similar tools together, aren't we running in a situation where, as a global community,
Starting point is 00:17:11 we're building a lot of, let's say, similar glue codes? And because we're trying to solve similar problems, because in the end, a delivery pipeline, what does it do? It does build, it does deploy, it does test, does evaluate, does promote. So the first thing is, aren't we running into a situation potentially where we're all building and trying to solve the same problem,
Starting point is 00:17:30 maybe with just with different languages and with different skills? And the second thing is, if most of the DevOps engineers are not trained software engineers, don't we run into the problem that these scripts that they generate are not following good development, best practices, and therefore you end up with very hard to maintain code,
Starting point is 00:17:50 duplicated codes and you know just in the end slowing people down? Yes and that is absolutely the reality. For example, a lot of companies since they've introduced Kubernetes, for example, in the company, they still try to build their own self-hosted Kubernetes clusters. Obviously, this is a really complex task because you have to take all your Kubernetes clusters. You may have your own on-premise stuff and you may
Starting point is 00:18:27 be using some other servers. So you have to take this complex technology, you have to make it even more complex and then make it easy to use, like the APIs and the developers, and you have to have an administrator team who is managing the security and stuff like this.
Starting point is 00:18:43 And I know that there are a lot of big companies, a lot of medium companies that actually try to build this themselves. And of course, now you can imagine how much resources, how much training, because you have to, like, you really have to now start telling your employees that they have to learn the Kubernetes and how to build all this stuff. And obviously there are solutions out there that are trying to solve the same problem. So I personally believe, now this is a more complex example, but in terms of scripts or some more
Starting point is 00:19:18 less complex use cases of just gluing two or three technologies together and building some processes. My approach would be, I would first try to find, is there a tool that is already doing something like this, which is maintained by a community, which is properly tested with whatever technologies that probably the developers know about and then use that. Because exactly as you said, because even if you know the technology, right, then who is going to keep maintaining this stuff? And usually from my experience, this is usually one person in the team that writes the scripts
Starting point is 00:20:01 and then he has all the knowledge and maybe documents just a little bit for other people. If he's in a different project or if he leaves the company, nobody knows how to fix anything or how to change the code. So they kind of stuck with this legacy script, whatever. And I think you're just explaining the person of christian hegelman who we had on the show two episodes ago he was the one who uh gave us an overview of things not to do when we started in kubernetes because in his company two years ago he started with kubernetes on bare metal like similar what you were describing in your kind of gig that he did in Austria and then running through all the challenges that he had and and um it's fascinating and then also because I did another thing with him he was showing his GitLab pipelines
Starting point is 00:20:53 and his GitLab pipelines the code was like more than a thousand line long uh because it's like combination of the process like the tool integration here another tool here some some some bash scripts in there. And then he said, you know, I'm constantly waiting. I'm constantly reacting to Slack messages from his colleagues saying, pipeline broken, please fix, because nobody understands, you know, why something breaks. And it's not, I don't want to say something bad about him,
Starting point is 00:21:21 but it just ended up like that because he had to build these pipelines. He had to build the automation and he built it based on his best knowledge. But now it just becomes a maintenance nightmare. Yeah. Yeah. I also know a case, it's also in one of the big companies,
Starting point is 00:21:39 where probably a couple of years ago, I don't know, when they first installed Kubernetes, they used custom scripts to install the whole thing, and they obviously adjusted stuff for upgrade because at some point, time came where they had to upgrade the whole cluster, so they adjusted the scripts.
Starting point is 00:21:57 And a couple of years later, the people who actually, two or three people who were involved in writing the script, they're in a different project, and this Kubernetes installation upgrade maintenance, whatever, script is seen like a black box for the DevOps engineers, for the rest of the company. It's like, we don't touch that. It's very fragile, right? So nobody knows what's going on in the script, plus nobody dares to touch and adjust that stuff because they don't know what breaks, right?
Starting point is 00:22:34 And this is actually a reality in a lot of cases. I feel like my... Because Kubernetes was also new to me about a year and a half ago. And then with our open source project, we obviously had to figure out a way how can we install it with our users. But most of our users were also new to Kubernetes. So we then came up with scripts that were automatically installing either micro Kubernetes or keys, so K3S. And then these scripts started to grow. I maintain one of these scripts that is now like 500 lines long, which is, you know, setting up K3S in a particular version
Starting point is 00:23:09 instead of traffic using Nginx as an Ingress controller. 5,000 if-then-else statements of what else you can kind of switch. I mean, it is exactly, you know, as you said, it's becoming a technical nightmare to maintain this. Now, what's the solution then to this like if people are now we cannot give the impression that it's it's a cool world but on the other side it feels like we are we probably end up with a lot of challenges and technical debt how can somebody that is really interested in devops make sure that they learn the right trades to not end up in a situation where when they move from one project to the next, that they leave behind a big mess?
Starting point is 00:23:51 It's a very good question. Let's try to solve it. I mean, I think it still needs some time for best practices overall to develop for DevOps space, because it's still relatively new. So we still need to gather some experience. Obviously, in some cases, technologies and tools have developed, right? So you don't have to write those custom scripts yourself. You can just go and use them.
Starting point is 00:24:19 And I think that happens actually very logically, and it needs some time, because after some time, when a lot of developers, a lot of teams have the same problem, at some point there is this open source tool or some kind of technology or even a commercial tool that solves the problem, because then it's obvious that people can do that themselves. Same with the Kubernetes installation, right? The managed Kubernetes service is, in my opinion, a really good solution
Starting point is 00:24:56 for not having to maintain any scripts or not having to deal with Kubernetes installation because that is a nightmare, right? So no Ansible playbooks for installing Kubernetes binaries or no command line tools, right? So whenever people ask me whether they should use the managed service of Kubernetes or install themselves, I always say, please take that.
Starting point is 00:25:29 It may cost, like, from the beginning, it may cost a little bit more, especially if you're building a large cluster. But you also have to, exactly as you said, right, you have to understand that the people, like, if it's a company that decides to build their own Kubernetes cluster, you have to have people who learn or who know Kubernetes enough to be able to write those scripts and to maintain and do the upgrades, et cetera. So distributing, delegating the stuff to the services
Starting point is 00:25:58 that do it for you is one of the solutions. But in many newer technologies or newer setups, there are no such tools yet. So in that case, the alternative still remains that the DevOps engineers or the teams, they still write their own scripts or files, whatever. In that case, I think the common approach
Starting point is 00:26:26 should be that one person or two people shouldn't write those scripts, right? It should be actually like a team effort and developers should be involved in them because the script is usually doing something for the application, maybe doing something for the operation side. So I think the DevOps, one person,
Starting point is 00:26:46 one DevOps engineer shouldn't be writing that script. It should be from different areas people just coming together and writing that script and also refactoring them as well. That's actually a good point
Starting point is 00:27:02 because earlier I mentioned when I said, isn't there a threat that if scripters that don't have a proper education in software engineering or the expertise in these practices that we end up with large unmaintainable scripts. So I think what you just bring up is refactoring. Refactoring scripts is something that, you know,
Starting point is 00:27:31 hopefully whoever's listening in and just started a DevOps role and you've been writing scripts for the last couple of months, you know, think about refactoring. Because refactoring means rethinking on how you structure their code. Your code grows over time, but how can you make it simpler? How can you break it down into reusable components? Throw away things that you don't need anymore, right? Reducing technical debt. I mean, you are probably doing more scripting
Starting point is 00:27:52 or have done more scripting than I've done in the last couple of months and years. Are there any, from a refactoring perspective, is there great support now in tooling, like in the IDEs? I don't know, does Visual Studio Code provide refactoring for Python scripts, for Bash scripts? I'm not even aware of it. Do you know?
Starting point is 00:28:10 Yes. I actually wrote a lot of the scripts in one of the projects in Node.js because we had this microfrontend microservice application with Node.js plus iPhone, actually, the right libraries for whatever I needed. And I used the IntelliJ. It has actually the... Like in the paid version, you have this JavaScript support
Starting point is 00:28:39 and you have everything there. But it's the same way. Visual Studio Code is really good. Especially if you add the plugins and extensions for any... Probably not for Java, but for Python, JavaScript is really good. So definitely the IDEs, they're really good for refactoring. And obviously you mentioned version control. I think these are all practices that we all need to... I know this
Starting point is 00:29:10 should be nothing new for a DevOps engineer, but these are all common practices. Doing PR programming, code reviews, these are all practices. Now, the next thing would be test-driven development. Do you have an idea on how do you test your automation scripts?
Starting point is 00:29:27 It's just other testing frameworks for that or approaches? I haven't used any in my projects, but I think it's because I know test-driven development from development part, right? Because I was a software developer before I became a DevOps engineer. So, I mean, you have this trade-off, right? I think long-term, it always pays off. It's always a good idea to do a test-driven development because you don't have excuses anymore to not test your code
Starting point is 00:29:58 and you end up with a better code, obviously. However, this decision is often not made because of different reasons right because it slows down the development process because when you start writing the features it's it's maybe more exciting plus from the business point of view more features and we don't have time for tests right we there there are a lot of cases like this but i think long term it always uh pays off to to have tests uh for your um application uh especially if you don't follow those best practices of you know a pair programming code reviews because the the less you review your code uh the more tests you need right because? Because the more risk
Starting point is 00:30:46 that you're going to make some mistakes. Yeah, because if you have built an automation script that let's say does a canary deployment in a production cluster and all of a sudden you make a typo and you've never tested it before, then yeah, have fun. Hopefully you have some auto remediation in there.
Starting point is 00:31:10 Yeah, that's why I really like this new concept of GitOps where I think it is really important, especially when we start creating more infrastructure as code and when this infrastructure as code is also doing very important stuff, right? It's important to also treat them as just normal code, right? Or maybe even more carefully, because when you just add a feature, maybe, okay, one microservice is down, right? But if you have a script that configures, like you
Starting point is 00:31:40 said, IngressController or some more important stuff in the cluster, then you may actually ruin the whole thing, right? So the whole thing is down. So definitely, you need testing, integration testing, before you actually apply that to production cluster. And I think, or I hope, it's going to become standard also very soon.
Starting point is 00:32:13 You have a really cool section on your Tech World with Nana, the DevOps Bootcamp. And I actually thought when I asked you earlier, what should people do when they want to get started with DevOps? I thought, yeah, the first thing is you go to my DevOps Bootcamp. You didn't self-promote, but I'm promoting this now. But I want to ask you not to give a full overview, but can you give a quick pitch on what do people learn in the DevOps
Starting point is 00:32:39 bootcamp and why do you think it makes sense to go there? And also, what do they learn i mean quick audio if that's something because you know a lot of people are they want to become devops engineers and the bootcamp sounds like an interesting idea yes and i i think this was actually feedback from many people that they were thankful that there is such such a product because i also saw that you don't have this step-by-step structured thing where you go through it and you learn all this stuff. So what we actually did was, or what I did was, I set up calls with my viewers, subscribers,
Starting point is 00:33:19 people who are interested in DevOps, and actually asked them, so there are Udemy courses out there. They are my YouTube videos, right? That you, that you watch and you can learn Docker, Kubernetes fully. So what is, what is still missing? Like what, what are your pain points? Especially while you're trying to become DevOps engineer, right? And the most common thing that people were talking about was, so they learned Docker and Kubernetes on my website, on YouTube, right, for my videos.
Starting point is 00:33:48 And they went to Udemy and they learned AWS there and they learned Terraform, whatever. But these courses and videos, they're about one technology, right? So you learn Docker and Kubernetes, but what about like the combination, right? So how do you use Terraform with Kubernetes? How do you use Jenkins to set up a CI-CD pipeline with Docker, Nexus, Kubernetes?
Starting point is 00:34:10 The whole thing, right? Exactly as I said, as a DevOps engineer, you're not specialized in one tool. You have to be able to juggle with 10 different technologies. That was the main thing missing because that's actually the most difficult thing to find in documentations because in Kubernetes documentation, you're not going to read a lot about how to integrate
Starting point is 00:34:36 into different CICD pipelines. That was actually the main focus for us to build a structured guide. So you don't learn like tool by tool, but you learn like you go through like a path, so to say. So you start with now we are adding Linux because, as I said, you need some basic basics to start with in DevOps. And, you know, you learn Docker, you learn Jenkins, and then immediately you learn how to integrate Docker in DevOps. And you learn Docker, you learn Jenkins, and then immediately you learn
Starting point is 00:35:07 how to integrate Docker in Jenkins, right? And then you learn AWS and Kubernetes, and then you learn, you have demos and projects how to use these four things together, right? And how all these kind of combines. So I think in terms of that, that's like something that was completely missing for people and the most difficult thing. And I also think when you apply for a job
Starting point is 00:35:35 and you start working as a DevOps engineer, like let's say a junior DevOps engineer, I think it's probably one of the jobs where you're mostly overwhelmed at the beginning because the people are going to come to you, oh, there's a DevOps engineer. Let's give all the difficult tasks to this guy. Exactly.
Starting point is 00:35:57 So another thing, and that was actually also from the feedback, was people just didn't feel confident in their abilities. Like they've learned, they've been learning for two, three months, like a hundred technologies, but they didn't know, like, am I ready for a DevOps task? Can I, you know, can I perform at a DevOps job? Like they were really stressed about that, especially as an entry-level DevOps engineer.
Starting point is 00:36:24 So that's another thing that we kind of take away from them. Because when you have built like an end-to-end, fully like 10 technology combination processes, you know how things work, right? And in each category of DevOps, like the CI-CD pipeline, the infrastructure as code, Kubernetes, containers, container orchestration, cloud, in each category, we have one tool. And that's also something that I believe in, is when you learn one technology, you are going to be able to learn similar technologies very easily because the concepts are similar. Exactly, if you understand the main concepts, like if you don't just focus on the technology but also the underlying concepts,
Starting point is 00:37:18 it's going to be super easy for you to learn new stuff. So, yeah. Hey, I have one more topic that I want to throw out, but I'm also a little cautious of time. So before I throw out the topic, I want to ask you, is there anything else? Because I remember when we talked about doing this podcast, you mentioned, hey, it would be cool to pick up some of the questions from the brett fisher interview that you gave that you couldn't answer is there anything still in there that we haven't
Starting point is 00:37:51 covered anything you want to throw out that you remember why i would have loved to have time or do we cover a lot of it i don't remember any of the questions actually you don't have memorized the list i didn't remember this one as well like the names of all the people you're going to get your revenge on like we all carry around with us i remember like mostly like topic wise they were all around like uh how do i get into devos like where do i start like this entry level thing yeah and the other category because i looked at the because if you watch the thing on youtube you see the the chat history and a lot of the other set of questions was around uh you know what's the tooling everybody was asking what is the right tooling what is the
Starting point is 00:38:35 right tooling and this now brings me to rephrase that question to you and i think you answered it earlier but is deciding on the right tool the first thing you should do or not when you go into DevOps? No, absolutely not. And that was probably one of the reasons why Kubernetes became so popular because it was kind of like the new hype. So everybody was like, that company is using Kubernetes, so let's use Kubernetes as well. And we had no idea what it was.
Starting point is 00:39:07 What is it? Do we even need it? I mean, it's good. It turned out pretty well for Kubernetes and the whole DevOps world. And that's actually a really good question because I see a lot of people, also the teams that I do consulting with, right? Should we use this and this and this? And I always try to, because first, before I tell them
Starting point is 00:39:34 whether they should use the tool or not, I tell them, let's go through the processes. Let's see what is the existing process, right? What kind of application are you deploying? How are you deploying it? What are your offline processes, right? How kind of application are you deploying? How are you deploying it? What are your offline processes, right? How is the whole delivery? How does your
Starting point is 00:39:49 how do your sprints are designed and how do they work? And then based on the existing processes, we decided on the tooling, right? Because it's the wrong part to start with, right? First of all, do we have a problem that tool solves?
Starting point is 00:40:07 If not, then we don't need the tool. Yeah. Cool. So now to my other question. Now, we talked about DevOps a lot, and it seems in the discussions we had, we focused a lot around automation of delivery, pipelines, building, deploying, testing, promoting, and all that stuff. I've been kind of active.
Starting point is 00:40:29 I wouldn't say active, but I kind of have been trying to follow the DevOps movement over the last couple of years. I did a lot of presentations, but in the last year especially, I also talked a lot about SRE, site reliability engineering. And my definition, or at least where I try to explain, and this is one slide that I have,
Starting point is 00:40:51 where I see DevOps and SREs kind of working in the end, hand in hand, but coming from two directions. And I want to just get your feedback on, because this is a slide I'm using a lot, and I want to just maybe get it validated so that you can say this is complete bullshit. You need to change it.
Starting point is 00:41:07 Or maybe I have something there. But from my perspective, DevOps is using automation to speed up delivery. And they are measured on things like deployment frequency, lead time to change. These are two of the DORA metrics. And there are more other metrics. But DevOps is really like using automation to speed up delivery and hopefully also increasing quality. On the other side,
Starting point is 00:41:30 and this is where I see the SRE movement coming in from operations. If you have constant more change coming in, then you want to somehow protect your SLOs, your SLAs in production. How do you do this? if the guys over there are using automation well you use automation in production to make your system more resilient because you want to make sure that your I think your change failure rate and your time to restore
Starting point is 00:41:56 services and the other two big metrics on the Dora Institute stay in acceptable levels so my question to you now do you see this as well? That is that kind of two teams still kind of the, the, from dev to ops automation or from, from dev to ops teams, and then the other one from ops to dev, both using automation and in the end, trying to deliver faster, but still maintaining the stability of the systems. Is this how I get it right or not? Like per definition, that's exactly right. Like that's the idea behind it. That like DevOps is coming from the developer side and the other one is coming from the operation side
Starting point is 00:42:38 and they kind of, you know, have to work together. For me, it makes complete sense why there was a need for another kind of chain, like part in the chain. And the reason for that is because the DevOps engineer kind of emerged. First of all, DevOps engineer was not even an engineer, right? It was a culture originally that was supposed to be
Starting point is 00:43:01 for bringing developers and operations together so that existing professions could collaborate. And that didn't happen because there was just too much space in between them, so there was a dedicated profession, so to say, necessary for that. However, the DevOps engineer profession also just became too large because when you think about it, sure, DevOps engineer has to know developer stuff, right? It has to know really well
Starting point is 00:43:32 how the Git workflows work in the team, how are the CICD pipeline design working. But on the other hand, the operations part as well, right? Configuring the, like, not administering the service, but really configuring, preparing the server environment and stuff. In addition to those two parts, they had to now learn
Starting point is 00:43:54 a lot of technologies that wasn't responsibility of either developers or operations, right? So, at the end, it is just a lot, right? It is too much so i personally see um uh that it's very logical and makes complete sense to have another uh part there that kind of is more towards the operations and another one more towards
Starting point is 00:44:19 developers because then at least we can like uh draw clear lines between those responsibilities and it's not one person who has to do like 80 percent of the of the stuff and to also share responsibilities um i still think it's too early in terms of like how it's actually implemented because i don't think there are many teams and many companies who have DevOps engineers as a team, but not just one person, and have the developers, operations, and SREs. So as I said, it makes sense, but probably we'll need some time for us to see that in real projects.
Starting point is 00:45:00 Do you have any plans to talk about site reliability engineering in your tech world with Nana? Probably. Probably. Yes. I mean, I like to, like, I realize that a lot of my subscribers and people who are viewing there, like, there are people who are interested in new stuff, right? Because, you know, when you come to learn, I don't know, Terraform and Kubernetes and stuff like this, like you are interested in new stuff, right? Because when you come to learn, I don't know, Terraform and Kubernetes and stuff like this, you are interested in new technologies. So I want to cover all the new concepts
Starting point is 00:45:34 and kind of keep track of what's new and what's coming. Definitely, yeah. It's a no, because I think the world needs content, especially in this new profession and somebody like you that can really deliver complex topics in an easy to understandable way are people that will
Starting point is 00:45:56 help our community to just adopt this faster and I really understand what this is all about alright Brian did we forget anything or did we i think we covered quite a lot there um you know it's funny i was just thinking about youtube today as i was watching some more of your videos nana and i have a lot of other not a lot but several other channels that i subscribe to for you know some like analog instrumentation or learning midi which is a computer interface to keyboards and all this.
Starting point is 00:46:26 I was just thinking, where would we be without YouTube? I mean, there's a whole other side of YouTube, which I'm not even tapped into, the whole dark side of it, right? But from the educational point of view, what an amazing tool, and the content that people like you are putting out is just so amazingly helpful.
Starting point is 00:46:42 So for you and everyone else that's doing all this great stuff, a real big thanks for me because I'm learning all the time from them. So I'm sure tons of others are. Thank you. Thanks. Well, I learned a lot of,
Starting point is 00:46:56 like when I started in programming, I learned a lot of stuff from YouTube. So same for me. It's replacing the call to your parents to say, how do I do this? Because you always used to ask them. Let me just look it up on YouTube. So yeah, for me, well, it's replacing the call to your parents to say, how do I do this? Cause you always used to ask them, let me just look it up on YouTube. I don't feel like talking to my parents. One last thing, because Brian and I keep talking about this. One of the cool things about running a podcast is you actually get to talk with somebody in a field that you would like to learn more about, right?
Starting point is 00:47:25 And then you have this person there for an hour and you can actually ask questions. So it's, it's actually, it's great for our listeners that they learn about you and stuff that you do in DevOps. But I think it's also very selfish from us because we also want to invite people that we want to learn from.
Starting point is 00:47:38 Do you feel the same way about your YouTube channel that you actually big things that you actually want to learn and therefore, and then get time and Fortunately, it pays off. Yes. Definitely. Yeah. So most of the content is definitely like, oh, that sounds interesting.
Starting point is 00:47:56 Let me try this out. And then, yeah. But then that's what actually makes it fun as well because it has to stay fun for you as well. Yeah. All right, sir, should we wrap it up?
Starting point is 00:48:11 Sure thing. Yeah. I don't typically, I do a summary, but it's hard to summarize everything, which is. We haven't done a summary in a while. That's kind of falling off.
Starting point is 00:48:19 I know. So Andy was the summer Raider to take off on the Terminator because he's Austrian. Right. So, but we haven't done that in a while. So I guess we'll just wrap up. So you mentioned, we mentioned, I think before the show started, some cons you were going to.
Starting point is 00:48:33 Do you want to, any that you want to plug that are coming up? Or any other thing that you want to plug that you have coming up soon? The next one coming up is docker con there is actually a german room a dedicated german room for the german speakers if they want to attend yeah and
Starting point is 00:48:56 that's it awesome alright well we'll put a lot of links to the stuff in the show notes I want to thank you very much for being our guest today thanks again to all of very much for being our guest today. Thanks again to all of our listeners for listening to us. And we hope to see you all next episode.
Starting point is 00:49:12 Thanks a lot, everybody. Bye-bye.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.