Man, who's got fried eggs on their head? That looks awesome. Test me. Super jealous.   The fried egg's the worst egg to do. I'm a fried egg, Dan. Yeah, you could be a fried egg. What? Yeah!  Aw, you guys, hey! Eggheads! Yeah! Hell yeah! This is sick, guys. This is so sick. Alright, let's go. First ever recorded session. Why is my name read? I'm scared. Dan, mute your mic. How do I do that? Bottom of Discord.  He still hasn't done it yet. He's still unmuted. This is the first ever recorded session of, uh... of Among Us, and I'm dead immediately. Wow. Hate it. You hate to see it. Oh, dearie. Oh my. A body has just been found us. I saw who went that direction, and I forget who the second one was. Where was it? Where was the where was the body? Right hand side in nav. I think Dan is safe, because I feel like he would have outed himself as imposter right at the beginning. I don't even know what I'm doing. And you're doing it so well. That's the excuse that people use. That is the deflection that people use when they're new players. Okay, so someone in that area, do we have anything to go on? Oh, do we have anything to go on? I saw Jayden for a second, and of course that's why, because they're dead. Me and Alpha were together at O2. That's all I saw. I was with Alpha and... Alpha, I believe, in Electrical? I was with Jack in O2. Okay, somebody was with me in Electrical and I don't remember who. And it was me, because you killed me, Alana. Double kill was fresh, because the round was pretty new. Yeah, I think someone killed and went into Nav and vented. I think I know who it is, and it's not because of Jayden on the right side of the map, but it's because Ethan is dead on the left side of the map. How do I know what's on the left side? Because I passed him on my way over to Admin. Aaron saw me in Admin. He can confirm that I was there and not doing anything suspicious. But I saw Ethan head to the left side of the map, where Charo was. Yeah, I was literally just... I'm gonna go for that. I'll vote on that. I'll vote on it. What are you doing? Yes! I'm in blue. Yes! What do you want? I voted for Ross. Man, what was that for? Drums, he pointed a lot of fingers. Good. Kinda saw us, not gonna lie. Don't tell us on the left, that's what I'm hearing. I voted for Ross, because frankly, I've never trusted him. Fair, fair. I think, so this is the first time Dan has played. And I don't think it was a... Fuck. I don't think it was explained to him at all how the game is played or what to do. So this is going to be very interesting for one Dan Avedan. Oh, my little friend! My boy, god! Dustin, this is gonna be great for you because you don't have to edit down a 4 hour stream. It's gonna be only like an hour, maybe a 2 hour recording.  Ross, did you self report because he voted you? No, I ran up to it with Aaron. Okay, so you both saw that the other one wasn't the killer. Drums, he was pointing a lot of fingers. I was on the cameras. That's, I would be too if I didn't have tasks. I'm voting for Drums. No, I was on the cameras. You could see the blinking light the whole round, I promise you. Alpha saw, you saw the blinking light. You walked near Nav. Yeah, but Aaron, what did you say? Why does that mean you're not the imposter? Well, because I've been on the camera the whole round. I would too if I had no tasks to do. Yeah, I would too if I had no tasks to do.  Guys, don't do me dirty.  Why would I accuse my other imposter? Dennis still not.  Just hilarious. What did you see? I just saw Ross there. Yeah, we walked up on the body together. Okay. At the same time? I was sort of distracted by other shit, so I kind of walked over it. Let's skip. I'm skipping. Let's skip. I still don't know who the other imposter is. I haven't been in dead chat. Oh, no. I'm sorry. Wow. Oh, no. Good boy. What have you done? Well, well, well. Where are my egg brothers? Oh, good. Fermi checks are off. Okay. Just got to finish my tasks. That's all I've got to do. Just finish my tasks like the good, good boy that I am. And I am such a good boy. Don't you think so? Don't you think that I'm a good boy? I think so. Ross and who? Ah. It is Ross and Alana. Ross can never be trusted. Dan was right. He said right off the bat to not trust Ross. Damn, dog. That's crazy. Wow.  Wow. It's Jara. He even murdered. I told you I didn't trust them.  Ross stabbed me and then super calmly said, Okay, I found a body in the reactor. Alana coming into electrical being like, I saw somebody else in electrical. Oh, was it my dead body, Alana? No, it actually was someone else, but I did also about it. I'm so sorry, Ethan. Yeah, whatever. Okay. How do I kill? Just kidding. I don't think he is kidding. He's the thing. I don't think he is kidding. Let's do this for a million years. Okay. Sean, why are you just standing there? That's weird. I didn't like that. Uh-oh. Uh-oh. Uh-oh. Oh, no. Oh, Med Bay. Let's do Med Bay. Why not? All right. Immediately, little sussed Dan for saying that. And I'm also a little sussed.  It's weird. Oh, the oxygen. Jaden, would you like to explain to me why you were hanging out in the lower left engine and their body right in front of security? I wanted to see if anyone would pop out of the vent. That's honestly a really good defense. Yeah, it's not a bad strategy. I don't know. Sean, at the beginning of the round, you were just standing in an admin over in the corner. What was that about? Yeah, I was trying to see if people were doing the thing and then the bar was all confusing because everybody was doing things at the same time. Yeah, that's true.  I got no information out of that. I was at the vent a long time and I didn't see anyone else there, so they had to come from the top. Okay, well, I'm suss on Jaden. I'm doing my duty as a crewmate. I never trust Australians anyway. Well, your duty as a crewmate is to do your task, Jaden. Not necessarily watch for the vent. I can do that too. Okay, let's go to NAV. Get all that done. Alana scares me a little bit to be, if I can be completely honest with you. And am I right to have that mindset? I might be right to have that mindset, actually. Okay, let's go. Sean, I saw you were watching me do the navigation task. Did you see the bar go up? Yes. Oh, your bar billies? Well, I didn't see the bar go up. I think I'm sure that you're fine because you did the download the exact same amount of time as I did. Yeah, and that's a bit weird. The body, right? Yeah. I saw, I was in security on cams.  Okay, well, it definitely can't be Ross then. Or Ethan. It wasn't me because I was already in electrical standing on the vent. That's a solid alibi. Chin. I kind of want to just let this one ride, but all arrows are pointing. I don't think she would confess to that if it was her. I don't think so either. This is a tough one. Maybe she knows that you would think that. Why would I go into electrical, be on the vent, go down, kill, and then go back to the vent? I should just stay on the vent. To throw off everyone's trail. Trust Jaden, that's all I'm saying. I don't trust Jaden right now. I think Ross and Sean are sus because they're defending each other. Yeah, because we were on the opposite side of the map. Yeah. They are too impart. I don't think that they could be the imposters because they were in O2 with me and they would have killed me. What were you up to? So I did the card swipe and admin, Aaron saw me, and then I left towards cafeteria with the bar if you were on cameras. The bar did go up because I was on the guy again. And Alpha saw me leave and go up. These are facts. Wait, who was on camps? I was on camps. I saw you and Ross actually in the right together. Okay. But I don't know how long that body was there. I will say that. Okay. So Jaden and Aaron maybe? No. I don't think Aaron would turn on Jaden so quick. I honestly don't think so. He turned on me and Ross. If Aaron dies next round, the imposter is trying to kill Aaron to bring us sus on us. I think it's probably Aaron though, because I haven't seen Aaron much at all.  Alright, it's Ross and Sean, period. Okay, it's Aaron. Period. With a T. Why do you think that, Jaden? I think it might be. I don't know. Just the vents told me. Have the lights been fixed? They have been fixed. Okay. Jaden, get away from me. Report. Okay. I found Sean's body in electrical and I don't know, Aaron, if you came out of electrical, but you were coming from that hallway. Care to explain where you were? Aaron, please. What was your pathing? I ran and I went left and then I went down and then I went right. I don't go in electrical. Those are all relative.  Can we talk about Aaron's whereabouts? I'll say that. Aaron, it is a little spooky. What? What was that, Aaron? I was just saying that Ross is still alive. I think that. That's kind of weird that Sean seemed to have confirmed me and now he's dead. That is so... I think we should vote for Aaron. I think we should vote for Aaron. Aaron saved around you and Rekt has been out all the time. Voting Aaron. Yeah. Come on, man. Yeah. Yeah, that's really crazy. That's really crazy when you're the imposter and you just let Ross say it's Aaron. That's crazy how that works. Yeah. That's crazy. There he goes. Okay. Damn it. You're very sus, Aaron. Fuck. Ah! Ah! But what was he doing? You know, what was he doing? Who is it? The imposters are playing a good game this round. Please get the other one, somebody. Somebody, please. Jaden, please don't kill me. Jaden's the imposter, isn't he? Whoa! Gosh, I'm dinged down. There it is. That was good. If you suspected it, Malfa murdered me and then immediately reported it.  Wow. You guys are really good imposters. You shouldn't have been paired together. It's all about keeping a calm voice and letting everybody else do the job for you. That's true. Well, I got a show to do and I have to be bombastic by nature, so understand what's going on with me. Yeah. My failing as a YouTuber more than anything. Damn it. I will guard you with my life this next round. Thank you. The important thing is that we had fun.  Oh, good thing I'm a crewmate then. Immediately sus. Immediately suspicious. All right. All right. All right. I'm going to do these wires real quick right here. All right. All right.  There's two out in the open. Two out in the old pond. Reactor, let's do electrical. Dan, you're not muted. Dan, you got to mute yourself. Dan, don't you think I would have if I could have? I think it might be Dan. Ethan, is it an electrical? It's an electrical. Oh my God, I know who it is again. Who is it? But you have to listen to me this time. It's Alana again. All right. What? I'm a med bay. Okay. Well, you can. Okay. Yeah. There is a vent in there. There is a vent that goes from electrical there. Walk through.  I last saw Ross in electrical. How else would I know that it's in there? Unless it was me that killed him. But fuck, I shouldn't have even said that. Anyways, Alana was the last person to walk in there when I was leaving. Dan, was that you? Good enough for me. I'm kind of upset Alana being voted out because I was trying to kill Dan that entire round. Dan, what were you laughing at? I was just trying to figure out where I was going and I was getting followed everywhere. I'm glad to open up the map. Listen, all I'm saying is, I didn't think you'd find Ross that fast. Okay. So, all right. Oh no. There it is. Maybe. Wait, so is it Alpha or what?  Nobody's going over to O2. Come on, gamers. What's up with that? There's a lot of people hanging out over here. A lot of people hanging out. It's like everybody's over here on the left or the right. It's a little weird. It's a little weird. Calm, something sabotage. Dan, why don't you know how to beat? I think it was Aaron. I think it was Aaron, guys. First of all, the comms got sabotage. And killed Alpha. And giggled, mind you. Those aren't giggles of happiness. They're giggles of like maniacal evil. I watched it happen. I will say, Dan was also the last, the only one who skipped last round too. Wait, Dan, what's your defense? I'm going to defer. I'm going to, uh, well, you're going to jail, Dan. It was just so funny because like I was trying to get away from everyone so I could kill someone, but so many people were trying to protect me that they kept falling. I was following you when I was dead that whole round just being like, let's do a buddy. What's the plan here? Dan, do you know how to assign mute to a hotkey? I know. Okay. Okay. Go to the little cog by your name in user settings. It says user settings. And then go to key binds. Oh, wait, hold please. This is already beyond the scope of what I'm capable of. Okay. You found key binds. I can't even find discord. Just, uh, just all tab until you find discord. All tab. I got it. I got all tab was the key. I did it. Okay. Go to go to the little cog by your name on the bottom left user settings and then go to key binds and then press add a key bind up on the top right. Got it. And then on the action thing, find where it says toggle mute. Excellent. And then next to it, it'll say key bind. And then you press edit key bind and then you make it whatever you want. So like my toggle mute is five. So you can just put it to any key that you want. I would just not put it to a key that you press a lot. Put it on kill. Kill button. You just hear a boot. Got him. Give it a test, Dan. Give it a whirl. Okay. How's this? Get it wrong. Perfect. The point is that we had fun. We got to figure this out. Okay. Go back to your key one thing. Show us your mute. Okay. I don't think it's working. I haven't done it yet. Okay. Okay. Okay. Now you press it again. Oh, that was funny. That was good stuff.  Lovely soul. Guys, I am getting those electrical swipes. Getting them good. Sean septic man making me a little anxious. Very speedy. I just came into frame. Where was everybody? Dan, you should know. Hey, everyone. Hey, Dan. All right. So I was in admin. And Sean and I were pretty much together the whole time. I was in admin and then I went down into storage. And yep, it was in storage. By the gas can. Tell you the name of the place that I've been because I don't remember what it was. But Ross, you just passed me. Where am I? I'm doing the leaf thing. Oh, you're an O2. Sorry, I wasn't looking. I was on cam. Sorry, someone saw me on cams. Who was that? Who was the cutie on cams? Me and Jaden. Okay. Where's the body? Storage. Storage. Okay. Left side. Who saw it? I did. So like who's been in storage? I mean me and Ethan, but we've been. I've been in the whole time. What was your path? So went to med bay turned on the 62nd countdown and then went through cafeteria to the top right and Ross saw me. Yeah, you looked at me and then ran left. What were you? I just didn't want to like, I didn't want to stand close to you in case you were there. I'm going to be a good crewmate. And I posted a detailed map in general on discord. If anyone has questions. It shows how all the vents connect and where the cameras show. Oh, you're the killer, aren't you? You're just trying to make us happy. Yeah. Trying to buy fame. Killing with kindness. What can I say?  Definitely something a murderer would do. It's like a boss fight, right? Here are all the resources to figure me out. All right. You forgot to come back here later, though, because the killer is going to return to the scene. I agree. That's understandable, Aaron. Yeah. Well, I do not follow you.  I understand.  I'm going to be mute. For these things. I'm going to take 23 hours. That's okay. We got time. You know, we got time. We got time. Let's do this. Let's do that. Let's come down here and just fix these lights. There we go. Fix the lights. Good. Good. Good. Good. Good. Good. I'm being a good boy doing my good boy tasks. If anybody kills me, that's a sin. And I will not. Oh, boy. Oh, boy. Oh, boy. Oh, boy. Oh, boy. Oh, boy. Oh, boy. Oh, boy. Oh, boy. Oh, boy. Oh, boy. Oh, boy. Oh, boy. Oh, boy. Oh, boy. zurück. Oh, boy. Drums, you came in. Aaron came in right behind me or right behind Aaron. Wait, no. Man, Aaron came in right behind. Drums self and then I went backup. I saw Aaron kill drumsy and then he vented. I'd like to use that catalog. Conviction. Yeah. I don't trust it either. Dan, are you the imposter? I don't know. I trust him. Okay. Okay. Yep. Well, that, that's, so that's what happened. Well, it couldn't have been Alana for this kill, because she was in the hallway. Well, it's because it was Aaron is why it couldn't be. That's, that's very true too, actually. Yes. I was on the admin table and I saw three people, then two, then three, then two. Very uncool Aaron. It was actually a bad guy or he was just guys. He thought it was Dan's say I don't know because they had the grumps as imposters. Maybe, maybe that's possibility. That's possibility. I got an email from my accountant. Birdie. And that's my song. I hope that you enjoyed it. Oh, no. Oh, no. Oh, no. Oh, no, Dan. Oh, no, Dan. Dan, please, please. The love of God. Dan, I'm a little afraid. I'm a little afraid boy. Do I have anything in here? Yes, I do. Dude, I am so good at this game. Getting all my tasks done. I got Aaron red handed. Or shall I say blue handed? I'm gonna, I'm gonna ping the emergency button. Hello. Hello. I thought it was maybe time somebody did that. Yes, I've called this meeting today because we know that Aaron is deceased because he's an imposter and I called him out. Now I would like to toss a question to Dan. Dan, what have you been doing this round? I've been running around. I can actually vouch for that. Yeah, we've come and run tasks multiple times. Yes. The council. But what, what tasks have you been doing? Can run around. You can do tasks? All right. I voted for Dan because there was a couple, there was a couple of times.  Just now in the cafeteria, I was doing wires and Dan came to go and get me. I'm assuming. And then I started to run away and then he turned away again. So I'm just saying I can, I can confirm with like 99 per cent certainty. It's not Alpha, Ross, me or Ethan. So if it's not Dan, I'm fine to kill Alana. I will say. Hey, I saw, I saw Dan vent. Why did you just mention this now? Because you remember that Dan? Venting is like expressing my feelings in a long way. Yes. Yes. How are you feeling, Dan? I'm all right. Yeah, he's feeling a venty. Yeah. I'll be honest. I was a shot in the dark. I was just hoping he'd say, Oh, darn it. You got me. Well, well, you know, okay. Dan says it's Ross. Yeah, well, you got me. The game grumps. Yeah. I kept chasing you.  I knew I probably wasn't doing well when Ali texted me the map on my phone. I knew it. I knew it. I knew it. Dan, report my body. I don't think he knows how. Unless it's Dan. Oh, no, I think he thinks that he has to go and press the button. Oh, I think he think, no, he must. Oh, he's the imposter. Dan, Dan, why you do? Wow, that's so sad. Oh, someone left a drumsy in admin. Was that Jaden on cams? That was me, actually. OK, I was in front of the cams. Jaden was technically on cams. I just felt like some late doctor Vujo or Dujo in the air. The mind link we have to play Dr. Men, so Aaron, Alana and drumsy were in Nav and Jaden. Jaden was on cams, looking at myself in the reflection. Aaron was kind of hovering around and then Alana went down, I think. I did shields. The drums, he also went that direction. And now right before me. Yeah, yeah, and then I went to electrical and then I ran up to security. And that's when I went, well, you know what? Nobody asked you, Ross Ross acts in kind of sus right now. He is. Huh, I also think Aaron is acting weird with his. Yeah, I think that's a bombastic internet funny man nonsense. Aaron, are you are you voting for content? What? No, I just that's my thing. I just vote really quickly for no reason that I do that. I don't know what we're voting. I skipped it to me. I'm just quirky. I frame people for murder. I voted for the killer for us. Oh, wow. No, I stand with you. Thank you. But I also say I'm not saying anything. All right, just got to try and do my tasks. Complete all of my chores that mommy has set out for me. And if I don't, Daddy's going to be mad when he gets it. OK. I hate myself. I hate myself. I love it when the wires are like this. Can I just say I love it? Someone killed him right on oxygen. Yeah, I mean, Sean walked up on it in the upper O2. Not the admin one. OK, so it's not me, Alana, Sean or Ross. Well, I guess. Have you cleared Ross? I know it's not you. Oh, wait, no, it's not Ross. I was just so Sean and I were kind of following each other. And then Alana was in storage. So unless it's not well, two people are dead, actually. Yeah, you are to be believed in its Ross and Dan, in my opinion. Why isn't it you? Yeah, why isn't it you? I didn't do it. But he didn't. Wait, when it was going off, Alana was coming up from storage. It kind of looked like she just joined us for the sake of joining us. Well, I just went to admin to do the O2 and then waited until I cleared that Jaden had done it. All right, I want everyone to know that the good job that I've been doing on this ship as a crew member, OK? I wanted to have a career. I noted the beautiful menu that they have, and I had to upload it to admin so that everyone could get it on their little tablets and know what's for lunch today. Oh, my God, thank you. Well, then I didn't read it. I just saw the transfer. I don't believe it is Aaron. I think it's Aaron Ross or Alana. I don't know why I was expecting me when I was doing such a good job around. I placed you with drums. He lasts and that's the only reason. And then you. OK, sure. I'm actually nobody putting the finger on Dan.  And he hasn't said I feel like that's true because he's a nice puppy dog. And I don't want to. Yeah, I don't think I will ever put the blame on Dan unless he noticed someone in front of me again.  Oh, I didn't know that he'd be here. Oh, my gosh. What? It's right. It's Dan. Let's do the reactor. So look, these manifolds. Let's go. I was in your office. Yeah.  Damn. Remember when Aaron accidentally picked the imposter? What do you mean? That was really good. That was sweet. That was good stuff.


ав 칙u mo bi  Потому  cervical                     the and trying to secure it. So this talk is, you know, I'll say for the newbies, people trying to delve into the whole cloud native bandwagon, the ecosystem and then just to give you like a route on how to go about learning these technologies. So for me, it all started with the workshop when I was still in uni during my final year studying software engineering at Cardiff Met. So and I think it was six of my friends. We had like a friend group. We tried to attend as much workshops and seminars as possible. You know, possibly ones that will give us some badge to add to our LinkedIn profile to help us with our job search and job hunt. So that was how we came across the Kubernetes workshops and we all jumped on it. And then it was, I'll say it was a good experience. Then even though everything was so vague and so alien to us at the time. So but the instructor did a very good job starting to explain, give us an overview about the different architecture and the monolithic architecture and the microservice architecture. So for me at the time I got to, you know, understand that all this while I've been developing, you know, using the monolithic architecture without even knowing about it, went on after the research to, after the workshop to do my own research to really get to understand these different architectures. So, you know, for me I was like, if we've been developing using this architecture and everything has been working fine, so why they need for the whole microservices and Kubernetes, because everything sounded so difficult. So I'm just going to touch on some of the advantages of monolithic architecture and the disadvantages and then we'll move from there. So I guess one of the key advantages of the monolithic architecture will be that, you know, it's very easy to develop. You know, you could develop an entire application and get it to market very quickly compared to microservices. It's very easy for a team to pull together and build an executable app using this architecture. And then it's also simple to deploy. It's not as complex as your microservice technology. Multic applications have fewer parts. So there are fewer components to manage and to fix. And, you know, all in all, everything is self-contained and it makes it easier to deploy your application. Sorry. And then uncomplicated testing and debugging. Testing and debugging is, you know, a very big part of the debate of monolithic architectures versus the microservice architecture debate. You have to test all the parts of an application, of an application separately in regards to your microservices. You have to test that they work properly and also test that each service fits together and communicates properly. And then you also have the case of cache, caching, dependencies and data access. Forgive my pronunciation. English is not my first language. So, you know, we regards to monolithic architecture. This is another case because the application is fitted as a single unit and works together as a whole. You can do everything quickly and easily from a central login system. But it also has its own disadvantage in the sense that it's less scalable. So, with the monolithic architecture, because the software is tightly coupled, you know, it can be very difficult to like scale the software. For instance, if you wanted to like advance a particular feature or part of your application, you literally have to take down, you know, the whole application just to alter a single feature. It's difficult to adapt to new technology. As mentioned, it's a tightly coupled architecture. So, if, for instance, you take a music application, for example, where you have your catalog, it's tightly coupled to like the purchase and the play services. If you wanted to like just maybe alter the features of the catalog or the play purchase, like I said earlier, you still have to take the whole application down just to be able to alter that feature. And then there is very high dependencies between the functionalities of the monolithic architecture. So, applications can run into software engineering downtime and difficulties. If you go back to the music app, for example, because the catalog and the play and the purchase function are so dependent upon each other, again, if one of them should go down, the whole application will be affected. So, but in regards to the microservice architecture, which is basically a style of large application built as a collection of small, independently deployable services, as you can see with this example. So, these services communicate with each other through APIs and are designed to be loosely coupled so that they can be developed and tested and deployed independently. Microservice architecture also enables faster development and scalability and makes it easier to evolve and maintain the application over time because as you can see with the different services, each service can be developed or managed by a different team and they can make use of whatever technology that they are very comfortable with. And then, it also comes with its own pros and cons. In regards to microservices, it's very scalable, it's easier to scale. Each microservice can be scaled individually leading to better resource utilization and improved performance. It's very resilient and if one microservice fails, it doesn't bring down the entire system. The other parts keep functioning as intended. It improves the deployment of your application. Microservice can be deployed independently allowing for faster and more frequent release. It's flexible, allows for greater flexibility in choosing technology stacks. So, like I said earlier, each of the services can be created using whatever technology stacks that the team or the developer is comfortable with. But it also has its own disadvantages, which includes complexity. Microservice architecture adds complexity in terms of communicating and testing and deployment. Dependency management between the microservices need to be managed carefully to avoid errors and delays. It also comes with the issue of network latency. Increased network calls between the services can lead to slower performance. And debugging is also more complex in microservices with an environment issues can span between multiple services. And also testing a microservice in our application can be more demanding. You have to test the individual service on their own and also test that it communicates with each other as intended. So, when stacked up together side by side, you start to understand why microservice started becoming more popular. For me, I'll say relatively new within the industry. I can't really tell how far back we could go with microservices. But in some reamolentic application is built as a single unified unit while microservices is a collection of smaller independently deployable service. So, in the case of the example we gave above, for instance, if you wanted to go about developing such service, you're going to have your REST API crowd for the account DB or the user DB, whatever case it may be, programmed like in this case, I just try to sketch of quality draft code for the account DB using first API. You also have your REST API crowd for the eventry REST API and then for the shipping too. So, as you can see here in the project directory, all the different service or REST API is just to show that this service can be developed by a different team on its own and be a full-fledged application on its own. But as long as the design or the requirements for the application is followed and then the APIs are able to communicate with each other both in dev and in prod. So, as you can see for each service in its own directory, it has its own requirements.txt file, its own Docker file. But in this case, you also have your Docker file for the whole application and your Docker Compose file. I'll go into explaining those down the slide. So, where does Cloud Native come into this whole picture? Cloud Native, first of all, is an approach of building and running applications and services that take advantage of the features and capabilities of Cloud computing platforms. The Cloud Native approach focuses on using some of the following principles we've mentioned already, like your microservices and some other features like containers, which is basically packaging applications and their dependencies into lightweight portable containers which can run consistently across different environments. Cloud Native also focuses on automation, automating the deployment, scaling and management of applications and services, observability, sorry, monitoring and collecting data from applications and services to gain insights about their behaviors and performance and also it also encourages resilience, designing applications to be highly available and withstand failure issues. So, but before we go into details with container, containerization of application, I would just like to touch on, I will not really go into full details, but just so you can see the difference between VM virtual machines and containerization because VMs was the solution before containerization became a thing. So VMs is basically a software implementation of a physical machine which allows multiple operating systems to run on a single host. Each VM runs on its own operating system which provides an isolated environment for your application to run. While a container is a lightweight, standalone executable package that contains everything an application needs to run, including your code, your runtime, your system tools, your libraries and your settings, containers uses the host operating system kernel which makes them more lightweight and efficient than VMs. So in summary, a VM is a full-fledged virtualized environment while your container is a lightweight isolated environment that just shares the host's kernel's operating system. So in this case, from our example microservice application, you see that each of these services is on its own separate container specified by the black rectangle. So containerization has really become a popular approach for packaging and deploying applications in recent years. You offer several benefits like portability. Containers can run on any system as long as that system supports containerization technology. It makes it very easy to move application between different environments such as from development to production. Containers support isolation. They provide a level of isolation for applications which means that they are isolated from each other and from the host system. This reduces the risk of conflict between different applications and their dependencies. It's very resource-efficient. Containers are lightweight and share the host operating system's kernel which makes them more resource-efficient than in the case of virtual machines. They are very scalable. They can easily be scaled up and down to meet changing demands. It can be version controlled. Container image can be versioned and stored in a container registry and you can easily roll back to your previous version. And with all these things about containers and the features they bring to the table like the scaling up and down of your containers depending on the change of demand. How do we go about implementing all these things and making sure that everything works as intended. We can scale up and down as required. This really is where, as you must have guessed, Kubernetes comes in. So Kubernetes, which is often called KS in short, is a container orchestration system for automating the deployment, scaling and management of containerized applications. I hope I'm not far beyond time. I think I started this slide too early. So my time I think is wrong. So it was originally developed by Google and is now maintained by cloud native CNCF. Kubernetes provides a platform agnostic way to manage and orchestrate containers allowing developers to focus on writing codes instead of managing infrastructure. It also provides some of the following features like automatic bin packing or your automatically schedule containers to run on the most appropriate nodes available. It provides self-healing capabilities. Containers can automatically detect and replace field. Sorry, Kubernetes can automatically detect and replace field containers. It provides service discovery and load balancing capabilities. It has a built-in service discovery mechanism which allows containers to automatically discover and communicate with each other. It also provides load balancing capabilities that automatically distributes traffic amongst multiple replicas of a container. It has the automated roll-out and roll-back features that allows for automated roll-outs of new versions of an application which makes it easy to update applications without downtime. It also has the secret and configuration management features that allows for the secure storage of your secret passwords and encryption keys. There are also other popular choice for container orchestration, but Kubernetes is the most popular one and is widely used in production environments, both on-prem and in cloud, and can be used with other cloud-native technologies like Docker and Prometheus. For me, at the time, with this whole knowledge from the workshop and from personal research, it was back to usual for me. Luckily, I started studying my masters which was in cybersecurity and it was a two-year program, so we had the option of doing our third, I think it was the third semester, you either research on the topic or you go for an internship. So I went for an internship and I was lucky enough, I got three offers, two for software engineering, then one for a cloud-native deaf-secups internship, and as you'd have guessed, I went for it. So it was really an opportunity for me to really get hands-on experience with cloud-native technologies like Kubernetes and Docker and really delve into it big time and I mean it's been for me cloud-native since then. And I'm with the luxury of experienced colleagues during my internship, I was able to ask them the best approach and best route or the best way to go about learning these tools and most of them were like of the opinion of getting comfortable with the Linux system first, then delving into containers and then eventually Kubernetes. So, yeah, I brushed up on my Linux abilities because I've always been a Windows guy and then after that I delved head-deep into containers, I was able to really understand containers, how to create container from writing your Docker file for your application and then creating a container image from your Docker file using the Docker build command and then eventually a Docker container with the Docker run command got to understand how to pull and push container images to container registries and after that, I guess one of… I also, I would say some of the resources I used to really get hands-on with containers, Linux were… I think the main one was the 20-day upscale channel on Reddit and then some YouTube resources and then after getting to understand Docker images, how to create mine and how to make use of images already available on container registries, this is just an example of a Docker file and then really understanding the specifications for building containers, how to make use of CIS benchmarks or just really understanding your application to create, to be able to write a Docker file that is going to really run your application properly the way you want it or sometimes just following an internal specification depending on the organization you're working for. So I was really, I would say very comfortable with container at the time and then went on to really understand Kubernetes. So this is just a basic overview of the features or architecture of Kubernetes. So some of the features I can see here, the master node, which is the node… The master node is the control plane node of a Kubernetes cluster. It's responsible for maintaining the desired states and ensuring that the actual state matches the desired states. You have your worker nodes. The worker nodes are the machines that run your containerized applications and they communicate with the master node to receive instruction on what to run and how to run it. Each worker node runs a container runtime, such as Docker, Kubelet, and it communicates with the master node and ensures that the desired states of the cluster is always maintained. Then you have your CUBE API server, which is one of the key components of the Kubernetes control plane that exposes some restful API endpoints. I think you can see them there. That can be used to perform various operations on the cluster, including some cloud operations on resources such as pods, services, deployments. It communicates with the HCD data store to retrieve and update the states of the cluster and it communicates with the cubelets on each worker node to ensure that the actual state of the cluster matches the desired states. You also have your Kubernetes controller manager, which is a component that runs as part of the Kubernetes control plane. It is responsible for running various controllers, like your replication controller, your endpoint controller, namespace controller, service and token controllers. These controllers are responsible for maintaining the desired state of the cluster. For example, ensuring that the number of replica pods desired is running on the cluster. You also have your Kubernetes scheduler, which is a component that runs as part of your Kubernetes control plane. It's also responsible for scheduling pods on worker nodes in the cluster. The scheduler receives specifications from the CUBE API server and assigns them to the appropriate worker nodes based on various factors, such as available resources, constraints and affinity rules. You have your Kubernetes cubelets, which is a lightweight agent that runs on each worker node in the Kubernetes cluster. It's responsible for ensuring that the desired state of the cluster is reflected on the nodes it runs on. And then you have your Kubernetes proxy, which is a component that runs on each worker node of your Kubernetes cluster and is responsible for maintaining the network rules on the node and for forwarding traffic to the correct pods. Then your HCD is a distributed key store that is used by Kubernetes as a backing store for all its cluster data. It stores the configuration data for the Kubernetes control plane and all objects in the cluster. You also have your container engine, which is the software responsible for managing the life cycles of containers, including starting, stopping and managing the resources of the containers. There are so many other resources of the Kubernetes, including your pods, your deployment stateful sets and demand sets, but these are just a few of them. Then in our case, we tried to build up on the example rest API. If you were working on, like I said, for the newbies, people who are trying to really get accustomed with these technologies. So in a situation where you're creating a microservice like that and you wanted to test them, you can make use of the Docker compose, which is a tool for defining and running multiple container or Docker applications. It allows you to define the service that makes up your application in a single Docker compose file and then you can start them and manage them. Like in our case, I don't know if you can see it. You see we have the user service, the shipping service and the inventory service. In this case, they've all been converted to a Docker image, the inventory image, user image and shipping image, and then we also have a network to ensure that all the services are running within the same network and we have our database there. So you can use a Docker compose file to test your application or you could just write your own Kubernetes deployment configuration file. Using Kubernetes to deploy and you can use a Kubernetes deployment configuration file to deploy and scale your application. In this process, you just write your deployment configuration which defines the desired state of the application, the resources it needs to run and then using the Kubernetes command line or the API you create and manage your deployment. The configuration can include information such as the number of replicas, how many replicas you want the container to be and then the resource limits and your environment variables to run your services. You could also use the Kubernetes stateful set resource. This is used to manage deployment just like your deployment file or in this case for stateful applications. A stateful application is an application that requires a host name and a persistent storage like your database for example. So and unlike deployment which uses replication controller and replica sets to manage the scaling and availability of stateless pods, a stateful set uses a unique host name for each pod and guarantees that the pods are created and deleted in a specific order. This ensures that the pod maintain the same network identity throughout their life cycles, allowing them to maintain stable network connections and stateful set also provides a way to provision persistent storage for pods. So this is also an example of a stateful set configuration file. It's just like the deployment file but in this case this is more suited for pods or containers that require persistent storage. So and then down the configuration file you see where a service, configuration for a service is specified. Like I said, like I stated in our Docker compose example this to ensure that your containers and pods run within the same network. So and with this information with so far you are well on your way to being able to sit for the CKS certification. And then like I said, this is basically journey to cloud native Kubernetes and how to secure it. So where does security come into all this? But I would like to also point out that security shouldn't be an afterthought. It should be something you also think about in the process of implementing and designing your application. But for me as a newbie one of the very important place to start with with regards to security is your requirement.txt file. This is where you know I will say keep track or record of all the libraries, plug-ins and in third-party softwares or whatever you must have used in your in the production or development of your application. Like in this case using the first API framework we use the Python Python 3.4 alpine. First API and then the UVcon server. So I'm do this information you could easily maybe go to the documentations or research on the zero-day vulnerabilities announcement of security updates and patches. But something another thing you could do is scan this image using some open source and freely available image scanners like you have your Aqua3V for example which is what I use regularly. So after writing your own docker writing your own docker file and creating a container image from it you could easily scan your own container image or scan any of this like in this case we scan the Python like the Python library or the Python software itself. So and then the good thing about Aqua3V is that it doesn't just give you the vulnerability report but it also gives you the installed version of whatever vulnerability it finds in your container image it gives you the installed version of that library or plugin or whatever it is and then the fixed version of it. So I'm do this information all you have to do is to go to the documentation of that library or plugin look for the fixed version download it and implement it in your application but you know just to put it out there when you scan your container image and you don't get a report it doesn't necessarily mean that you know your app or product is completely secure it just means that at the time of scanning no vulnerability or security issue has been reported because the way Aqua3V works is by it scans your container image checks all the libraries and plugins and third-party softwares you're using and then scans this goes through the CVE database to know if anything has been reported on those so if anything has been reported it throws it back at you and gives you the results and it tells you if it's a critical vulnerability a medium one or a low one but whatever one it is it's always good to implement the patch immediately and then some additional tips for security is to you know always use security monitoring and logging tools to you know quickly detect and respond to security threats is always make it a duty to always keep your softwares and systems up to date you know and with later security patches and updates this will always this will ensure that your cloud resources are protected against known vulnerabilities use a cloud-native security solution such as ServiceMesh this can provide security features like service-to-service authentication and encryption make use of role-based access control to limit access to the cluster to only authorize users and rows use Kubernetes security context to limit the capabilities of your pods and your containers running in the cluster this will help to protect the cluster and its resources from malicious or misconfigured containers make use of Kubernetes network policies to control traffic between your pods and use of and make use of Kubernetes security policies to control pod and container security settings always use secrets and config maps to securely store and manage sensitive data like password and encryption keys use Kubernetes audit login to track and monitor activities within your cluster use third-party security solutions sorry I know this is more of like use use use use third-party security solutions as Kubernetes network and pod security solutions to provide additional security features and protections this can be helpful in providing extra security layers to detect and prevent vulnerability like I said earlier always update and patch your Kubernetes cluster seek help from experienced and professional and professionals or consult you know some online resources especially the official documentations of whatever third-party security software you're using or libraries and plug-in and then always be vigilant about new security threats and best practices to keep your cloud environments safe one other tip I would like to add there is to always link your code especially your Dockerfile code to make sure you're following industry standard in the case of Dockerfile for example you can make use of the Hadolynter you don't really need to install it you can just go to their website or the documentation page copy your code or your Dockerfile paste it there and then it gives you corrections to make how to implement your path and the base images to how to specify your base images or your commands that helps a lot and then I guess that's it so but feel free if you have any question or anything you would like to know and resources are used like the code cloud resource and moonshark tutorial feel free to reach out and I don't mind sharing those thank you