Okay, just a little warning ahead. Because yesterday in the Susanne Awards we saw such a cool 90s techno video, so I thought to get back into the 90s spirit I'm presenting in 1024 by 768, sorry for that. We didn't find it that up there. We were all researching last night, but anyway, I think it will work out. So, hi Blender Conference. It's really nice to be here with all of you. My name is Simon Repp. Today I have the great pleasure to talk to you about what for you hopefully as well are some new paradigms in industrial design visualization. And more specifically, I'm going to talk about, I'm going to present to you an early preview of a research and development project I'm working on, which is called Project Elmira. To start things off, I wanted to give you some background. So as I stand here, I'm only a very tiny fragment of a large international community and project called the Exim project. Who have you has already heard about the Exim project? Okay, not too many, which is all the better because the slides make sense. In the picture you can see a few of my colleagues, a few of our project partners, the founder and the chairman, but it's by far not all of them that are involved in the project. And the Exim project concerns itself with the development of a professional modular open source and open hardware cinema camera. And as prior milestones to this, we have first the Exim Alpha, which is already existing. This was the prototype and the proof of concept that such a thing can be done. Right now transitioning from development into production is the Exim Beta. You might have heard about that. It was financed through an Indiegogo campaign one year ago. They acquired over 200,000 euros to build it. These are finances for the development, actually, not for the actual production. And yeah, right now the first ones are being going into production, actually. And this camera directs itself towards early adopters, towards developers, towards tinkerers, but also very importantly towards filmmakers who also want to get involved in the development. Because like with Blender, you bring together the users and the developers, then the magic happens. And it's the same here. And what I'm more specifically involved with is the future. That's the Exim Gamma, a camera that is set to ship at the earliest at the end of 2016. It's a big research project that's funded by the European Union through a Horizon 2020 grant over 1 million euro. We have five project partners involved. They are spread over Poland, over Germany and Austria. And I myself am part of the team at the University of Applied Arts in Vienna. There are about eight people. And we concern ourselves with the coordination, with the planning, with research, with scientific publications, with graphics, communication. And last but not least, why I'm here, with visualization. So getting to the topic. I joined the team in May 2015, so not too long ago. And I'm working there for nine hours a week. And I will continue to do so until June 2016. And my rough job description there is to work on documentation and visualization. So when I started off, I sat together with Sebastian and with Nils and my colleagues. And then first weeks we kind of got feeling like what would be the challenges. The first start was a bit working on 2D graphics, talking about workflows and stuff. And eventually we got to the 3D part. And yeah, we were sort of getting an overview like what would be the work I would actually do in the visualization niche. So the thing at hand would be camera components. So this is what I would visualize. Lens mounts, circuit boards, enclosures, view finders, whatever. Also possibly some external modules, because there's, for instance, a remote plant for the X and Beta. And very importantly, I would be working on ever-changing designs. So I'd like to really stress this. I would never, ever or probably work on finished products in this whole project. This is important, so keep that in mind. We thought about what kind of visualizations do we want. And it's product shots, orthographic views, front, side, back, et cetera. Cross-section views and exploded views. So these are the main things, like classical industrial design visualization stuff, actually. All of this possibly in a realistic and a blueprint aesthetic. And animated, of course, and possibly, if we can achieve it, also interactive. And these are sort of the places where we would use all this footage that I would produce. So we have weekly articles, sometimes even more than weekly. We have, of course, our website, we have print materials, we will have packaging. And very importantly, the last point, a manual for the camera. And this led us to another topic, which is sort of not so ordinary. Because as I was saying, I'm working on ever-changing designs, so versioning was really important. So of course, the last version always bears significance to a large majority of the people. But as I said, the Beta is a camera that is directed towards early adopters. So we don't want to leave those behind and have visualizations in the manual that don't even fit the version of the camera that people own. So this is something that we needed to keep in mind and that adds quite some complexity to as to where are the files, where are the visualization files, and which version are they and where are they linked to and all that stuff. So and at this point, I got a bit concerned because nine other weeks really not much. It's almost nothing because you also have to factor in like meetings and all documentation and all the overhead. So I thought, how will I spend my work day-to-day? I had this fear that I would come into the office and there would be a new version of a component and like, hey Simon, we are having an article next week. Can you do a visualization on that part? We need to communicate this and that. And then there's of course this problem, like how much work do I put into this? Because if it's like a weekly cycle and you know it's just a draft version next week, like the component could look completely different. How much work do I put in to actually set this up as a beautiful visualization rig? And so I sat down with Sebastian again. We did some thinking.  So the idea was just to have a very automated system that has almost no user interaction, maybe where it just put in the raw designs, the CAD files, and outcomes, cross-section views and exploded views and whoops, what happened there? Yeah, outcomes, all the visualization formats that I talked about earlier. And in the first weeks of this, I mean, we kind of went for that, but it shows in a process or I realized that it's not really beneficial to automate things so much. So I think it's very important to also have that human factor, to have a designer actually go in and change some things, even just small things can make a whole difference. Because computers are smart, but they're not yet that smart that they can communicate great visualization for you. So the plan evolved a bit, quite a bit actually, it's escalated, I would even say. And in the last months, I was basically working on this now, a system that kind of has automates as much as of this tedious versioning stuff and deployment and all that, but still retains the possibility for the designer to step in and to actually these human changes that I really need. And the product of this is currently codenamed Project Almyra and this is what I'm going to present now as a live demo and along the way, I will talk about all the design decisions and stuff. How many minutes do I have left? I forget to set the counter. 15. 15, perfectly. So now we'll get interested with the resolution, but I think we'll manage. Okay, so as you see, Project Almyra is a web-based service. This is like one of the key components in this deployment. So one of these very important paradigms, I wrote it down so I can really talk about it. Oh, no point. It's actually, like I talked earlier about this versioning thing, you know, we have a manual with descriptions on the cameras in different versions and we have different visualizations and so this is a whole mess, you know, every week you have to deploy different files to different places and different versions and all that stuff. And so the idea is basically that this system deploys all the images over a web server and for each visualization, you get a permalink that you can insert in Wikis or send somewhere, send an email. Just you take out all this, put it on Dropbox or to upload it via FTP and all that stuff. Okay, maybe I'll just jump in and show you the workflow. So what I can do in Almyra is basically create a visualization. Which one are we going to take? I think I'm going to visualize some stuff from the Blender Cloud. So maybe let's start with the watch with Victor's watch. And that looks correct. Basically the idea is always when you start a visualization in Almyra, the model that you use, which is raw CAD-CAD data, so we agreed for a moment on STL because it's just like the common denominator which we can work with, something you can get out of every program no matter how proprietary it is. And you link the visualization you do to the original source. So later the system can update the visualization.  Okay, and basically you can then select which kind of visualization you want and let's say we want an animation. Let's say it wants to be four seconds. I'm going to turn down the resolution a lot because I don't want to wait for the rendering. And then you can have different templates for these classical visualization types that I talked about earlier. So this is stuff that you always have, like turntable or Helix or Dolly or user control that I'll talk about that later. And when you choose a turntable, then you can choose a default style which is applied. Let's keep it realistic. And then you have modifiers, one of which is already implemented, automated cross-sectional view. Okay, let's... What did I forget? Great, the title would be good. Five demos, exciting. Okay, so there's our visualization. I'm now showing up in the system. And have I started the renderer? Let's see. Of course I haven't, okay. So in the background, I'm now starting the rendering process. And if everything goes well, yeah. Okay, so it's now a registry string, it's doing something. There's a red dot, you can see it. And it's rendering the missing frames. So this is one principle of the whole system. You start a visualization. And from the beginning on, you have something to work with. This is one of the very important paradigms in this. I need a bigger table. So, and all these versions are continuously deployed. And even after just, I don't know, in this case probably two minutes, you have something that you can show to people. So you have a link that you can email to people. You have something to talk about, to look at, and talk about with the engineers and with management. And this is really to take out this classical dilemma like I'm a designer and of course we always, we aspire to do really cool things. And then we're like, ah, well, I'll show you tomorrow because the visualization is not cool enough. And I'm just going to break with this paradigm here and say whatever I have, I'll just put it out there. Because it's more important, especially in industrial design visualization, this is not about fancy arts or movies. It's important to see stuff, to work on stuff, to communicate, and this is what's happening there. And okay, it's actually, it has only a random haughty animation because the random queue is, I'm only giving one minute of random time to each queue. So if there's more visualization, it always switches to another one. And that's why it's not finished yet, but it will be in a second. And it automatically applies all of this in different formats. So there's no, okay, you sent me an MP4 actually I needed something else and then you have to somehow find out how to convert it. Everything's there already. Also as a sip, all the images themselves, all the frames. Yeah, okay, and as you can see, here you have three buttons. One is like the system stores all visualization as a blend file. So you can at any point take the visualization out of the system and use it in any crazy way that you're used to work with Blender because it's just a blend file and you can just take it out or put it back into the system. This is the other button, updated scene from Blender. So you can just replace it. And the idea is of course that the workflow is you use this templating system to get a visualization going that is already almost what you need or at least fulfills the basics. It's like a turntable animation of the park. That's what you need. And then as a design, you can go in, download the blend and make some changes and upload it. So maybe let's do that. Download it. So there's the blend. I just downloaded and oh my God, it's so tiny. Okay, so there it is. And basically I can now do whatever changes I want. I don't know how about maybe I changed color or something. Maybe I even animate it. Okay, perfect. I'm going to save that and back into the browser. I will choose that file, turntable, and I'm updating the file. Now as you can see, it has two versions of this. And in the background in second, it should be rendering this again. Okay, it's still exporting the other one. Okay, and while it renders, I'm talking about the last button. This is probably the most important here. As I said, every visualization you have is tied to wherever you get the data from first, to the cat files that are online somewhere. So if an engineer in meanwhile takes this part that he asked you to visualize and updates it on the GitHub repo, the system can automatically fetch that and then it tries to reapply everything that he manually did to the visualization on the new version of that design. So and this is another very important factor and maybe it's even the key factor in this whole thing. As I said, in the project, I would always work on ever-changing designs and they give me some lens mount for instance and I visualize it, I put in a lot of work to make it beautiful. And then next week, the engineer comes and says, okay, I added a little screw there. It's a new version, but it's kind of important for the manual. So I would have to really reapply all these, I don't know, sharp corners and the UV mapping and maybe redo the animation and split the model and do the exploded view animation and all that stuff that is the end goal should be automatically done in the system, as much as can be done anyway. Of course there are things that the computer won't be able to resolve, but it does as much as it can and after that you have to do it manually anyway. But only a little part of it and not all the deployment and all that stuff. How many minutes do I have left? Five, perfect. So I'll just consult my cheat sheet so I didn't forget anything. Yeah, another thing that's kind of important about this is as it's a web interface, it's not limited, thank you, it's not limited to the designer. So previously you kind of get all the hardware data and then you work at home or at your desk and it's sort of your territory. But with this, as you saw, there's a wizard for creating classical types of visualizations and with this anyone can start off this process and this is very important for me because then Sebastian, for instance, our team lead could say he needs a turntable visualization of a part and he doesn't have to send me an email like here you can find the files and this is what I want, it's like messy and tedious. He just goes in there and paste the URL and says how it looks and then he has something to work with already. I don't even have to be concerned, like I can be on holiday and he still has a turntable animation that he can work with. It's at least something, it's always better than having nothing at all and at any point then when I have time I can look at it and say, okay, this needs some human intervention and I am the designer and I do some changes and I re-upload it and it's always in the system and all parties involved, so management and PR, press, the engineers, they always can see what's going on, where we are, like what they have there and they can just anytime open it and where's my mouse cursor, get all the different formats, so there's GIF and I don't know, there's MP4, okay, now I don't want to download. I think this works in the browser, does it? Yeah, so yeah, that's another thing that I would guarantee a level of quality, this is also very important because even if I'm a great designer, sometimes work is just so overwhelming that I don't really have time to invest much into something and in that cases I dare to say that even an automated system can probably deliver whatever you can deliver if you don't have any time at all and this is just the idea, like if it's really stressy then just let the computer do it and it's not a waste precious time to deliver something that a computer can do as well. Okay, so I think I have all the most important points. Okay, do you guys have any questions? Otherwise I will, a long side of this just show a few more things. Okay, the question was, is it available already or is it just internal? Yeah, like I said, it's an early preview so it's not online yet. I actually thought about opening the repo just now, opening, creating one, opening but I'm not sure about how we are going to license it. I mean it's going to be some open license but you know the details, is it GPL or is it, I don't know. Yeah, I still have to clear it up with my team then can be, yeah, released any time. Yeah, can you tell us more about the user control part? Can you specify that question? When you select user control you said you're gonna tell us more about it but I think, ah, yeah, sure, sorry, yeah. Very good. Yeah, as you see, I didn't talk about this at all. There's web 3D, so another goal in this would be that the system also automatically generates interactive web 3D view. Using, I think it will very surely be planned for web because it's really cool. And yeah, and then of course the camera can be user controlled as well. So that's why it has user controlled here. And the idea with the interactive web 3D view is to have it integrate just like all the other modes. So also, if there's a new version, the interactive web 3D widget is automatically updated like behind the scenes. You always have the paramiling and the stuff just improves in the background. So the samples increase, so now we're at, I can't read it from here, like something higher. Yeah, that's the answer to the question.


tack the ball. You can usually tell if someone's going to have a good shot simply by the way they approach the ball. Before the opportunity comes, you have to be ready for it. The quality of your movement into the ball will translate into the quality of your shot. Think about being light on your toes, moving towards the ball, and attacking it with purpose. I will send the better in one day soccer blueprint to anyone who comments hashtag on this video. Step number two, focus. It seems obvious, but the truth is most players are already looking at the back of the net before they even make contact with the ball. When it's time to shoot, you need to lock on to the ball. Focus on the ball until you follow through towards your target. Even more so, focus on a specific point. If you like this content, check out the Soccer Success Planner. You can download it for free. There's a link in the description below. And for advanced training, check out the Online Soccer Academy.


Hi, everyone. Welcome to Cloud Native Live, where we dive into the code behind Cloud Native. I'm Annie Telasto. I'm a CNCF Ambassador as well as I lead Marketing and Vision, and I will be one of your hosts today. So we have Shariah here with us hosting as well. Hi, Shariah. There we go. He's going to be handling the Q&A, particularly for us today. So every week bring a new set of presenters to showcase how to work with Cloud Native technologies. They will build things, they will break things, and they will answer all of your questions. But you can join us every Wednesday or a few other days with the week as well sometimes to watch live. So this week we have Flynn here with us to talk about Circuit Breakers and Dynamic Request Routing with LinkerD 2.13. Very excited for this. And as always, this is an official live stream of the CNCF, and as such, it is subject to the CNCF Code of Conduct. So please do not add anything to the chat or questions that would be in violation of that Code of Conduct. So basically, please be respectful of all of your fellow participants and presenters. So with that down, I'll hand it over to Flynn to kick off today's presentation. Thank you. Happy to be here as always. Let's turn the screen share on if you could and we'll go from there. There we go, yes. We're talking about Circuit Breaking and Dynamic Routing, which really, I really should have pitched this as Circuit Breaking and Dynamic Routing, the good, the bad, and the ugly. There's a lot of good. There's some stuff that might be bad, and there's definitely some stuff that's still kind of ugly. So we'll be breaking all that down as we go. So a lot of this will be a demo. You can follow along if you like. The workshop source is that URL or you can just go and scan the QR code there. I will be doing this with a Civo cluster. It works fine with a K3D cluster. It doesn't really matter. Just, you know, choose what you want or just follow along with the demo and don't mess with anything on your end either way. If you do want to run this on your own cluster, make sure you're using an empty cluster. The setup assumes that we can do whatever we want with it. Please do not run this against your production cluster. Very bad things could happen. And that would definitely involve breaking things. All right, with that in mind, the agenda, we're gonna talk briefly about circuit breaking and dynamic request routing. We're gonna go and do a demo of dynamic request routing, then of circuit breaking. Then we'll come back to the slides for a second to talk about gotchas. And then we'll do a little bit more in terms of debugging things. If we have time, everybody crush your fingers on that one, right? Okay, dynamic request routing. This is a thing that originated kind of with LinkerD 2.12 and earlier we've been able to do this for a while using traffic splits from SMI. That was kind of limited to very coarse grained routing where you could say, okay, 1% of the traffic to foo, I want you to peel it off and send it to a new thing. The rest of it goes to the original one. Or you could say things like take all of this traffic and throw it over to another cluster if you're running multicluster. The point of dynamic request routing in 2.13 is that you can route on many, many more things like HTTP headers or the birds. You cannot route on bodies because that would be weird. But this permits you to do a bunch of really interesting things like progressive delivery anywhere in the call graph instead of right of the edge where the Ingress can control it. Likewise, you can do A.B. testing deep in the call graph or per user canaries or whatever. There's a lot of really interesting things you can do with this. These are configured with the Gateway API HTTP route resource. So no longer with the SMI traffic split. Part of this is that Linkerty is actively participating in the Gamma Initiative to bring the Gateway API into the service, the world of service measures. So this is kind of a new capability here. You use the parent ref of the HTTP route to bind the route to a service with Gamma. You can bind to services, not just with gateways. And then the backend refs are where you describe where you want the traffic to go. And we will show demos of this when we get to the demo. This is a good opportunity to talk really briefly about the Gateway API and Gamma. If you're not familiar with these things, Gateway API got started a few years ago, 2020. Broadly speaking, it got started because a bunch of people looked at the perpetually in beta forever Ingress resource that was not really as expressive as we would like. And we're trying to figure out, how do we do better than this? So Gateway API itself is at version 0.7 at this point, hoping to reach 1.0 this year, another one to cross your fingers there. Last year, an initiative got started within Gamma to figure out, sorry, an initiative got started within the Gateway API to figure out how to use the Gateway API to configure meshes as well as Ingress controllers. Simply because, you know, I mean, HTTP routing, for example, is a thing that applies pretty well at both in both of those areas. And Gamma actually does stand for something. I really should remember what it stands for off the top of my head, especially because I became one of the co-leads this week, but I do not, and I'm terribly sorry about that. I'll look it up before the next one of these. LinkerD, the project, I personally have been very active in Gamma because it's pretty interesting to us, right? We started to use it with 2.12. We picked up the HTTP route CRD at that point. The goal within LinkerD is to use the Gateway API as our new standard way for talking about classes of HTTP traffic, including GRPC. We wanna use it for traffic shaping and retries and timeouts and off policy and dynamic request routing and all of this great stuff. We like the Gateway API for this because it is quite powerful, it's quite flexible, it's on a good path to probably RDB in your cluster and maybe most importantly, somebody else can maintain all these CRDs as opposed to just us. There are also things that we're actively working on. There are a lot of things you cannot yet do within the Gateway API. Retries comes up immediately as a thing where you just cannot do that. Likewise, conformance is kind of a big deal. The Gateway API defines a standard set of conformance tests so that if you want to say you support Gateway API, you need to pass the tests. Originally, the conformance tests required that you'd be an Ingress Controller to pass them and LinkerD obviously is not, so we could not do that. As a direct result of that, we are actually still using HTTP route, for example, in the policy.linkerd.io API group rather than the official Gateway API API group. Conformance is an area that's changing very quickly in particular, there's been a lot of good work around conformance profiles so you can talk about Gateway API conformance for a mesh as opposed to for an Ingress Controller, so keep an eye on this, it'll likely just not be an issue for too much longer. All right, I'm not seeing any questions so far so I'm gonna keep going with circuit breaking. If we do have any questions, just toss them out in the chat or whatever. Circuit breaking, this is even newer than dynamic routing. The idea behind circuit breaking is that if you have a failing workload endpoint, it probably does not make sense to keep hammering the failing endpoint with yet more traffic and make it fail harder. So when we see a failure or when you see some group of failures, then the idea is that the circuit breaker will open so that traffic to that endpoint stops. After a little while, you can try another request, see if things are working and if they're working again then you close the circuit breaker and let requests go through again. The implementation in 2.13 is a little bit limited. Like I said, this is a very, very new thing. So 2.13 can only open the breaker when it sees too many consecutive failures to a given workload endpoint and failure here means an HTTP five series response. We will in the future be able to do, you'll be able to do response classification, you'll be able to do things based on GRPC statuses and not just HTTP statuses, but this is the way it is for 2.13. Another important thing here is that 2.13 currently configures circuit breakers using annotations on a service which is a little bit ugly but permits us to basically to get feedback really quickly about how well it's working for people so that we can make sure that what we're building is things that people want to use. You'll also note, if you look at the docs that all of the annotations currently have failure accrual in their name, which is the internal name for the implementation of circuit breakers and honestly, partly that's there just to remind everybody that yeah, this is gonna be changing. The annotations are not the way we're gonna be doing this forever. Okay, some examples really quickly about circuit breaking there and we will be demoing this. To break the circuit after four consecutive request failures, you say, hey, the failure accrual mode is consecutive which is the only one that's currently supported and the consecutive max failures is four. If you then set the failure accrual consecutive minimum penalty to 30 seconds as soon as the breaker opens, it will stay open for at least 30 seconds. Then it'll retry and if that retry fails the delay will get longer and longer up to the consecutive max penalty which here I've shown how to set it to two minutes.  Okay, I'm gonna describe the architecture of the demo itself and then we will go in and look at the demo and what we're doing here is we start with a cluster. In our cluster, we are sorry outside of the cluster we're gonna use the web browser as the GUI. It's getting this single page web app called the Faces GUI. It then will reach in and call the face service repeatedly. There's a grid of cells in the faces GUI. The face service inside the cluster will call the smiley service which is supposed to return a smiley and the color service which is gonna return a color. When things are going well, the smiley service will return this grinning smiley and when things are going well the color service will return the color green. The face service will then compose the two together and hand them back to the GUI. We also in this particular cluster we have a smiley two service which returns a hard eyed smiley and we have a color two service which returns the color blue and at the beginning of this demo nothing is talking to either one of those. So if you see blue hard eyed smileys something is going wrong. If you are familiar with the Faces demo elsewhere in many demos we deliberately start this off with the Faces demo being a horribly broken so that we do not often see green background smiley faces. In this particular case we're going to start it off with the Faces demo not being broken so we actually expect to see a field full of grinning faces on green backgrounds. All right, we're using emissary ingress as the ingress controller here to mediate access between the GUI and the rest of the cluster. We're not really using the ingress controller for anything so it doesn't matter which one we choose but that's the one I'm using. And of course we have LinkerD all over the place in the cluster and we are very much going to be using things that LinkerD can do inside the cluster. Okay, so let's see what happens. And as Annie mentioned breaking things is always a possibility. All right, well the first thing that's gonna happen here is that I am going to quit this and you get to see a little bit of behind the scenes stuff because I was testing this right beforehand. I disabled a bunch of it. There you go folks, that's how you know we're doing it live. So the tool I'm using here, Demosh, is also open source. You can find that on GitHub if you like, ask questions. Okay, let's try this again. And there's our demo architecture as shown. Okay, yeah, there we go, this is a start. We got two significant features we're gonna be talking about here. We're gonna be talking about dynamic request routing and circuit breaking. As running it right now, the GUI should be showing all grinning faces on green backgrounds and let us see if that's actually what we're gonna get. Okay, we are in fact getting grinning faces on green backgrounds. Everybody can see that, this is a good thing. All right, that's the same, I should point out. That is not a different web browser. That's the same one I was just showing you, just scaled down and fit into the corner there so we can see the text and the web browser at the same time. All right, as I mentioned before, that green color in the background comes from our color workload. The color two service or color two workload also gives a, wow, I cannot talk today. Color two gives the blue color instead of the green color. We're now going to try to shift traffic over to color two with an HTTP route resource. This is the HTTP route resource we're going to use. So the name isn't all that relevant. The namespace is relevant though. We need this HTTP route to live in the namespace with the workloads it's trying to modify. In this case, that's the faces namespace. And what we're gonna tell it here is when you see traffic going to port 80 on the color service, then route 90% of it to the pods behind the color service and route 10% of it to the pods behind the color two service. An important point here is that you'll see these port numbers scattered through. Those port numbers must be the one in the service record that the service is dealing with in this actual workload. The workload is listening on port 8080. Don't use that port, it won't work. Use the one in the service, which is port 80. So when we apply this one, we should see about 10% of those things shift over and get a blue background. There we go. I shall leave it as an exercise for the reader to determine what 10% of a four by four grid is, but close enough. Now, let's take a quick look back at the demo architecture just to follow exactly what's going on here. What we're doing here is that normally traffic coming through is going to hit emissary ingress who will hand it off to the face service, which will hand it off to the smiley service. What we're going to do though is hit the wrong button immediately, that's pretty awesome. Yeah, all right, what we're going to do here is basically use the HTTP route to add this dashed line to send part of the traffic over the color two. But from the perspective of the face service, it's not doing anything different. And this is a relevant thing because all of this means that you get to change the routing, you get to do all of these funky things without actually needing your application to care about it at all. All right, back over here, we can change the amount of traffic that the service is getting or that the color two service is getting by changing the weights in our canary resource. So if I change this instead of a 90-10 split, I can change it to a 50-50 split just by editing this thing. If we do that, we should now be seeing 50% of the traffic rather than 10%. So now roughly half of our things get a blue background instead of a green background. We can also, once we decide that we're really happy with this, like I don't know, maybe everybody likes blue instead of green, we can switch everything so that all of the traffic goes to color two. We could do this just by deleting that backend draft, but instead I'm gonna do it by changing the weight to zero simply because that can often be easier to do in a patch than deleting it. If you've ever tried to delete a stanza within a resource using kubectl patch, for example, it's really annoying, but changing a weight is really easy. So we're gonna show that that actually works here. I apply this one, we should see no green backgrounds at all once this takes effect. There we go. It's always nice when the things that are breaking are me driving the demo instead of the demo itself. I always appreciate that from the demo gods. All right. Another thing we can do is A-B testing. And for this one, we will end up using two browsers rather than just one. So we have one browser, which is our normal browser that we've been looking at so far. That is not sending anything fancy. And if you look at it, you can see that it says user unknown up here, which is telling us that this browser is not doing anything strange with any headers. But there is another browser that we have here that's using mod header, the mod header extension to send an ex faces user header with the value of test user. This browser right now looks exactly the same as the other one, except that it says user test user. So here, I now have both browsers visible. And again, these are the same ones that I just showed you with the normal user on the top. And the one that's actually sending the browser extension is on the bottom. So this is the normal user. This is the test user browser. So if I come over here, we can apply this HTTP route to switch the smiley between smiley and smiley too, depending on the header. So what's going on here is same thing, right? This has to be in the faces namespace. We're gonna act on traffic coming to the smiley service on port 80. And then if that matches a header with a name of ex faces user and an exact value of test user, all of that traffic will be routed to the pods behind the smiley to service. Otherwise, the traffic will be routed to pods behind the smiley service. You'll also note that I did this in lowercase. That's because HTTP to mandates that header matching not be case sensitive. So we just smash everything in lowercase and color good. So if I apply this one, we should immediately see the bottom browser that's using mod header to send over ex faces user test user. We should immediately see that one switch to hard-eyed smileys rather than normal smileys.  If I come over, I have to figure out the right way to show you all this now. So if I come over to my, this is my normal user browser, which you'll notice is showing us grinning faces. This is my test user browser, which is showing us hard-eyed smiley faces. And if I come back to this one, the problem here is that I cleverly picked the wrong window when I was doing those shares. Like I said, I'm gonna leave that and we'll call that a thing where I've broken something. Okay. Once we get to the point that we're done with the AB test and we decide that everybody really, really likes the hard-eyed smileys, then this time I will just delete the stanza. There's no real point in leaving in them, trying to leave the header match in, but also giving it a weight of a hundred and then giving the other one zero, we can just delete it. That's simpler. And as soon as I apply this one, then both browsers will get the hard-eyed smileys and then it won't matter so much that I picked the wrong one and labeled the test user normal and the normal user test. Okay. Any questions so far? I don't think so far, but there was a high from Chile, so high back there. Hola, Chile. All right. Now let's show off some circuit breaking stuff. So the first thing we're gonna do here is we're gonna actually switch the UI so that in addition to seeing the matrix of faces, I'm also gonna click the show pods button, which brings up this other thing that shows me which faces pod is giving me what kind of result. This just makes it a lot easier to see when circuit breakers open and close. I should also point out that this display of the pods is not really relying on any service mesh magic. I just arranged it so that the service, the face service hands back its ID to in a header so that the browser can show it to us. All right. Again, same browser. So at this point, we're getting responses from two face pods. Those pods are part of the face deployment. The face deployment is set up so that it gives each of its pods a particular label and then the face service goes through and selects the pods that are part of the face deployment. This is kind of Kubernetes 101. There's nothing particularly magic here, but it's important to bear this in mind because I'm gonna use this to cheat. I'm going to add more pods that are part of a different deployment so I can have them run different code, but I'm gonna give them the same label so that the face service will multiplex across all of them. And the reason I'm gonna do this is that the things that I add are going to be broken by design. So as we do this, we will eventually see some face two pods showing up. And the point of face two is that those pods almost immediately get stuck in an error state which we'll show here as a meh face on a pink background. And you can see that in fact, that is exactly what's going on.  And so now we're gonna go through and annotate the face service to enable the circuit breaker to hopefully get rid of the pink background meh faces. As we showed before, we're gonna activate the consecutive failures mode. We're gonna tell it that it needs 30 consecutive failures before it does anything. And the minimum penalty will be 10 seconds. So once I do this, if you look down in the over here, you should see these numbers. So once we get there, those are actually the numbers are the count of failures for that particular pod. So once I apply this, nothing should happen until they go up by another 30 or so. And then we should see the breaker open and those pink meh faces should just disappear. Everybody cross your fingers. It doesn't take that long to get to 30 failures in this demo, thankfully. So it makes it a little bit more interesting. Let's hope so. Yeah. All right, come on. There we go. So now you can see a couple of things that are interesting. One of them is that we only have blue hard-eyed smileys. And the other one is that the face two pods almost vanish from the pod set. That then every so often, we see one of the pink faces come back. What's going on here is that Linkerty is allowing a request through to see whether that face two pod has recovered. And it doesn't do anything artificial. It just allows through an actual application request. So one of the interesting things with circuit failure, circuit breakers is that once they open, yeah, you will actually still see occasionally a real failure that comes all the way through back to the client. This is another thing that, I don't know, might change in the future. It's fairly difficult though with circuit breaking to both probe the service to make sure it's happy and not let any actual application request through. Okay, so that's it for the demo. We actually do have time for questions, which is great, but I'm not seeing any right now. I'm gonna go back to the slides to talk a little bit about gotchas and debugging. By all means, if y'all in the audience have questions about this, go ahead and sing out. So let's talk about gotchas. There are always gotchas. The biggest gotcha of them all with this stuff is that in 2.13, service profiles from 2.12 and earlier do not compose with the shiny new gateway API features. So if you have a service profile that defines a route, it will take precedence over an HTTP route. And it will also take precedence over circuit breaking and also it will take a bit more time. I think the audio might be a bit muffled, but let's see if it improves. Is that better? No, it's really good. Yeah, okay, sorry about that. I got a little bit too far from the mic. So yeah, if you have a service profile that defines a route, it will take precedence over an HTTP route with conflicting routes. And it'll take precedence over any circuit breaker that any circuit breaker for a workload that that service profile uses. And the reason for this is that if we did it the other way around where HTTP routes took precedence, we were able to come up with lots of very surprising behaviors on upgrades that would have badly confused people and possibly broken their clusters when they went from 2.12 to 2.13. And that did not seem like a good idea. The problem, of course, and the reason that I called this out as a huge gotcha, is that there are still a bunch of things that you have to do with service profiles in 2.13 because you can't yet do them with an HTTP route because the Gateway API doesn't yet offer us a way to do them. Retrize is the really the biggest one here. We're actively working on making all of this stuff better very quickly. We actually just like yesterday, I think it was, released edge 23.6.2, which includes support for get 1742 timeouts, which is a way of adding timeouts into HTTP routes. So this is getting better quickly. All right, but sorry, this is getting better quickly, but for the moment, yes, there are still going to be things that you must do with service profiles and that you will not be able to do with HTTP routes. And I apologize for that. If you are doing things with this that are confusing when you try to do them, then some rules of thumb for debugging. Make sure you don't have any service profiles if you're trying to use HTTP routes. That's the biggest one. There's another one along here though, where if you are trying to use HTTP routes, they don't work and then you realize, oh, hey, I actually have a service profile here, then when you delete the service profile, you may actually need to restart pods for the thing you're trying to apply the HTTP route to or the thing that you had service profiles attached to. The reason for this is that the Linkardee proxy kind of has to decide if it's gonna be a 2.12 proxy or a 2.13 proxy as far as this is concerned. And in most of the cases that I've seen, it has managed the switch correctly when you delete and reapply resources and such. Occasionally, that could be a little problematic. Another thing that's worth noting is that there is a new Linkardee diagnostics policy command that can help with this stuff. So let's go back for a moment to our demo to look at that Linkardee diagnostics policy command. I'm going to warn you, this is going to have a lot of information. So basically what I'm doing here is saying, I can't quite scroll up there. What I'm doing here is I just asked it, hey, show me all of your policy stuff associated with the Smiley service in the faces namespace on Port 80. And it is going to dump a lot of stuff out. It starts by, for example, confirming that there is an HTTP route associated with this. You'll also notice that this says HTTP one, because Linkardee treats HTTP one and HTTP two very similarly. It can go through and talk to you about back ends, which are all Smiley two at the moment. There's only one backend in here. It can go through and talk to you about, oh look, I can actually match everything. And then it's going to be exactly the same thing. I think the audio is breaking. Yeah, exactly, we noticed at the same time. Come on, internet, work. Basically there's a lot of information here. You should get used to using things like JQ or whatever to go through and look at things like this. But there's also a lot of very useful information in here where it can tell you a lot about what it's actually talking to and what it's willing to do. I hope that was audible. So what we're going to do here is we're going to restore one of the color routes. We're going to switch back to the 5050 color canary that I did earlier. And just in case you're curious what that looks like with both the circuit breaker and this, I actually turned off the browser so it wasn't shoving requests in the background, which is why the pink faces came back because it had been long enough that Linkardee was willing to retry those and then it took it a little bit to build up to 30 failures again. But now you can see the 5050 mix of blue and green again. And now we can check the Linkardee diagnostics policy for service color, port 80, in the faces namespace. We can see, okay, great, the color canary is there. But now if we come through, we see multiple back ends buried in here. I have to actually scroll back and forth because it's over both. But we can see it say, hey, yeah, I'm splitting traffic between these two things and it confirms a 50% weight on this backend and a 50% weight on this backend. So this can tell you an enormous amount of stuff about what's actually going on. Now, this is slightly incorrect in that Linkardee diagnostics policy will talk to you about circuit breakers, but it can be much more helpful to actually use Linkardee viz to go through and look at where the traffic is actually going to get a sense of if your breakers are actually working. So if we look at traffic to the face deployment, we see 100% success at 5.9 requests per second, which is pretty reasonable. We also see that the latency is absurd, but that's not the point of this demo. It is in fact configured to be absurd. So we can also go through though and ask Linkardee viz to show us pods in the faces namespace that match the service equal face deployment, which is exactly the same one that the face service is using. So this will show us all of our pods, whether they're the good face pods or the broken face two pods. And if we do that, then we can go through and see that, oh, look, these two are only taking a tiny amount of traffic because the circuit breaker is kicked in and these two are taking almost all the traffic. Couple of things that are interesting to notice here. One of them is really, what's up with this almost 100% success rate? Well, the answer is that there are a couple of answers, but the biggest one is just that it's not feeding it very much traffic. And so it goes through and miscomputes that. Also, oh no, actually, Linkardee will consider a four series response to success for this graph, but everything coming back here is a five series. The other one that's interesting is that the failures are much lower latency than the successes. If you remember before the circuit breaker kicked in, you saw a bunch more pink faces in the demo than you did the actual real ones. That's because Linkardee prefers to route to lower latency endpoints. So if you get into a solution like that for a minute, you'll find that it's failing really, really fast. Linkardee will actually end up preferring to give the failing endpoint more traffic until it figures out that it's a failure. Another reason why circuit breaking can be really, really useful. Okay, and another, that was another point. Linkardee viz stat computes things over time and it can take it a little bit.  So if we go through and work, to go through and play with things, then you would need to possibly wait a second or two to see that going on. I feel like my screen share just decided that it was going to break. So Annie, I might need to get you to swap back and forth there. Let's see. Don't worry. There we go, good enough. All right. Except that that's not the slide that I'm sharing. Annie, can you drop the share and then put it back on for a second? Yes, I can. Okay, there we go. Dropped and it's coming back. I'm gonna have to turn it off and then turn it back on. So everybody, this is gonna look weird for 30 seconds or so, I think. No worries. That's the universal rule of IT support. Or something like that, yeah. Yeah, exactly. All right. Yeah, while we're waiting for that to kick up, I wanna remind everyone of the Q&A. So if you have any questions for Flynn, you can leave them in the chat so that we will get to them after we get done with the main content, so to say. Yeah, the demo, I guess. All right, so what I'm gonna do here is cheat slightly. I think this is, as advertised, the break things part, surprisingly in the slide deck portion, which is extra fun. It's, and now, of course, my video is frozen while it's waiting for the share to reactivate. It's always, I'm used to worrying about the demo breaking. I'm not usually used to worrying about the presentation breaking. So this is really quite entertaining. Oh, now it's coming up perfect. And the middle part as well. Okay.  So if we wanna go through and switch views, then that might actually be a little slower now. All right, so this is another gotcha about dynamic request routing. You cannot sequence dynamic routing like this where you've got one route that splits foo between foo and bar and then another one that splits bar between bar and baz. That will not work. If you send traffic to bar, it'll do the right thing. But if you send traffic to foo, it will never follow the baz leg at all. The reason for this is that HTTP routes have to distinguish between what we've taken in Gamma to calling the front end of a service at the back end of a service. The front end is basically the DNS name and a cluster IP. The back end is the collection of end points that provide all the compute for the service. Routing decisions happen at the front end, which is shown in blue. But once the decision happens, it goes straight to an endpoint, goes straight to the back end. So when you set up, when the foo route decides, oh, I need to go to bar, it's gonna go directly to an endpoint, it will not go through the bar front end, so bar never gets a chance to make another routing decision. Effectively, if you try to set this up, what you're actually setting up is this. And this is a thing that I'm calling out not so much because we think it's really common, but because if you don't call it out, it's really confusing when it happens. If you don't understand it, at least a little bit about this, trying to figure out what's actually going on and think about it. So, that is it in terms of Q&A. We're having... Is the line breaking a bit again? I don't know. Did you hear the guy in the discussion? Now it's good. It was kind of breaking, but now it's working, I guess. Okay, so I don't know. I think... Yes, okay. No, it does happen, right? It happens in life. How you know we're doing it live? Yeah. Thanks. So much. Okay, so let's just work with the Q&A. So nice stuff. What is next for LinkedIn project and any sneak peek that you can give today with us? I don't have any sneak peeks in terms of demos. A lot of what we're working on right this second is really trying to get to a place where the new HTTP route world has feature parity with what we could do in 2.12 so that we can get rid of that gotcha about how they don't compose by just saying, yeah, they don't compose. It's okay. Everything that you used to be able to do you can still do in the Brave New World. Like I mentioned, I think I mentioned earlier, the first one of those is timeouts that, timeouts according to Gateway API GEP 1742. If y'all or if anybody listening is not familiar with the GEP process modifications to Kubernetes go through a thing called Kubernetes enhancement proposal or a KEP and modifications to the Gateway API go through a Gateway API enhancement proposal or GEP and one of them that got to an implementable point really fairly recently dealt with including timeouts in HTTP routes. This is something that a great many people have been after it turns out to be way more complex than you might think, oh, it's just a timeout. Yeah, but there's like two dozen implementations of the Gateway API and most of them have a differing set of things they can set timeouts on. So trying to come up with some sort of universal timeout proved challenging. There's gonna be a similar effort going through to do a GEP for retries and that's gonna be also kind of challenging. Yeah, things that you don't learn until you start digging into the design of the APIs themselves, right? Yeah, learning by breaking, right? The same thing. Yes, actually ideally learning by thinking about what you'll be breaking if you do something in a particular way and then finding a way that won't break things. But yeah, sometimes we learn by doing it and then going out, crap, this doesn't work. So can you share some good, more resources so that people can dive deep into the topic? Yeah, whoops, not that way though. Let's use this browser window for a moment. So this one, gatewayapisigs.kats.io, I'm gonna have to change. Yeah, yeah, yeah. Let's do this. I forgot that I can't just change that. All right, this is the main page for the gateway API itself. So this is a good place to start learning about things that are coming up for the gateway API and the things that you can start expecting to see in luxury. If you take a look in the reference section, then it's got lots of reference stuff about that. But also it has the enhancement proposals where we talk about lots of things, lots of things coming up about what to do. So that's a good place to kind of keep an eye on. This is the one that I mentioned earlier about GEP 1742 timeouts. Other things, let's see. There's always the linkerty GitHub repo, of course, where we have obviously everything that is going on about linkerty. And there are a couple of places where actually I will put back the slides that you mentioned. So there's much Academy, always a good resource. Next month we'll be coming back to linkerty certificate management again because we realized that we haven't talked about that in a year or so and so it's fine. There's also the linkerty forum where we have the Slack channels. The Slack channels are great. They're a good place to go and get lots of information. But it's very difficult to search things in Slack and it's particularly difficult when messages roll off of Slack's history. So the forum is intended to fix those two things. In particular, what else? Those are the best resources and I believe that I'm going to put up my, how to find me on Slack too. Any other questions that come to mind? Okay. I don't have any questions, I guess, but I think something you can add, something a user or someone, if someone wants to start with, how can he or she can start, right? It is something you want to add, if you can. So for that, I would recommend 100% go to the Linkerty Slack channels and talk to us there. And also, there are always issues for Linkerty. And so there's always things you can look through here with the good first issue label. These are all things that might be nice to go and take a look at. But yes, talking to us is always good because that's a good way to go through and both get some guidance but also get some direction in terms of things that would be particularly useful to come up with. I also forgot that I had this slide in terms of resources. There is a fundamentals of the Service Mesh online course now with a bunch of hands-on labs. And so that's a good way to get started with that as well. So yeah, cool. I was also going to mention you can go through and take a look at Boyant Cloud in terms of managing things. And yes, you can reach me as Flynn at boyant.io.email Flynn at boyant.io for email, wow. Or as at Slack or at Flynn on the Linkerty Slack. Man, it's not just, it's like my English is breaking, my presentation is breaking. It's lots of breaking going on today. Yeah, when it rains it pours properly. Yeah, clearly, clearly. And he's sitting back going, I don't know if we should invite this guy back, man. He can't present, he can't talk. Yeah, good stuff. It just happens, right? Yeah, glad to be here, thanks for having me. Okay, yeah. That was awesome actually, happy new in the session. Cool, okay. So yeah, so if we are done actually, I guess we're done with the demo. If you guys have any questions feel free to add. But as we are done, I guess we can end this session, right? So let's end the session. So thanks everyone for joining the latest episode of Cloud Native Live. We enjoyed the interaction and questions from the audience. Thanks for joining us today and we hope to see you again soon.


Hey friends tonight We are hanging out at Disney Springs and it is officially April So that means a new cookie of the month at Gideon's bakehouse And I am so excited because it is a coffee toffee chocolate chip cookie and you guys know I love coffee and cookies So put them together. It's the perfect combination and then later on we're gonna head down to international drive Check out mega con and then go to one of the cool restaurants down there So I figured we come on out do some shopping eat some cookies and have a beautiful Disney Springs kind of day Any hoes? Let's go do this And it is such a beautiful day today at Disney Springs I think we're gonna head right on over to Gideon's and see how long the wait is Hopefully it's a virtual queue and we're not gonna have to stand in line and get ourselves the cookie of the month I'm also interested in seeing if there's anything else new for the month of April at Disney Springs But I do need to make it down to mega con by 2 p.m. Because I'm doing a little meet and greet at the Roosevelt's booth from 2 to 4 and if we don't have enough time Like I said, I want to show you around international drive a little bit. Maybe stop into one of their cool restaurants It's a very touristy area and just give you a tour around to look Looks like there's no virtual queue and it's just a standby line. It doesn't look too bad though Usually I've seen the line wrapping around the building. This is probably only a 20 30 minute wait Here is a look at the menu for April and on the front We have morning Joe not morning Joe, but morning Joe He awaits just outside the cemetery gates and the cookie of the month Like I said is the coffee toffee chocolate chip and then they brought back the salted caramel cold brew Which is a big seller so I might just get the coffee and the cookie might do them both They have had this coffee toffee chocolate chip cookie in the past But Gideon's always changes and tweaks the recipe just a little bit because they strive for greatness And I've seen them do that with past cookies and they're always making it better and better So I'm always excited and happy to come out and try them And then also the salted caramel coffee cold brew is back and that's been got away for a while Alright, it's time to head on in. I'm so excited. It's hot out today, too Hi, how are you? Alright, we have obtained the goods and look at this. Oh boy This coffee looks of this coffee. Well, it is coffee. This cookie looks incredible You can see the chocolate chips. You can see the toffee on there It's a vanilla cookie and the espresso and we're gonna break into it. Here we go Look at that. Oh boy. Gonna have chocolate chips on my fingers here. Gonna get the straw ready first. Let's try the cookie Wow So good now we gotta grab the coffee Wow the cookie is so good you can really taste the espresso in there and Also the toffee itself and then the salted caramel cold brew is such a I wish they actually added this on the menu longer It was so good. It's not too overpoweringly coffee. It's a good mixture between salt and salty and sweetie salty and sweetie and When I ordered it, they're like, can I get a salty? So it was really fun But both of these are home runs. This cookie is phenomenal, especially for the people that love coffee The more I sip on the cold brew itself I have to say this might be in the top for me. It might be in the top for cold brews I mean the banana Chocolate chip cookies my number one cookie there. This is too. This is really good, but it's not taking the number one spot I honestly feel like this is taking my number one spot a Lot of people don't know that the actual like artwork comes with a little backstory too So this one is an afterlife wandering from grave to grave Weeping for those who couldn't be saved What helps to break his soul of mood and fill his heart with gratitude? When chocolate coffee and toffee taste mix with teardrops falling from his face and that's what you get with this cookie Teardrops Alright, well things didn't go according to plan and now we need to rush down to international drive I'm always late for things and I don't want to be late for two o'clock So we're gonna leave now and make our way down there. It's 12 51 and it takes me about 30 minutes to get there So I got a rush I'm sorry guys usually I do like spending more time at Disney Springs So we're definitely gonna have to come back once I have more time, but right now I gotta kind of get going Always pressing to the last minute On my way out I wanted to point out to you that the old Chappelle hat shop while the little booth here is gone and now it is a pop a gallery And it's kind of funny because the artist who does all the artwork for Gideon's terribly odd Actually has some special prints in here that you can buy. Look at that. Isn't that so cool? I've seen a lot of his stuff before at the Festival of the arts and it's cool now that you can buy it here at Disney Springs That looks like Wednesday Adams actually. I like all of these. They're actually really awesome. I Think he goes by two names. I think he's mr. Eyes and terribly odd and I love his artwork Like I'm a big fan if you couldn't tell so it's cool that he has his own little stand here now Well, it's not his own little it's a part of a pop gallery, you know the good old orange garage I always park in orange garage. I never park in lime, you know, I just feel like orange garage is the og Huh, get it. I ran into some friends celebrating their honeymoon. Congratulations. I hope you guys have a wonderful Disney Springs kind of day Bye Oh my lord, I forgot the cupcakes. I don't even know what I'm gonna do Thanks to my friends the Ark adventures that gave me a little fancy lanyard for my Megacon credentials And just like that we have made it to the Orange County Convention Center Megacon Today is Saturday, which is the busiest day at Megacon. There's not a lot of people outside But probably once we get in there's gonna be a lot of people. It's gonna be basically like happily ever after Opening night exit like that's how many people are gonna be in there I'm just gonna make my way right down to the Roosevelt's booth and then after would probably hang around a little bit I'll show you something. I'll show you a couple of things and then we'll head on out and explore around international drive In fact, I heard that there is a hundred and fifty thousand people here today a hundred fifty thousand people in One little convention center. Well, it's not little. It's actually a very big convention center I have never done a formal meet-and-greet before like I've never told someone in the exact time and a place where I was gonna Be so I'm kind of excited to see how this turns out I hope I get to meet a lot of cool people and we get to talk a lot and Just kind of share stories and like I said, we're just gonna go go with the flow of things And here it is Megacon Orlando, holy moly there is a lot of people here today Lots and lots of people. Oh, and there's the Roosevelt's booth over there. I could see it People showing up, but I did not expect as many people to be here and honestly, I'm a little emotional about it I'm a little it really is like amazing and it's so awesome to be able to say hi to everyone I'm in the back right now. I'm actually in the booth and I'm gonna go head back out now, but It's it's really really something else. I thank you. Thank you everyone that actually came out and now I'll definitely maybe do this again. Maybe we'll make it a thing Maybe we'll be able to set a certain time and a place and that way I can say hi to everybody By the way, if you've ever wanted to see what was inside one of the booths, this is it look at that Let me get to go right back outside a little door here Sorry, Rachel, I say hi. Thanks guys Some friends drop by the booth. Hello friends. I love that Chris the girl and Tampa J I know it's great. I missed you guys. I missed you. I miss you. You know We're always like running past each other Yes One of these days let's get together. Let's go to Lakeland and go to the first Red Lobster Well, that was Incredible. Thank you again for everyone that came out that I was able to say hi to Truly amazing and I love it so much. I really never thought I'd be able to Have that many people wanting to see me or meet me It really is such a humbling experience and I'm so grateful for everyone and thank you again now I don't know. I guess I guess we'll explore around a little bit Whenever I come to any of these like comic cons I always find a lot of like childhood toys that make me just fall back in time and feel nostalgic But nothing has ever made me feel more like a kid than seeing my pet monster up there Look at that. I was absolutely in love with my pet monster when I was a kid $850 for it mint unused. I remember the handcuffs. They break apart. Wow $850 I feel like I can probably find a better like a cheaper price But right now it just makes me feel happy looking at it So like I can only imagine what it would be like if I got to like hold it. Look at that $850 is a lot for my pet monster But let me know in the comments if you guys had a met my pet monster when you were growing up They were the best me my brother loved playing with those so I would love to get one.  Holy moly. Let me show you what it's like walking through this little like narrow corridor As you can see it is a little bit busy here today I think I'm gonna make my way out and go explore around international drive and get ready for Topgolf a little bit later on tonight But the whole meet agreed went by so fast and it was there for two hours. It was gone like just like that and Now I'm like whoa, it's it's still a beautiful day out Now that we've left the convention center I made my way down international drive to the Walt Disney World store They actually built this a while back and I never came out and checked it out It's right across the street from the icon park and then they have a mooyah a mooyah I've never even heard of a mooyah, but I'm kind of excited to actually go in the Walt Disney World store Look at it. Actually like the way it says that the Walt Disney World store, but I do miss the Disney store Honestly, don't even know what they sell in the Walt Disney World store other than tickets, but I think we're gonna find out And this is it the Walt Disney World store. It's a little bit small. It's smaller than I thought it was gonna be I like how they have all the different sayings on here The most magical place on earth up there the whole store kind of reminds me of the 50th And I'm kind of wondering if they built this I know they built it during the 50th, but did they build it for the 50th? Obviously the 50th anniversary is over now and if you do see any merchandise, don't buy it Because it's probably gonna be going on sale or going to the character warehouse very shortly They have a Disney ticket center in here and then a little virtual Disney Vacation Club place Like a little like kind of virtual reality and I think I'm gonna go do the virtual reality It looks fun. I wouldn't mind exploring the villas at Disney's Grand Floridian Resort Look at this Is this supposed to make it look like we're there a one bedroom villa, please show me. Oh Wow, look at this We're in the Grand Floridian la-di-da. Oh, wow. You can actually walk through out down the balcony. Ah This is a nice balcony. I like it Can explore around a little bit look This is kind of this is kind of tripping me out. I'm gonna go back inside. Oh Let's go into the bedroom This is actually really kind of cool Look at this kind of put a strain on my eyes. I don't know if I want to do that anymore Oh, look, I'm actually now. I'm in the projection. I'm in the one bedroom villa I'm not the biggest fan of the Walt Disney World Store. In fact, it was kind of a waste to come down here. I Mean, it's I mean, it's just like a ticket store So I guess you can buy this stuff wire. Yeah, if you're staying on a national drive, but I much rather just go to Disney Springs I mean they really didn't have much in there and you guys might recognize this big gigantic building as you're driving an I4 You'll see it all lit up like Disney has a gigantic like neon billboard and this is what's there Just what I showed you in there and I wanted to go to Muya because I've never heard of it But I don't think they're open yet. I've never even heard of a Muya. Is this something good? It seems pretty dark in there Can't see anything. Oh, they're definitely closed. That was my plan And I guess it really didn't work out as I thought it would so think we need to get something to eat somewhere else Or like I said, just wait for Topgall, but kind of hungry now. I Figured we would just hop in the car and then drive down a little bit and see what else there is But the traffic is crazy here today Since we can't get any burgers or shakes I figured I'd bring you to my favorite restaurant on an international drive down Monaco's Italian steakhouse this place is iconic. They have a couple of them up in New York So if you're from New York, you might know about down Monaco's but down here, I love it It's an Italian steakhouse. It's pasta with steak.  I'll show you guys, but it is amazing here Here is a look at the menu. I decided to dine outside. They have one of the best soups here, too This Zupa de Stracata, I'm not sure I'm saying it right, but it's like an Italian wedding soup and it is phenomenal I've actually been dreaming about this soup for a while So I'm glad we came and then we've got the Del Monaco's Del Monaco steak best deal in town huge 24 ounce certified Angus beef center cut rib eye steak from Midwestern grain fed heavy-aged beef seasoned and perfectly seared and served with penne marinara for 37 29 look at that. This is gonna be I'm telling you which I have done a video here in the past and it was so good I'm telling you though. You guys are gonna love it Sometimes days like today. I just want to sit outside got a nice little water fountain over there It's very pretty and it's nice setting and we got some bread Here is a look at some of the other entrees that they have they have a one pound lasagna for 23 99 The raviola tree which I think it comes with three different sauces to spicy vodka sauce marinara sauce and then half vodka Half marinara, then they've got the fruta de mari then they've got the shrimp scampi the veal parmesan the chicken Sinatra gotta get the hot cherry peppers on there see very good food like honestly I love it here. I don't know why I haven't brought you guys out sooner like from the last time I might actually want to get some of the Italian long hot peppers as well Look at this view. Look at this bread. Let's see here. Got some bread with some butter in there. Oh, it looks like good bread I don't want to save this for my soup. I'm actually gonna do that saving that for the soup and I got an all-in-the-palmer my fancy Well, I guess we can forget about eating at Topgolf I mean I went all in to a monocle or go home 24 ounces and we too see it's charred perfectly. I don't even have to like give them Specifications, I just tell them my temp and then they cook it usually I got to be like, oh, give me a little Pittsburgh a little jar No, no, they just do it like that here and Now my soup has arrived and just take a look at this soup. Hold on. Look at this Look at this soup.  I Don't know if I want to get a meatball first. There we go. Just a little bit like this Good soup This honestly might be one of the best soups I've ever had like if they sold this by the pint I should ask them actually if they sell this by the pint.  I Really needed to look up how to say stracciatella. That's the name of the soup. Zupa the stracciatella Zupa the stracciatella. I also think that's a gelato too. So I don't know This is not a drill the steak has arrived and take a look at this beautiful piece of meat I love saying it. Look at this. That is so much. This is such a huge steak It is really the best deal in town and then here's the pasta that comes with and I cannot wait. Look at this char Look at that That is perfect right there Del Monaco steaks are usually a very fatty steak That's what they are and that's why I love them so much and we're not talking about the name Del Monaco They have other steaks on the menu here like fillets this right here is a Del Monaco steak And we're gonna cut into it. I think I'm gonna take this piece right here at the end It's got a nice fat cap just alongside the outside there, but it is so good Here we go first bite And also the best thing about this is you get pasta with it too. Look at this like this is your side I love Italian steak houses. It's two of my favorite foods Normally, I always want to get the meatballs to test them out, but I have way too much food That steak is huge. In fact, you know what?    I think I think that's what they said. I gotta look it up real quick.   Oh, okay, maybe I she gotta get some right now I have a little piece in here for you. Come here. I got big piece for you. Look at this. I Know oh You want some look at her Okay, just a little piece here. It's a good piece Chew baby chew. Oh Okay, we'll cut it up later and add it to your meal. Okay, come on. Let's go for a walk See it's like she doesn't even notice I didn't bring her a pup cake today. Yeah, the steak is just good enough You want more of that steak, huh? You're more of that steak. Let's go Let's go Come on Don't touch that steak Not until I get up there Well, unfortunately, I don't think we're gonna be doing top golf today I really wanted to go but by the time I got home traffic was backed up. I went for a long walk with crazy I Kind of missed all my friends that went to top golf they're already done golf And so I think we're gonna have to save that for another night, you know just save it for maybe another day I plan on doing stuff around Orlando but I did want to kind of announce something and let you guys know something really awesome and I kind of talked about it a little bit during a live stream But it is official and it is locked in. I am gonna be going to Star Wars celebration in London. I am so excited. This is my first ever trip out of the country I've never left the United States of America and I am so excited for this we're gonna be doing a huge road trip and It's gonna be kind of like like I like a dream come true, honestly I've always wanted to you know, like basically travel around the world and I'm doing it I mean, I'm actually leaving the United States and I'm so excited to share those with you share it with you guys I'm sorry if I'm gonna have a gap of missing videos because I'm gonna be traveling and getting like, you know Comfortable with my surroundings and I was thinking and you know what also maybe you guys can answer this too I was trying to decide on how I want to make videos when I go over to London You know should I do it kind of like just like a travel lifestyle video where I just show you like my Like process of like going into London or flying or do you want like like put together clips? Where like I'm like topic topic pick you know I mean topic video like Just like kind of would you rather would you rather me like document just my first time going to London or London something, you know what I mean? I'm kind of curious. I don't know how I should do I'm sure if I did just my process the videos where I just do kind of like daily lifestyle videos they're not going to be like so well put together and If you guys are interested in that maybe I'll do some, you know quick like lifestyle daily videos and See how it goes. So let me know if you're interested in that Maybe I'll start doing it with my London trip where I just show you guys My first time experiences in another country. I think it would be fun Let me know in the comments, but I'm so excited and I'm gonna be at the Star Wars celebration So just like you saw in this video, I'm gonna pick a couple days and time stops So anybody that's over in London or the UK who's gonna be there wants to come say hi I would love to meet any of you and I'm so excited It's it's literally gonna be a dream come true for me and I can't wait to share it with you guys So I hope you enjoyed the video. I know it was kind of chaotic and crazy today Disney Springs Megacon Del Monaco's the Walt Disney World store We were kind of all over the place, but I hope you enjoyed the video because I enjoyed making it So we'll see you next time. Bye