Welcome to the wide world of eSports, a show devoted to all things eSports. I'm your host, Katharine Norr. Our show today is Get in the Game with Hado, the world's first augmented reality physical eSports. With me today is Shane Vandercoy, the CEO and founder of Hado. Welcome Shane. Great to be here. Thanks so much for having me, Katharine. So what is Hado? That's a great question. And the first time, I've got to share this, the first time that I showed Hado about a year and a half ago to my business partner, the first thing out of his mouth was, this looks like dodgeball meets Marvel. And so that description kind of sticks a little bit, but if you see Hado, you see a video where you watch a Hado game play, it takes folks like me back to sort of dodgeball days, but it is an augmented reality game. And it was it was created in Japan. And so I can't say I'm the CEO of Hado. I didn't get to say that I can't say that I created Hado, but I'm the founder here of Hado USA. And we're bringing it here to the United States. And I think a brief, a short description would be, it is the world's first augmented reality physical eSports. I think it kind of converges or comes up the middle between physical sports and gaming. And essentially it's it's a game that has three players versus three players on a physical court.  It's location based players wear headsets. I've got one, I don't know if you'd be able to see it here, but it looks like this. It's just a simple augmented reality headset. Inside is an Apple iPhone and players also wear an iPhone on their wrist. And because it's augmented, they're they're playing in the space, they see the real space, they see their opponents, but they also see these augmented elements that are part of the game.  They have augmented reality like digital images of life pedals where they're in their chest area. And players can actually see these energy balls flying towards the life pedals. And if they strike them, they take one out. Of course, defenders are trying to avoid getting hit. And so they're moving, dodging, weaving, they might throw up a digital energy shield to absorb the attack. And games are super really fast paced, lots of action, very physical. And, you know, that's that's kind of the game in a nutshell. What the players see through their headsets is what also the fans get to see who are maybe they're physically present. If it's being streamed on a monitor or a big screen, or if it's streamed virtually, they're seeing it, you know, on whatever platform they're watching it on. And they're seeing all the augmented elements as well. So they're seeing the players, they're seeing the space, but they're seeing the energy balls fly, they're seeing the the collision when you know they hit life pedals, they're seeing score and health stats and, you know, all those cool things that you'd normally see in an eSports game if you're watching the play action. All right, let's show the video. Ten Eye, the Hado World Cup Final is happening here in Tokyo. Every fan in the world. It actually kind of takes me to how I was first introduced to Hado. And I have to clarify, that's a promo video. So there's a few creative liberties that were taken as, you know, as a promotion. And I think there's even a few laws of physics that are broken in there. But probably about two and a half years ago, I saw that video along with another one on social media. I was just looking around and I'm all, my other business, I'm always looking for that next cool game, toy, software, something that we use in an educational setting to inspire kids what's possible with technology. And so I came across that video and I thought, okay, if this is real, like if this really exists as a game, I've got to, I've got to have this. I got to bring this to our community here in Florida. And at the same time, I actually was introduced to Gerald Solomon, who maybe your audience may maybe familiar with Gerald leads the NAISF, North American Scholastic eSports Federation. Our community brought him in to speak to the community about Scholastic eSports. And I was suddenly just stunned to hear the statistics. I felt like I've been asleep for, you know, maybe a few years. I've been teaching kids how to create video games and play with them and so on. And didn't realize they're 16 year olds making seven figure incomes that the size of the gaming industry and the size of eSports within that is a niche. And then Scholastic eSports growth was astounding to me. So at that moment, I remember this promo video I saw in social media, I put two and two together and started to connect the dots and thinking, what if we brought that, you know, huddle this unique physical eSport into the Scholastic space? I think we could really inspire a lot of kids and do some really neat things. So I tried to find out, okay, who, who has this? Found out it was, it came from Japan from a company called May Leap, Inc. And I reached out to them and said, okay, where can I try this? I'd like to bring it to Florida. And they, they shared with me that they didn't have a Florida distributor. They had a lot of traction already in Asia and, and it was starting to grow in Europe, but really didn't have growth yet in America. And so I quickly sort of shared what I thought would be an ideal strategy for them, which involves a Scholastic form and collegiate form of the program, along with some, some more commercialized business activities. They liked what they heard. And so I was on my way to Tokyo to meet with them directly. And a week or two later, COVID hit. So my, so we've all been there. We know what the pandemic did. And so that kind of slowed things down a little bit to say the least. But in between lockdowns, I did get to try out Hado, you know, to make sure this is real. It's not just the, just the promo video. It's the real deal. And I did that in LA. There was a temporary studio set up there.  It's amazing experience. And I could really see how this would fit. And so throughout the COVID lockdown period, we negotiated with our Japanese amazing partners. And we now have the exclusive rights partnership to develop Hado here in the United States. So that's a little backstory to that video. That video really kind of represents the competition side of Hado. And there's already tournaments. There's international, national and regional tournaments throughout Europe, throughout Asia. We have one penciled in already for America. We're going to have our first sort of official national tournament in December, where and how and all that is still secret. We'll be announcing that soon. But we're pretty excited for that part of Hado. But to get there, we actually have to educate the public. So I'm grateful for this opportunity that you've given us because we've got to put Hado out there. It's a new sport. Japanese, our partners call it a techno sport. And so working through the eSports gaming community, as well as the sports community, and kind of bringing them together, we're kind of evangelizing. We're putting it out there. We're working with schools, colleges, the public, big, large, even community based events. We're bringing on potential licensed operators to get it across the country, because it is location based. And then from there, of course, we'll get into the adrenaline pumping, exciting competition experience. And on the hunt for and on the path or journey to find Team USA. And of course, eventually bring that gold back here. But we got some catch up to do. So I did have Gerald Solomon from Nyssa on a previous show. And definitely he's a good person to, you know, sing it praises for sure. Now, is this the future of PE or physical education in school? That's actually a really observant. Because actually about 12 years ago, I was actually introduced to call something called extra gaming, where there was kind of approach to teach future PE teachers how to harness gaming technology, everything from we systems to pretty large sort of commercial level game systems that were kind of mechanized and gamified. And the idea was to create these super circuits in PE classes to engage kids, sort of fight fire with fire. We're not going to take technology away from kids. And there's some legitimate criticism of some maybe not as such healthy behaviors when technologies misused. But the idea is, how do we use it in a way to, you know, guide kids the right way? And so there was some really great research being done back then at University of South Florida. And I actually founded a charter school and we're getting I do other things, but and put this extra gaming lab in there. And to your point, I mean, I've moved on since, but it really that actually probably is what caught my attention with Hado because I saw Wow, 12 years later, this is how this has evolved, you know, augmented reality, mixed reality. And one of our first pilot sites is at a middle school here in Florida. And the program is actually operated by a PE teacher and it's it's rolled into his PE program. We're also very close to setting up a pilot at USF in partnership. We've done some demos with their the athletics health department, working with their their teams and linking up with with maybe their recreation department. So there's just so many areas where this could apply and fit because I think it kind of straddles between sports and gaming and esports. Yeah. And you know, I think that there's another thing that it solves the problem. Okay. And let me tell you why I think it's a problem. I think it solves the problem of the Olympics, having esports, because frankly, one of the downsides of having esports in the Olympics is it's not as physical as people want it to be. Okay. So this is that physicality that the Olympics is famous for. So I would think that along with Rocket League and the other games that are being considered for future Olympics, that Hado would be it. Absolutely. I would I would love that. And I think you're right. And you know, Hado happens to be kind of maybe first as this sort of formalized physical gaming sport. But I think I believe we're probably going to rapidly see lots of different games sort of get into that mixed reality, extended reality experience. And the more physical it can be, I think, and not all of them can be, but you know, I think that's going to make them more engaging and to your point, yeah, more more welcomed into something like the Olympics and traditional, you know, big, huge sports competition like that. So let's show the second video and get into how it worked. There's good news. It's very easy to take up and play immediately. Within a minute or so of instructions, when I went out to LA, I was playing Hado and surviving, much longer than I survived the first time I tried Fortnite. But so anybody can easily take up Hado, have fun, and learn how to play at a recreational level or a discovery level experience.  That being said, it may take, you know, maybe this is exaggerating, but a lifetime to master certainly the competition matches that I've watched from Japan, the teams were playing for money and so in informal competition, it's remarkable skill. You know, they're not only the gameplay and the strategy, but also just the physicality and the athleticism.  I'm thinking these are really fast 82nd matches. I barely know where I am and they're giving instructions to each other and so on. So just like a real sport or like I've seen eSports players, you know, with the headsets on, giving each other instructions for that strategic gameplay. That's also the case in Hado as well. Sure. And those ones that are mastering it would be the Olympian for sure. So how does an AR game like Hado differ from current VR game experience? I would probably, I mean, the simplest explanation that I use, and for me, I got to put it for myself into real simple layman's terms, I think. I describe, you know, VR takes you into, takes you in the physical world into the digital world, completely immersive, typically experience, where Hado and AR really brings elements of the digital world into the physical world. So you're still here. It's just, we've got all these really cool elements. And, you know, the phenomenon with Pokemon Go and so on, which is very simple form of augmented reality, I think people can kind of understand that if they've been exposed to that. And then there's, of course, mixed reality and extended reality and sort of these descriptive terms for all of this. And I think, you know, we're just at the tip of the iceberg of what all that's going to look like, certainly in gaming far beyond my understanding. I feel like I'm grateful to even be kind of included or invited to the conversation in esports and learning incredible amount and catching up. But it's pretty obvious, particularly I think with augmented reality that it's going, the use of augmented reality is going to permeate every aspect of life in some way at some point in the future, everything from education to business cases and uses and, you know, recreation and just for fun. And then, of course, with sports. So it's going to be interesting to see that play out. And I'm thankful that Hado is, you know, is as far as augmented reality. One quick point, if I may bring up, what we found that kind of surprised me because I didn't, I wasn't fully aware of the difference. You know, I explore the space station in a VR gear. So I get that. I felt like I was there with Hado. Some of the good feedback that we've gotten is people that have not been able to enjoy a VR experience because they might suffer some disorientation or motion sickness or they just didn't respond very well. And there's a certain segment of the population. I'm one that, you know, has vertigo and some of those things. Don't enjoy it. And we've got much less if any complaints with Hado. And I'm not sure if it's completely because of the augmented nature of it, because you still see the space.  And so you don't have that same disorientation or have to come back to reality. You've been seeing it the whole time. The other thing is if you can look in the gear, it's a simple headset. It's clear. You can you can see right through the side. You have full peripheral vision. And so even from a sense of feeling safe or secure, we found comments from folks that were maybe afraid of VR because they don't want to bump into something or somebody would touch them or they would need quite feel safe. They have no problem doing this because it just they just felt a little bit more comfortable to try it. And then the matches are short. They're quick and you're in and out of matches. So I think you're not having those long, you know, exposure periods to to VR. Sure. Okay. And then speaking of that, do you see a place for Hado in web three, the metaverse and token economy? I think so. I mean, I don't have any secret information to our developers in Japan. So I don't I can't, you know, and if I did, I won't be able to share whatever they're, you know, they're cooking up. But there's certainly a lot of development going on there. And I know that our team is as well. There's an interesting two interesting experiments and hopefully we'll have time that I can quickly share them. One that's captured my interest was actually through my counterpart in the UK, Jim Sefton, this team at Hado UK. And they they partnered with a number of groups, including an accelerator, like, like a education accelerator. Also, I think it was Vodafone looking at 5G technologies edge computing. And another group, I think it was Noidom involved in motion capture tech. And what they did was they actually had one Hado team in one physical location. And the other Hado team and I think was a completely different city. And using all that technology, and one of the teams have mo cap gear, they're all geared up. They play. And because the camp the way Hado works, you wouldn't normally have been able to see the other team in front of you if only half was there. But the team in mo cap here was represented through these avatars and so on. So obviously, that's just a one quick step from having gameplay occurring in the physical world, but then represented in the metaverse, you know, and using web three technologies and so on. And whether it's whether it's just a streaming experience for the the spectators or spectators, as well as players represented as avatars, that seems to me to be an interesting next step. And and some of that technology, the physical technology of 5G is going to help make that happen. The other really interesting, and this is no longer an experiment, it's actually a functional business pilot in Japan. The flagship studio where the Hado courts are, they actually have one that is a studio for entertainment. And so it's a streaming studio full production. It's got a place for about 200, 220 spectators, fans. And they've got J-pop idol groups coming in and actors and so on. And they're playing against each other in scheduled matches that catch attention. And so they have an additional separate app where the fans download the app. It's it's it's basically a tipping app. So while they're watching either live or the stream gameplay, they're tipping their favorite player, the system that you're to esports in casters and so on. They're tipping their players and that immediately, if they get enough tips, the team that in the next match gets an extra skill point. So they're actually affecting gameplay. And it's proven to be incredibly successful and really popular. And so they've actually, I mean, it's standing room only there. A lot of the viewers are doing this now online because the space isn't big enough to hold it. So I think that whole the token, that's so close to the tokenomics that that we think, you know, watch to earn a play to earn kind of model. I can see that happening. I'm going to Japan in a few weeks to study that particular location closely to see how could that be adapted to our environment and our business community here. So I'm sure that people watching will want to know how can they play this at home? I wish they could. Right now it is location based. So we're looking for operators, licensed operators, and locations. And that's part of our business strategy. I don't think there's ever going to be at this point a strategy to put Hado as a consumer product to just do by yourself, like a home system. The whole vision is to bring people together. And I think that's actually been really welcomed after the pandemic. We've just got so many invitations to come out and bring Hado. That being said, though, I think there will be a point when players at home or one group will be able to play another group that maybe is not located in the same place, almost like a pickup game of soccer for practice or any other kind of sport or a small group coming together to have a e-sport game together. That's possible. You know, I also see it as special occasion type of activity where you have a birthday party and you're trying to figure out something to do. People go to escape rooms or they do certain things, but this would be a really unique thing that would be special. Exactly. And even we're getting invites to big corporate events. It's more fun for networking. Gen Z likes this kind of stuff. They look at me handing out a business card and they say, oh, you still have cards, Boomer? They like something that's fun and engaging and kind of speaks their language. A surreal moment for me was we had a big investor event and Hado was the Amelie Arena, which is in Tampa, where the Tampa Bay Lightning play their home arena. And we had gameplay happening under center ice and it was streamed live on the 50-foot Jumbotron. For a hockey fan growing up like me, that was surreal. I had goosebumps, and that was a corporate event, so I think there's lots of application for this. And let's show the calisthenic photo. So tell us about this.  Exactly. Truly for competition and also where we see it in the scholastic space, your question about PE class, this is physical. And so we've got a lot of opportunity to not only prepare to do it safely and do it right and to be competitive, but also to maybe make some of those things more fun and more engaging to, that will be helpful to teachers. But of course, when I've seen the competitive players, you have to do that. I tried to do some of that at a couple of matches when I got carried away, in the moment. And I hurt for about three or four days. So the calisthenics is important. All right. So that leads to the value of it, because it's unique. And it does appeal to Gen Z, and I think it would appeal to anyone who likes to play dodgeball and would like to step up their augmented reality game. So I'll give you the last word, Shane. Can you tell us how people can find you? Absolutely. Please visit us at hado-usa.com. You can see some of the same videos that Catherine just shared, maybe a few more. And it explains game play a little bit more, and there's a great, I think a simple form. We're not going to bother you or bombard you with information, but you want to get in the game because you can literally get in the game with Hado. Reach out and we'll let you know where our first operations and pilots are running. And if somebody wants to bring it to the area, we need Hado Hawaii. I know that. So reach out and we're ready to go as soon as we've got the partners to do it. All right. We definitely need Hado Hawaii. Well, thank you so much, Shane. And I really appreciate you being here to tell us all about it. Thank you so much. Really appreciate the opportunity, Catherine. And yeah, I'd like everybody to get in the game. So thank you. All right. So thank you to our viewers for joining us today. In two weeks, my guest will be Reginald Nistoa joining us from Ghana. Talk about esports in Africa. See you then. Thank you so much for watching Think Tech Hawaii. If you like what we do, please like us and click the subscribe button on YouTube and the follow button on Vimeo. You can also follow us on Facebook, Instagram, Twitter, and LinkedIn, and donate to us at thinktechhawaii.com. Mahalo.


Good evening. I'm sure you've already heard that Valve is now giving out private invites for people to test their new game, Counter-Strike 2. It's a remake of CSGO that runs on that elusive Source 2 engine we've been hearing about for like 10 years now, and tons of famous streamers and YouTubers have already begun syncing their teeth into all the game's quirks and mechanics online. But while this news is obviously exciting, it's also left fans who aren't famous Twitch streamers or who maybe don't care that much about Counter-Strike feeling just a little bit left out because the only other Source 2 title on the market right now is Half-Life Alyx. And since that game requires a pricey VR set to play, it's not exactly the most accessible either. Putting all that to the side though, it's obviously still very exciting to know that the era of Source 2 is finally upon us. And when I first heard the big announcement, I giddily booted up CSGO and happily accepted the in-game invitation that I obviously received. So how was it?  Okay, so I actually didn't get early access to Counter-Strike 2, but that's okay. Because you know what I did recently get access to? Good versions of Team Fortress 2, Portal and Half-Life all running on that same Source 2 engine. How is this possible, you ask? Well, through the power of British people. Specifically this British person, Gary Newman. You probably know him as the guy behind Gary's mod. Why is he important to this video? Well because since about 2015, Gary has been working on Sandbox, a private unreleased game development platform that's been running on the Source 2 engine since 2020. And not too long ago, Gary for some reason agreed to give me early access to it. I think there's now a world of private Source 2 games that my finger tips ready to be played and shown off to the world in this video. What could go wrong? Jokes aside, this really is a cool opportunity. And after checking out what Sandbox has to offer, I have no doubt that it'll be used to do things much more impressive than upgrading old Valve games from 2007. But for the sake of this video, that's what I'm going to be using it for anyway. So today, I'm going to give you all a look at some ports of Valve's golden age classics running on Source 2 through Sandbox. Compare them to their original counterparts and hopefully give some exciting insight into what a move to the new Source 2 engine could mean for games that aren't Counter-Strike. Starting out, of course, with everyone's favorite class-based shooter. Team Fortress 2 is a game that never reached its full potential. It is one of the most beloved multiplayer FPS games of all time, still retains more than 70,000 daily players despite its age, and was a trendsetter for the genre in a lot of ways. However, despite its continued popularity, TF2 today feels under-maintained. It runs pretty poorly, has a horrible cheating problem, and in general has really started to show its age a bit. And it's because of all this that the idea of a Source 2 port breathing new life into the game has been fueling the wet dreams of TF2 players for a very, very long time now. In fact, you might even remember back in 2021 when this video of a supposed TF2 Source 2 port went viral, even though it was actually just a Unity engine project someone whipped up and never bothered finishing. However, this TF2 Source 2 project, developed by a team called Amper Software, is still actively being worked on and actually does run on Source 2, for real. I've always found it silly when amateur mod teams market themselves like professional game studios, but credit where credit is due, Amper is actually doing some pretty professional work here. The game is for the most part fully functional. You can play as all the classes, and all of their mechanics work pretty much one to one how you'd expect them to. You can sticky jump, rocket jump, taunt, kill your teammates, you get it. The list of maps you can play on is not very big, but those that are available have been pretty much completely rebuilt to take advantage of the new engine. Making use of improved lighting technology, the team has crafted some pretty gorgeous renditions of iconic TF2 maps with almost no hit to the game's performance. Putting things side by side, you can immediately see how different everything looks. And while the visuals may not be perfect, in my opinion they are still very impressive. The UIs are fully functional, although they're a bit clunky, and I couldn't help but notice that there isn't a way to turn off fast weapon switch, which makes me very sad. But given that this remake was built nearly from scratch by volunteer devs, I'm actually very impressed with what I'm seeing here. It looks like the team even has some ideas for new original content they might implement in the future, like new maps and game modes. And I for one am actually very excited to see how the project evolves and how the community will receive it once it's released to the public. Especially because, well, it's becoming increasingly clear that Valve themselves have no intentions of doing any serious work on TF2 anymore. I think this project demonstrates that while an official source to port of TF2 would be a monumental effort, it would also go a long way in modernizing the game, expanding its reach and potential, and of course improving its graphics and performance as well. Who'd have thought? Moving on, though, next up is one of the most iconic puzzle games of all time. Portal's witty writing and cool mechanics have helped it stand the test of time as a truly unforgettable experience. And one of the things the series is known best for is how it has repeatedly pushed hardware limitations to bring us mind bending puzzles and crazy set pieces. Because of this, it's very exciting to think about what possibilities bringing Portal to a more powerful game engine might open up for the series. Back in March 2022, Valve gave us Aperture Desk Job, a short tech demo running on Source 2 meant to market the Steam Deck. But while this game was set in Aperture, it didn't have any puzzles, and it was also only about 30 minutes long. So if you're interested in seeing what an actual fully fledged Portal game on Source 2 might look like, complete with puzzles and portals and everything else we've come to expect, you'll need to look no further than Quanta Box. Quanta Box is a game that brings the mechanics and features of Portal forward to Source 2. It doesn't have its own campaign, but the idea is that once Sandbox releases to the public, people will be able to use Quanta Box to make their own Portal games on a more modern and flexible engine. Now, the whole thing is still in heavy development, and the version I played was admittedly pretty buggy, but keeping in mind how small the team is and how far out this stuff is from release, the work they're doing is exciting, and I think the Portal community is going to have a field day with it once it's finished. But that's about all I have to say about Quanta Box. So let's move on to the last project I'm going to show you in this video, which also happens to be my personal favorite. Half-Life. The game that gave Valve their start and forever changed the FPS genre. The Half-Life series is well known for pushing boundaries with every new release. Half-Life 1 showed us just how immersive a shooter game can get. Half-Life 2 demonstrated just how interactive and lifelike a game world can be, and Half-Life 3, well, sadly, it never materialized. The hype around a mythical Half-Life 3 cool running on Source 2 has never really gone away, but so far, the closest thing we've gotten is Half-Life Alyx, which, don't get me wrong, is a great game. But since Half-Life Alyx is played on a VR set, it doesn't control like a typical Half-Life game does. And three years after launch, a good amount of the community still hasn't had a chance to play it yet. That means for the VR impaired such as myself, the closest thing to an official Source 2 Half-Life experience would be, I guess, playing through these Half-Life 2 workshop maps with the no VR mod.  So instead, enter Half-Life Source 2, which lets you play both the classic single-player campaign from the original Half-Life and its multiplayer deathmatch mode, all revitalized on a brand new powerhouse of an engine. Now, this is not a remake. It is a port through and through. It brings Half-Life 1 code forward to Source 2 and fills it in with Half-Life's Source assets, resulting in a really weird and interesting experience. In terms of gameplay, the basics are all there. All the NPCs and weapons are present and mostly work how they're intended. Mostly. In terms of visuals, it's definitely an interesting and cool effect to see these late 90s models tracked by real-time lighting and shadows. And these maps actually look pretty neat in my opinion, despite their sometimes glaring issues. The multiplayer deathmatch is just as fun as it is in the original, though I did run into some problems with weapon animation speeds, and the way the levels reported seems to have led to some funny unintended consequences. But given that this whole thing is apparently created and maintained by pretty much just two people, this is still a very impressive project and I actually had a lot of fun with it. Does Half-Life 1 really meaningfully benefit from being ported to Source 2? Probably not. I mean, if you want a modernized version of Half-Life 1, Black Mesa has been out for like three years now. But that doesn't mean Half-Life Source 2 isn't a cool experiment worth checking out once it releases. So what have we learned today? Well, Source is a really cool engine, and it seems like Source 2 might end up being even cooler. Maybe. It definitely has a lot of potential, and it's gonna be interesting to see what other games Valve and their community end up building with it. Additionally, now that I've gotten my chance to toy around with Sandbox, I finally kind of understand the hype behind it. As a G-modder at heart, I had a lot of skepticism when I first started hearing about how it was a Garry's Mod successor, but after getting my hands on it myself, I've realized that it's not even really a game on its own, but rather a platform for people to build games from. It's obviously never going to replace G-mod, but that's not even really what it's trying to do. Its direction is much broader than that, and I think it's probably going to be a bigger deal than people realize. Anyway, while these ports are interesting and show that bringing these classic games to the Source 2 engine could majorly improve their graphics and performance, there are also harsh reminders that that process isn't as simple as just copy and pasting old code into a new engine. There's a lot of kinks and bugs that need to be sorted out before any of this stuff is released to the public, and there's really no way of knowing how long that will take. That being said, if this is what a small team of ragtag volunteers or even just two people can come up with, using tools that get updated every single week and break their entire project, who knows what we'll see in the future when the broader community gets access to the finished and fully stable versions of all this stuff. It actually makes me think there might be a bright future for the Valve game modding community. Fingers crossed I didn't get anything wrong in this video since I still don't really know all that much about Sandbox or how people develop games on it. But either way, thanks for watching. Thank you again to Gary for giving me Sandbox access. Join this thing and press this thing if you haven't already. Peace and have a good day.


Hello, everyone. Welcome to CloudNative Live. We are diving into a code behind CloudNative. Paulo Simões, I'm a CNSEF ambassador. Every week, we bring a new set of presenters to showcase how to work with CloudNative technologies. They will build things, they will break things, I hope so, and they will answer your questions. Please join us every Wednesday at 3 p.m. Eastern This week, we have Andy N. Jorgensen here with us to talk about Kipton. I think that's his name. Please correct me, Andy Jorgensen. Also, China's and Kivicon's CloudNative come to virtual Europe during May 4th to 7th to earth the lesson from the CloudNative community. This is an official live stream of the CNSEF and ESSEC is subject to the CNSEF Code of Conduct. Please do not add anything to the chat or questions that would be in violation of the Code of Conduct. Basically, please be respectful of all of your fellow participants and presenters. So, with that, you all hand this over to my friends Jürgen and then to kick off today's presentation. Jürgen, Andy, thank you so much for joining us today. Please correct me. How can I say, Kempting, Kempting, I'm so sorry. I want to learn with you. Let's break the code. Yeah, that's good. Jürgen, do you want to teach him German or not? What's your life? Yeah, so first of all, thanks for having us. And it's really great to be here and to share our story here in this live stream. So it's actually, it's Captain. And for us, we are from Austria. We're German speaking. So it sounds like the Captain of a ship. And two years ago when we came up with this, we really thought that's really cool because our initial goal was to ship applications and nobody does ship applications better than the Captain. So this was our idea and we have a lot of those terms in the project and in the software. So we are keeping up these Nordic terms, let's say. Great, Captain. So, oh my God, why I not remember this. Great, great, great. Could you please introduce yourselves, talk a little bit about you, to us, if you are working this project, our commuters, members, talk a little bit more about this project and you, please. Sure. So I got involved into the project, actually, from its very beginning about, we started about two years ago. I was one of the core contributors and was really writing one of the, let's say, the first lines of code. But then I kind of transitioned a little bit more into the role of leading the ecosystem around Captain. We have a lot of tool integrations. We are heavily involved in all the CNCF tooling. We have the integration with Helm, with Litmos, where you're heavily using cloud events. So we are really picking up all these cloud-native technologies. And this is kind of my background. So I still know a lot of the source code of Captain and still maintaining the project, but now really taking care of the ecosystem and the CNCF ecosystem and open source ecosystem around it. Very big. And then I think Jürgen and I, we started at the same time because we were both kind of there at the inception of the product. My focus, however, is on adoption of Captain, so really making sure that our users are successful with adopting Captain. There's still ways to go. I mean, we have great adoption already, but we also learn something new every day and what else we're missing, what is complicated. As you said, sometimes things still break. And I think that's also expected with an 0-point something release. But yeah, my goal is to really make sure we get Captain out there in all of its different use cases. My background is performance engineering. So I've been working in performance engineering for the past 22 years now and have been trying to get a lot of performance engineering use cases also prominently featured into Captain. Great time. Great time. We should schedule another day to talk about performance engineering. It's amazing. It's very interesting just about the comparing. And the cloud native is a disability company. I like disability company. Great, great. So thank you. Let's go on. Let's see the Captain. Let's see the Captain. And I think Jürgen, I'll just kick it off with a little overview. So I think I will try to share my screen. And I believe clearly I was told I need to give Libby a heads up that she actually makes this possible. Or is this the right one? Ah, it was the wrong. Let me see. Try this again. I got to share this one and then move this over and now we are good. There we go. Perfect. So I can encourage everyone that has never heard about Captain to visit our website. I think that's the best way to get started. Captain.sh is the official website. Now one thing we've learned the hard way is that a .sh domain is pretty cool and nerdy, but not every organization allows to browse to .sh domains. Still, give it a try. If you cannot get there, we are obviously also, you can find us on GitHub. We have four, it's not four, three different organizations. On the one side there is Captain itself, kind of our core project with Captain Core, the specs, enhancement proposals, the website examples and so on. Then we have Captain Contrib with our, you know, kind of core integrations, contributions. These are, as you can see here, very heavily focused on monitoring integrations because Captain heavily relies on pulling data from the underlying observability platform, whether this is Prometheus, whether this is Dynatrace. We also have some other Argo, is a core contributor service, Argo rollouts in particular. We have the contributions in Captain Contrib and then we also have Sandbox. This is where every extension that you build, we call them Captain Services. This is where every Captain Service kind of starts to live. We also have a great template. That means if you want to get started, if you want to build an integration with Captain, you would start here by just following, I think, the really excellent tutorial and using the template that was mainly curated by Christian, one of our core contributors. So I think that's, this is something that you want to know. The other thing is, if you go to the website, you'll find, and I think you can, this is actually, I mean, you've done pretty much all of this, right? And now it feels like I'm taking some of your credits. So excuse me for that. But I think what's also very good besides obviously explaining what Captain does from a high level perspective, the tutorials here bring you to the tutorials that we want you to walk through. We're using CodeLab and we have a couple of different tours. Now you can see here, they're all sorted by version. Currently, the latest Captain version is 0.8.1. So this is why this defaults to it with the previous versions, we have a little more of the tutorials. We still have to level up where, let's say, convert some of these tutorials to 0.8. 0.8 is rather new, and we haven't had the time. But I think most important is that we have full tours through Captain using Prometheus as a data source, full-time Dynatrace. The reason why we feature Dynatrace heavily is because we are both working for Dynatrace and therefore, we always wanted to make sure that Dynatrace has a great integration. Captain in the Box is a pretty cool tutorial from our colleague Sergio. He has built this and you can just stand up, Captain, on any Linux Box. And then, I mean, Jürgen, this is something that I think you will probably show later on around resiliency engineering, where Captain is orchestrating performance tests and chaos tests. So Captain is battle testing your environment and then is telling you how is your system behaving under chaotic situations. So I think this is kind of like how I would get what I would love everyone to know. The other thing to know is we have a Slack channel as well on both on the CNCF. There's a, you find a Slack channel called Captain. We also have a Slack workspace because traditionally, before we kind of donated our project to CNCF, we had our own Slack and you can also get there to Slack.Captain.sh. And there is a meeting each month, et cetera, where a community can chat about and participate with you. Maybe you can. I think this is, I mean, it really feels like I take a lot of the lorries from you. So maybe you want to quickly talk about the community. Can you just let me know what I should share? We can return to the front of it, no problem. No, I think it fits perfectly now. Maybe you can quickly talk about some of the key items. Yeah, I think it was briefly cutting off, but so if I understand correctly, now it's about the community. So we've built the community page into the Captain website and we do have a couple of different channels, let's say. So we do have our own Slack. We do have a mailing list. And then if you scroll down a little bit, we also have our kind of ask an expert session. So that's basically a session that will be me. So whenever you feel like you want to talk one-on-one with a couple of questions, and also for we have our Captain user groups and our developer meetings, we initiated this because we saw that more people want to contribute to Captain. We will say later on how Captain orchestrates different tools that you might already use in your organization, such as Argo Rollouts or Genito for testing or Litmus Chaos or other tools like Helm for deployments. And we saw the urge from the community to see more how new services can be contributed. And this is why we're also coming up with developer meetings. They are each Thursday, 5 p.m. Central European time. Everyone is very welcome to join. And also in our user groups, we are more sharing adoption stories from Captain users that this is shared with the broader Captain community. Sometimes they are more focused in on performance engineering, like Andy explained earlier. Sometimes they are more focused on the quantitative aspect, how to prevent bad builds to reach production. So we do have different meetings there. And one aspect that we also came up with, because we see a lot of engagement from the community, is our Captain Community Rockstar program. And actually we are about to announce our next Community Rockstar tomorrow in one of our meetings, because it's the end of the quarter. And we already awarded three of our, let's say, Captain friends and Community Rockstars. One is actually an organization. And the other ones are individuals that heavily contributed back to Captain. And also maybe you've already seen them somewhere speaking about Captain. So we really have a very loyal community here, I would say. So a big shout out to the community. Thanks to all of you that are contributing here. Awesome, awesome. Good. Excellent. Let's show the Rockstar playing. Exactly. So I'm actually not sure, do you know in rough idea what Captain does and which problem that it solves? I'm asking you. I'm asking you. No, I know, do you have a rough idea what Captain does or not? Oh, no, explain to us, please. So I'm here to learn with you, please, let's go. Okay, perfect. So what we have, what we have seen is that a lot of us software engineers are, you know, trying to figure out how we can automate delivery and how we can automate operations as well, because we are getting more and more responsible for pushing out features. And also, if you're responsible for operations, we also want to automate in case something is wrong in production, how we can react to it. And I think a lot of us are using tools that you're familiar with, whether this is, you know, automation tools like Jenkins, where you can do magic things with Jenkins, I always call it a Swiss Army knife. But what we thought, if the world, if a thousand people have already built Jenkins pipelines that basically do something that everyone wants to do, which is taking an artifact, deploying it into an environment, running tests, figuring out if the tests are good, then maybe reach out to your monitoring tools, your security tool, your log analytics tools and figure out, is there anything else that it might be, you know, going on that prevents us from promoting and then go maybe if everything is good, push it to the next stage. So there's a lot of boilerplate code we've been building. I think all of us have been building in automation pipelines. And we thought we want to provide an opinionated approach that makes it much easier to define delivery processes and also processes around operations. So if you want to get started with captain, because captain, you want to use captain to automate performance testing, delivery, quality gates, the easiest way to get started is really going to either following one of our tutorials or going to the captain box. There is a great easy way to install captain. The only thing you need is a Kubernetes cluster. And then you can just follow a download the captain CLI, and then you just do a captain install. And there's two flavors of installations. Captain itself, the core is a control plane that controls processes. And then you have execution components that can, for instance, trigger a deployment, trigger a test, trigger an evaluation, promote one thing to the other stage and so on. So you can actually decide when you install captain on a Kubernetes cluster whether you just want to install the so-called control plane, which contains the features for quality gates and automated operations. Or if you want to also install the execution plane, which we then call the use case continuous delivery, this includes everything. And you can install everything on one Kubernetes cluster. This is actually what I have done on my machine. Let me just walk over here. So if I clear here, I'm actually running here on an EC2. I have a K3S installed. So I like the Kubernetes cluster. And just to show you that I'm not lying. Andy, sorry. Could you please increase a little bit your shelf size? All right. Are you? Of course. Let's see. Good. Good. Thank you. Is it better? Better. Much better. Thank you so much. So when you install captain, captain comes with a couple of components. As I mentioned, captain at its core is a control plane that is later on for me managing and orchestrating my processes. It's an event-driven system. So for instance, some of the things we have here is we are using nets for the event thing. We are using our so-called shipyard controller that manages our what we call automation sequences. We have a Mongo where we store all of our events. We have a configuration service where captain internally keeps all configuration files. So we are having a Git-first configuration file first approach. So all of our configuration files are version controlled in a Git that we are hosting here. We obviously have an API endpoint. We have a bridge. This is our UI. We also manage secrets. So we have a secret service. What else is interesting? The Lighthouse service is a component that takes care of SLI and SLO validations. So service level indicator, service level objectives for our quality gates. And so a lot of other services that you can then install that then can participate in the event stream of captain. And because we will see them later, I have Chinmeter installed. I have Argo installed for Argo rollouts. I'm using Dynatrace as a monitoring tool. I also have the ability to deploy Helm charts. And I also have a so-called generic executor where I can have captain execute any type of webhook, any type of Python script, or even shell script. So but this is basically what you install in order to use. Sorry. Can I ask one question, Doug? You said that you use MongoDB to store the configuration database, right? No, not the configuration database. It's Git. It's Mongo stores the individual events. Great. Good. One question. You choose MongoDB for some specific requirements or maybe we can, one question. It's possible to change from, for example, MongoDB to another CNCF project named HCD? So we didn't pick Mongo, I think, for any particular reason. I think when we started with the project, we were looking for a document database that meets our needs. And that's why we picked Mongo. We, you know, you can create your own kind of service. So basically what it is, there's the Mongo data store service that is really storing the data. So because captain, everything is event-based. I mean, Mongo is very cool to captain itself. But in general, yes, we should be able to also replace the Mongo store. Oh, great. Great. That's the idea. Great. We have one question here. We can do it now or prefer in the final? No, it's good. I see the question. Does all the components get installed by default when installing captain? So when I go back to my dock page, let's see, when you run captain install, depending on whether you say the control plane only, it will only install the core components, which means everything that is needed to manage the processes, the data store, the API endpoint, the UI, and also the Lighthouse service, which is responsible for quality gates and what we call the remediation service for other remediation because this is part of the control plane. Then on top of that, you can install whatever tools you want captain to integrate with. In our terminology, we call this the captain's uniform. If you think about a captain that steers a ship, a captain wears a uniform, and in this case, the uniform defines what type of additional tools are installed. So you can install any additional tool yourself. There's a couple of those that come with the co-installation. All right. Now, let's get actually into the product because I think I've been talking a lot. So captain is organized in projects. So what you see here, this is my current captain installation, which means this is what we call the captain's bridge. I know I can make it bigger because I know that the screen size is a little limited. We are using captain for different use cases. I want to show you actually the I would say the use case that we initially had in mind when we designed captain because we really wanted to solve the problem that people have to write very long pipeline files for multi-stage delivery where we deliver, we test, we evaluate, and then we promote it into the next stage. So here what I have in a project, captain has stages within a project, within a stage, or within a project, you also have 10 services. So we have a concept of you can have one service, you can have five services, 10 services. This will basically represent your microservices where it can be any type of component within your application that you can deploy. In my case, I have one service in here. So we have a project. The project has two stages, and then I have a service that I can now have captain run through that process. And as you can see here, I have played around a little bit today. What you see here on the left is a list of events that always trigger an automation sequence. We call them sequences. And if I click on the last one that I've done, which is the one that I've triggered about half an hour before we started, I was deploying a particular version of my simple node service. And then captain on the right side actually shows me what happened. It shows me that it was initially deployed into staging. I immediately get an overview from captain of the things that are important. I automatically get the evaluation results because what captain does, very opinionated. It takes my component, my image, it deploys it, it runs some tests, and then it evaluates it against metrics. We call them SLIs. And then in the end, calculates a score. And based on that score decides whether this is good enough to go into the next stage, which is production. So I can see how it's staging, how it's production. Now, the big question is, this all looks very nice from the outside, but what happens behind the scenes? Behind the scenes, if you remember, captain internally holds a git repository. And actually, when you create a new project in captain, the first thing you need to do is you need to say, captain, here are the sequences that I want you to automate for me in each individual stage. And when you create a project, captain automatically also creates a git repository, an internal one. But then what I've done, I have given it an upstream. So I could upstream it to Bitbucket, to GitHub, to GitLab, whatever you want. I have just my own, I'm using Git here as my kind of web UI. And what you see here is that when I created this project initially, the only thing you need in order to create a project is a so-called shipyard file. You may remember now that there was a shipyard service earlier. Now, what I have here is I have to specify how much stage I want to have. I have a staging stage. And then what type of automation sequences I want. And in my case, I specified in staging, I want to have an automation sequence for delivery. And in that stage, captain should first do a deployment, then it should run some tests, then it should run some evaluation, and then it should ask the user for approval. Can you increase the font size a little bit here? That would be cool. Yeah, perfect. Thanks for that. I guess I'm just spoiled because I see the full screen in front of me and not the smaller version. So the point is you specify a stage and then what do you want to automate in that stage? I say delivery, and then you specify tasks. And every task can have additional metadata because otherwise captain has a very opinionated approach or thought what should happen when a deployment. But here I say, hey, captain, later on when you trigger a deployment, whatever tool you have that is consuming that event that is basically acting upon the event, I want the tool to know that I have a deployment strategy with a user managed. User managed in this case means user managed Helm chart. This could also be blue, green, direct, there's different things. Or for testing, I say I want some tests to be executed, but I want the test tools that are listening to captain events know that I want to run some performance tests. Okay, so the nice thing here is we have a complete separation of how we define the process and how that what the tools are doing. You see here, there's no tool definition, there's no hard coded weaving between what should happen in this stage, which tool should pick it up. So what we've implemented in captain is a separation between process definition and then the tools are listening to it through events. And then captain has an opinion what should happen between the tasks. So for instance, it knows that when an evaluation happens, the evaluation will evaluate the results and based on that says this is good or no good and then it continues with the next step. So there's certain things we've built into the automation here. And if I go back to my project now, my demo rollout, what I showed you earlier, and I've shown you on my version number one that I only see kind of like the thing that is important. So this view really just shows me, hey, was everything good? Yes or no? What I can also see behind the scenes is all the individual details that happened. So for instance, if I click on few sequence, I now truly really see what happened in staging and what happened in production. Now this should now look familiar because these are exactly the individual tasks that I have specified that should be executed. Remember the first thing that is that should be a deployment, then there should be a test executed, then an evaluation should be triggered. And then at the end, a human should approve it. Yes or no? I've already done this earlier. And what we also show you here to make this a little easier, when captain is actually executing my sequence, it is sending an event. We actually show you that event. So event we have standardized here on cloud events, which is another CNCF project. It means all the communication, all the events that kept sending out that are then consumed and subscribed to by your individual, we call them captain services, testing tools, deployment tools, delivery tools, notification tools. They simply need to say, I'm interested in a particular type of event. And I know if an event comes in, I can expect a certain data structure that tells me some additional information on what I should do. In this case, captain was sending out the deployment has started event. And in my case, I have my health service. My health service is listening to the event and the health service says, Hey, you know what, I think I know how to do that type of deployment. If it does it, if it says I want to participate in that workflow, it's first sends a so-called started event. So it basically says, Hey, captain, I am the health service. And I am starting the deployment. This is important because so that kept knows is one tool are many tools or is no tool handling a task. And then it's also waiting until that tool is finished. And when the tool is finished, it basically sends back, Hey, I am the health service. I have just worked on that task. I am now finished. And here all of my results and maybe some additional information like, this is the URL that I deployed the new application to. Now, one last thing before I'm pretty sure you have questions, one last thing that I completely missed now, because you may wonder, so how does helm know what helm chart? How does the G meter test know which meter test? How does the lighthouse service know which, which metrics to evaluate? Because none of this information is here. This is just the process definition. But let me show you, when you are creating, when you when you create a new project in captain, not only do you give it the process definition, but for every stage, captain automatically creates a branch at the prod branch and have a staging branch. I have prod here, because if I scroll a little further down, I have here some more additional things for prod, some more sequences. But if we go to the staging branch, the idea is that every single tool that participates, the end user of captain can simply upload the necessary additional configuration files to that Git repo. So for instance, here, we have our helm chart. Our terminology or our definition is if you are using a captain project and you have multiple services that you want to deploy, every service has a unique name. Therefore, every service has a subfolder with its name. And underneath that folder, for every specific tool that you onboard, you add the tool specific configuration files like helm has its helm charts. And so when I go back to my workflow and helm says, Hey, that's interesting, there's a deployment request. There's a deployment request for the demo rollout project for the simple notes of service in staging. The first thing that the helm service does before sending back, yes, I can do it. It basically asks captain, Hey, captain, in your config repo in staging for the simple notes service, do you have information for me that the developer, the architect, whoever that DevOps engineer has uploaded so that I can actually do my job? Because if nothing is there, then I'm not doing anything. And the same is true for other things like here, I have my SLO files, my service level objectives. This is for the evaluation that you saw earlier, kind of like what type of metric do I want captain to analyze for me. In this case, it's a metric called response time P 95 with some criteria. Now this SLO is completely tool agnostic. It doesn't say where the metric comes from. But then I have enabled the Dynatrace integration and therefore the Dynatrace subfolder includes a monitoring tool specific SLI demo where I have specified how Dynatrace, when it is triggered, knows how to query this data. These are just query languages. You have the same for Prometheus, for PromQL and other data sources as well. But this is the way this works. And now, one more thing, you may notice there's no G-meter, but I have G-meter tests. How does this work now? Well, we have also the notion that you can put config files on in a stage or you can also put it into the main branch. And then in the main branch, it's kind of like an inheritance. That means I can upload global config files. So here I have some global test files that can be used by G-meter for any type of service in any type of stage. But the strategy is from any tool is first look at the particular branch where I am right now. The particular let's say staging. Let's see if there is any G-meter files either for that branch or for that particular service. And if not, then look up in the main branch because it's kind of like an inheritance. This also makes, I think, things much easier, reusable. You can share components with each other. Amazing. And if I lost some part, when you create this project, you have this kind of template or that you can feel. Yeah. Exactly. When you create a new project, the only thing you need is a so-called shipyard file. This basically specifies how many stages do you have and what type of automation sequences do you want Captain to work in straight later for you. And you're completely free.  But I also have some other things here. But in staging, I have my delivery, which I showed you. Then I also have a rollback sequence. And you can also see here the rollback sequence will be automatically triggered in case the delivery sequence up here fails. So this is also a nice way how you can chain sequences together through conditions. What I also have is similar here in production. I say I have a delivery sequence for production and it should be triggered in case the staging delivery finished with pass. Then it should go on in production, do a deployment, do a test, do an evaluation. And I even have canary phases. So I'm actually using Argo rollout in this example. And I run for different phases of canary rollouts. So you're very completely free. But what you can also do is, and because I told you we want to be opinionated. And I want to show you another project quickly, because I want to show you how easy it can be to get started. A very simple shipyard file could look like this, which is a shipyard file that specifies a stage called quality gate, which is I think our number one use case right now. Quality gate basically means I want to run an evaluation. I may have a system, I have maybe you have your Jenkins, your GitHub, your GitLab, and you have already done some deployments and some testing. And the only thing you want to automate is the evaluation of certain metrics over a certain timeframe. So in this case, this sequence here is doing an evaluation. And I have two tasks, I could even forget the first one, but the first was actually very interesting. It's called Monaco. Monitoring is called. This task is picked up by my monitoring integration to make sure my monitoring tool is correctly configured. So if you're, for instance, assume that you have tool tool X, and you want to make sure that tool X is properly configured that all the metrics are there that you really then later need for the evaluation. And yeah, it's a simple use case. And it's a simple process definition. And one question. You can see that it's a YAML. You plan the project. Captain has the plan to to have a version of this kind of management construction using its portal. It's, oh my God, dashboard. Yeah. Yeah, when you can, where you can, yes, we had here where you can put the stages and the stack steps, tasks that Yeah, we have this here, right? This is all, this is all here the visuals, right? So for instance, here is my staging and production. I also have other projects, for instance, with that with a three stage pipeline, I have dev staging and production.  I mean, if your question is, are we planning on a visual editor? Yes, I'm pretty sure this is something that we know we will do in the future. But I think we have, we currently have other priorities, I would say, then doing a visual editor for the shipyard file. I'm pretty sure it's somewhere in the roadmap already. But right now, there are so many other things that we believe bring more immediate value. Because to be honest with you, you define that shipyard file once when you create the project, you can always edit it, you can edit it and you can add more things to it as you go. But I think from a visual perspective, we want to invest more in better visualization here and more interaction with the UI first than with an edit capability. That's one thing that we have, do you remember FF, what's it called, shipyard? Uniform. Uniform, thank you. So for instance, we already have in the current version a mock-up of one thing in here that will come. So remember, I talked about the uniform, uniform means which services do I currently have installed either on that same Kubernetes cluster or on remote Kubernetes clusters, because we allow now with the latest version of Captain remote execution planes, but then you want to have an overview of, hey, what is currently installed? Which services are out there? Where do they run? What are they listening to? Which events are they subscribing to? Are they healthy? So we are, and how are they configured? So for instance, you can centrally now see what services are handling which events. Because the great thing about Captain is, now think about it, if I go back to my shipyard file, let me go back to the one that I had earlier, the demo rollout. There's no tool definition in here, meaning when I execute this sequence, Captain says, I need somebody that can run a performance test, and maybe today I'm using Jmeter, which works for me, but maybe tomorrow I want to switch to LowCast, which is a tool that Jurgen has just recently worked with the LowCast team, and the nice thing is I can switch tools without having to think of where do I have hardcoded calls to that tool in my pipeline, and because we have taken care of this, right? There's no need anymore in your pipelines to say trigger the tool, parse the results, and then do an if-then statement if it fails. We have taken care of this because we have taken care of the tool integration, but also in handling the results, and the reason why it is so much easier for us to do it is because we have standardized on events. We have standardized on an open standard, which is called Cloud Events, which allows every tool to easily participate and then also easily send back their results. So that means if you want to write your own testing tool or test tool integration and you want to participate in the test step, you know that you will get an event that tells you more about which project, service, and stage, which then gives you access to the GitHub repository, where you can find your test tool specific, maybe test files, and it will also at least contain a test strategy so that you know which type of tests you might want to run. And if you decide to participate in captain, then at the end of the test, you just send back a test start and result. And this allows captain to then say, tests are great. Let's go to the next stage. Andy, can I just forward a question here from the community and it goes, are there any performance test tools for when it is clusters? And the question is from Deepak. I think it just fits to this conversation. Yeah. So for Kubernetes clusters, I mean, the thing is, if I go back quickly to my overview, in my case, in chain meter here, and I think Jürgen, right, you've built, you've worked with the low-cost team and think you're also working with the artillery teams. If you write a captain service, which means a service that is consuming the captain event, that integration can decide where the test is actually executed. In our case, for chain meter, this is a container that receives the event and then will then also execute the tests within that container. So if the question is targeted towards other testing tools that run their tests on Kubernetes, meaning generating the load on Kubernetes, then the answer is clearly yes, because you already have the chain meter service. I think Jürgen, the low-cost service is similar. You're executing low-cost on that container. We have another integration with Neotis load testing tools and they provide two options. You can either run the load in the Kubernetes cluster or you can use the cloud load testing service. So they have both options. I really would like to add one part here, because you already mentioned it and for us, when we started the low-cost integration, what was one benefit of captain to say is that we did not have to change the shipyard file. So we kept the shipyard file. It was saying, I want to do a deployment. I want to execute a test. I want to do an evaluation and then I want to promote it or release it to the next stage based on the evaluation. But we did not have to change anything of this file, we just removed the chain meter integration. Actually, we scaled it down to zero and we added the low-cost integration and the low-cost integration was then doing the job of the performance testing tool. So exchanging tools is very easy. You can just think of this before we're getting this uniform screen that Andy showed earlier, but before until we're getting this uniform screen, you can basically just scale down to zero your deployment and then you can just add another tool. And you can always go back with just bringing the old one up to one or more. And I think this is also very interesting here. So this is actually the definition of your low-cost service that you built and basically a deployment of the captain service. It on the one side deploys the container itself that implements the actual action. And then we also have a so-called distributor that you run as a second container in the pod. And this distributor is the one that is actually subscribing to the captain events. So we have kind of made it easy so that not every service has to write their own subscriber. So you basically just have a second container in your pod and here you can define to which type of events you want to subscribe. You can either be specific, also comma separated can be multiple, but you can also do wild cards. So you can say I want to handle every triggered event. An example here would be we have integrations with Slack where the Slack integration is listening to all triggered and finished events. And then it's just forwarding these events to your Slack channel. I see one more question just in the chat here. I guess something that came in earlier. Lighthouse service has nothing to do with Google Lighthouse. That's true. But funny enough, we've been calling our Lighthouse service Lighthouse for a long time. And I'm not sure how long Google has used that name publicly, but we've been we've been using it for a while. And the Lighthouse service is exactly what we it's basically the service that is reaching out or sending an event, say, hey, monitoring tools that are listening, give me your values. And then the monitoring tools Prometheus, Dynatrace, they would then reach out to the conflict directory, say, okay, which ones do I need? Returns them back and then the Lighthouse service is really then doing the magic here. It is comparing the individual values against your SLOs, where you can either specify pass criteria, warning criteria that could be with a with a fixed threshold, but you can also do relative values where you can do regression detection, we can also calculate baselines across multiple builds. And then in the end, we score at every every line here. So this is the same visual say up here, the heat map visualization on the bottom is a table for every result here, you can see that the Lighthouse service was looking at every metric, comparing it, and then calculating a score, normalizing that score between zero and 100. So that in the end, we'll get a result between zero and 100. And you can also specify what is the objective that you have. And this is also all specified. If you remember earlier, what I've showed, if I go back to my project here. So for instance, in staging, for my simple node service, I have an SLO YAML file, where I specify, these are the metrics, I don't care how I get to the metrics, this is somebody else to care about, but I want to know, I want to specify what's important for me. And then in the end, you can also specify for the total score, how should the total score be compared to pass and warning. And I think if we if we can take a look again at the SLO file, I think what's really interesting is that we also see a little bit here how captains orchestrating the different tools. We do not see directly where the data is coming from. And they mentioned this already earlier. So this is kind of abstracted here. So this file, you can easily reuse for different data providers, you can even reuse it for different services. It doesn't have the service name in it. So the service name is a placeholder then in the API calls or in the PROMQL that are behind the scenes. And what's also really cool is, since captain is orchestrating the tools, and we were talking about performance testing earlier, it actually knows the time frame when it needs to do the evaluation. Because with all the trigger events and finished events, captain doesn't know how long the tests were running. It doesn't know for which test it was executed. All the information is stored in the Git repository, or all the events are stored in the in the data store of captain. And the combination of both really gives you the possibility or gives you the, let's say, confidence that the evaluation is for the correct time frame, for the correct service, you don't get any noise in the evaluation. I think this was also one part that we really worked on hard, that the evaluation phase is really doing a great job here and you don't have to parse the data by yourself. Yeah. Really, really amazing. We have a few minutes to finish our great live. Let's think about people that are starting in starting the community. I saw that captain is in sandbox projects. It's a main opportunity for everyone that are starting to starting community and starting and want to contribute. In your opinion, how can I, for example, how can I, I'm starting now, I want to contribute and it's amazing, contribute to a sandbox project because it's the beginning of the journey, of course. How can you, what you can say to me to the guys that want to start now? How can we contribute with you? My expertise, which expertise I need to have? How do you advocate for me, participate in this amazing project? I think I can take this question. So first of all, we really appreciate if someone wants to join our project and contribute to our project. For this, we have on our Git repository, we have a lot of issues tagged with good first issues. So we really want to have a kind of a lower entrance barrier, really welcoming new contributors. We have a list of good first issues that should not require, here, for example, I think it's a rather new one. Yeah, there is one. So we are maintaining them and creating regularly. That should not require a lot of in-depth knowledge on the project. So all the different core services should not really be important for you, but really to get a hands-on of the project. We have all the documentation, how to set it up, the project, and then it just gets started with coding. Most of the coding is done from the core parts that is done in Golang. And the UI is Angular TypeScript. So I think this is most of the parts. And what we also see from the community, it's not only about contributing with the code, but we do have the documentation and we do have our tutorials. And these are actually also two parts where we see a lot of contributions. Just recently, we had Josh. I don't know him by in person. He found the Captain project and he was contributing a spell checker. So now we have our CLI spell check. We have our documentation spell check. So it's not only about contributing code, but if you have something you want to contribute, if you are very good in writing documentation, if you want to add doc tutorials because you just added your tool to Captain and you want to make it more visible to the broader community, you can start with writing a tutorial. For example, the Litmus tutorial that we can see here was created together with our friends from Litmus Chaos. It shows everything that will be done and achieved until the end of the tutorial. We even have kind of an estimate. We say like, you will finish the tutorial in less than 45 minutes. And you will get a full setup of Captain plus Chaos engineering experiments plus JVD tests. And I can already spoil a little bit here. This is also a talk at QCon that we're basically basing and building upon what we've already done and what we've already seen also being adopted by some organizations that are actually doing their Chaos testing with Litmus Chaos and do their relation with Captain. So all kind of contributions are really welcome. And if you have any questions, you can reach out to us on the Captain Slack. That's the easiest way to get in touch with the maintainers. Let's say. Great, Jorges. And what we can already for these amazing projects for the next year, because I suppose not next year is so long, but next few months or we can reach you again in any present event. You are planning to present in Cubicon. You are planning to present in any Kubernetes community today. What are you planning to do in the next months to be in touch with this project? Do you want to go first or should I? It was again a little bit cutting off on my end. Maybe you can start and I can jump in. Yeah, so I think the question was what are the demands ahead? What are we focusing on? For my side, I will be heavily focusing on showing Captain multi-stage, multi-cluster delivery, integrating and using tools like Argo Rollout, what I'm doing here, also showing a way for, I would say, users of Jenkins, how they can modernize their Jenkins pipelines with Captain so that they don't have to throw away Jenkins because Jenkins is doing certain things really great, but instead of trying to build all the logic that we have here in your Jenkins pipeline and maintaining it, let's Captain do the logic and let's Captain then call your Jenkins pipelines, for instance, for the individual stages like a test or deployment. So I want to focus on this and then another big topic for us is going to be auto remediation, but this is where I want to hand it over to Jürgen because Jürgen is actually leading the auto remediation working group. Oh, great. I want to invite you to present exactly this part that you said about the integration with Jenkins. It's amazing. I want to invite you please to do this. Yeah, definitely. I want to see this more. So it's really amazing moment here today. I need a lot about Captain and it was really amazing to very interesting and they help a lot, so we are finished now, but I will give you the last moments to finish our meeting. Amazing live lunch thing. You can add it. I'll leave it to you. Yeah, thanks. Thanks for having us here. Thanks, Andy, for doing all the hard work here in presenting. I think we covered a lot, but there is even more. Andy mentioned it in the end. We are working also on auto remediation and we are also orchestrating auto remediation sequences when it comes to rolling back, talking feature flags, executing any kind of remediation action in response to a production alert from Prometheus, for example. So this is one part. Maybe we can come back and also talk about this part a little bit. If you want to give Captain a try, please go to Captain.sh. I think we can also see the URL here. Andy mentioned also our tutorials and if you have any questions, please feel free to reach out and thanks again for having us. I will look forward to meeting you again, guys, because it was really amazing. I will invite you, please, accept. We should know more about this project and the other things that we can do with it. So it's the end. So thank you, everyone, for joining us. The last episode of this week in the CloudNative live, it was great to have you again. Andy was amazing. Thank you so much to talk about Captain. I learned that it's Captain. We also really loved the interaction and the questions from everyone that came to us today. We bring you the last Cloud Native code Wednesday at 3 p.m. Eastern time, unless we could have another amazing presentation, amazing meeting with great guys that will show to us the best of Cloud Native at the world. Thank you so much, everyone. See you. Take care and see you. Health and safe. Bye-bye.


And today we're going to talk about this word. What is it? Beer. Beer. All right, so what happens, what comes to mind when you think of that word? Surprise, surprise, scared, tensing up. So what we're going to talk about today is what specifically happens physiologically inside your body when we encounter fear. Can anybody tell me what kind of physiological things happen? The heart race. OK, it's good. So heart rate. Adrenaline. Heart rate. Adrenaline. Keep going. Acid lactic. Lactic acid. OK, what else? Constriction, vasoconstriction. Vascular constriction, increased blood pressure, right? Blood pressure, what else? Blood pressure. What else? Think of a time when you were scared. Oh, it narrows your sight. Vision, right? Vision is changes, right? What else? Thinking changes. Your processing. OK, processing, thinking changes. Sure. OK. Panic. You like to panic? Panic, all right. That is a result. Sure. All right, we can put it over this side. What else? Flight or flight? Flight or flight, OK. Flight or flight, what else? I don't know if it's like things just slow down, just everything is just live.  Slow down. Are you going to flash? Things slow down when you get scared. That's pretty good. OK, what else? Actually, yeah, that is a vote. Report that thing is slow down when you get scared. Anything else? There's more, come on. Negative thinking? Yeah, sure. Negative thinking, OK. Helplessness. Helplessness, OK. Talking about some physiological things, not emotions. More physiological things. How about increased perspiration? Sweating, right? What else?  Uncomfortable? Anxiety. Anxiety, that's emotion. But what's physically happening in your body? What do you feel in your body? Shaking, sure. What else? Crazy. What does that mean? It's kind of like butterflies in your stomach, right? OK, so butterflies, OK. And what else?  So less decrease in saliva. What else is there? Increased stomach acid, that's similar to that. Increased blood pressure, increased circulation. Redirection of your blood to where? To your muscles. Vital organs, OK. What happens to your arms and hands? Can you feel cold? Why? It's because your body is actually preserving the blood into your vital organs. So blood flow to vital organs, OK. What else is there? Something that is not very cool. Something that's very embarrassing.  So that's another thing to happen, too.  Yeah? Yeah, OK. Now if you really analyze and evaluate what's happening to your body, can you kind of see what picture is happening? OK, when your vision, your pupils are actually dilating when you're scared. What happens to your vision? Actually, now you can see more, right? And your focus is better or worse? Worse. No, it's better. No, your focus is increased. Yeah. You see? It's supposed to increase your chances of survival, so yeah. It's supposed to be like a survival mode. Your focus increased. You read some police reports when they had to shoot the guy. All they see is the target, down to the most finite detail when they're scared. So what's number one? Your vision actually enhances, doesn't it, when you're scared. OK, let's look at the adrenaline. What does adrenaline do? Gives you more energy, it pops you. Gives you more energy so that you can run faster. You can hit harder. You can move faster. It's that pain? Right. You can also, yeah, take more pain without feeling it. What does a heart rate do? Goes up. More oxygen to the muscles that you need. What is a decrease in saliva? Do you need to talk when you are fighting? No, so it preserves that energy, preserves that energy so you can use it for something else. What happens when you let flow to the vital organs? Keep it running, OK?  You get lighter. You're released every day, so you don't have to worry about that.  You can move faster when you have less weight, OK? What happens when you perspire? You get slippery. Keeping the body cool. Keeping the body cool. Controls your body heat. What happens when you feel crazy? And what is that? It's actually an acid in your stomach. It's called cortisol, right? Increase cortisol levels in your body. What does cortisol do? It's a hormone. What does it do? It's a bad thing. It helps in bicep constriction. So cortisol is not good if you have it constantly, because it leads to stress and it leads to heart disease. But in that situation, in that moment, what does cortisol do? It does all these things. It actually triggers a lot of these things, OK? So in the midst of fear, what actually happened to you? You're ready to fight for a run.  Now, it's not good to obviously have that occur in your life repeated, but when you need it, your body is actually turning you into a superhuman. So how does that help you when the next time you get scared or the next time you feel these fears? You're using it. OK? So there's an article I forgot to bring today, but it's by a doctor, a PhD, and he says, the difference between people who panic and the people who survive is through training and discipline. What does training and discipline do? It makes you turn this into something that's going to kill you or something that's going to give you energy, because fear itself is just energy, isn't it? All this is all chemical reactions. All this is energy. So are you going to be able to use it for good, to help you, or are you going to let that energy basically kill you? And the difference is in the training. How do we train our minds? How do we train our bodies to be able to handle this?  Everybody. Nobody is free of fear. But it's how much you train your mind, how much you train your body, and that's what we do in here, are we? What we train are our mind and our body so that we can have a way to deal with all these and recognize what these are, making you a super human. So that's the lesson on fear today. I hope that helps you out. So we'll see you soon in the next class. So what do you think about that? Any comments, questions? I don't know if your soul was there. So unless you have to practice and practice or when something like that happens to you, you have to. Yes.