What we have here today ladies and gentlemen is a video unlike anything you'll ever see on YouTube an airing of grievances of sort No one on the history of YouTube has talked about the MCU in a negative manner has complained at all about it This is truly the first of its kind some people say I might be an explorer a pioneer of sorts for going in uncharted territory a hero People are saying it not me. I wouldn't say that but I won't discredit their thoughts either So here is a rant about the MCU the state of the Marvel Cinematic Universe. No one No one has done this before in the history of YouTube. Let's begin Sarcasm aside in the intro I do like to think of myself as a unique voice on YouTube and if you like that If you like people that are honest, but have a little bit of fun in life Don't think things are so serious all the time. Give me a subscription. Give me a subscribe. Come on over It's nice here. We're having a good time. It's light. It's loose. It's fun. It's fluffy It's not Marvel. Well, it is Marvel. That's what they are Let's talk about it I went ahead and did you the flavor of bringing up the different phases of the MCU and I was honestly quite shocked by how Many movies I enjoyed out of those phases Because lately I find myself hating or at least being annoyed by the new movies that come out and TV shows But it wasn't that long ago when things were pretty damn good when Kevin Fee's Was looked at as a name you could trust Something you would slap on a lunchbox and kids would buy it now though when I see the name I shudder I think what did you do this time you son of a bitch? How far did you derail this train? That was poor timing. I'm gonna present to you six movies that came out in phase one Tell me how this makes you feel Iron Man many would consider it the pinnacle right out of the gates Brilliant storytelling a great compelling hero not really a hero not yet He's a billionaire playboy philanthropist his words not mine, but I agree with them and that's okay for many people But some look at him and say yeah, you're kind of garbage But he will change over the course of this movie. He will find value in other things and that's a guy You can root for that's a guy you can get behind someone that's willing to grow Right alongside with their tech and man does Tony Stark grow as a character over the course of the next several films and phases Then we have the Incredible Hulk not my cup of tea, but when I look back on it now I still don't like it, but I think man. They did some things better than they're doing today Mainly not everything looks completely fake then we go into Iron Man 2 which is essentially an advertisement for the Avengers film It introduces black widow.  So the thing that's keeping him alive. It's also taking his life It's an interesting dilemma one that could have had more focus put into it But we had to push the Avengers film and that brings us into Captain America. It's a different movie It's got a different tone I've grown fond of this one over time and that's mainly because Chris Evans has become such a cool character in the MCU I mean, I think he's done now, but he was a great Captain America and so you go back and watch that original It's quaint It's a little bit different than the rest of them It has this pulpy old-school feel to it and I appreciate them taking some chances early on we have Thor in this It's a competent movie. I wouldn't say it's great It's good though in my opinion and it gave us fantastic new characters Not only Thor but also Odin and mainly Loki the villain turned anti-hero turned hero of the MCU I mean he is one of the greatest characters in this entire franchise And it all started at Thor then we hit him with the big guns the Avengers We bring it together the culmination of the previous five movies at its head. We introduce Hawkeye We have more story for Black Widow.  It's a roller coaster Sure, it's a little Transformers-esque You got your standard final big battle at the end shits flying around everywhere, but the way we didn't shot it It looked practical, you know, you had sets mixed in with the CG Characters felt like they were really there at those cities fighting for their lives saving other people You contrast that with what's going on today and it's it's black and white, but we'll get there We'll get there. So a solid start for phase one Basically lifted by Iron Man and Iron Man alone carries this thing to phase two, which I have to say Looking at the list.  I'm a big fan I like that it brought it back to Tony Stark put all the focus on him They didn't like the Mandalorian hoodwink. I get it. I understand It sucks when they do that with comic book favorites or things that you love growing up I myself really like this Shane Black film It had that buddy cop road trip vibe with Downey and this boy that they bond with and I just the whole thing was fun It had some great action.  It's lame. It just really is it's a lame sequel the first Thor had a good foundation It didn't do anything amazing by any means, but man We really dropped the ball with the second one So not a great second show in for the god of thunder the god of lightning whatever he is Let's just keep going Captain America in the winter soldier comes next and everything after is pretty damn good in my opinion I know many people thought Age of Ultron was lame because they built up a much more sinister Darker character in the trailers than what we got with Ultron. I like that movie. I think it's cool I think it takes all this stuff from the first Avengers ratchets it up It's it's a fun time. You still got those awesome hero shots together You've got some interesting new characters thrown in the mix. I don't really have any complaints about Age of Ultron It's great seeing the team dynamic unfold here There's a lot of intimate moments between these characters sitting around trying to lift a hammer Arguing out on a farm for crying out loud ripping logs in half They're angry and I certainly don't want to dismiss Captain America the winter soldier This is one that many people put at the top of their list for good reason and it's not that hard to see why This is what I've been saying when it comes to the new MCU You have to ground some part of the movie or give people something to invest in when everything is fake and Artificial and colorful and silly What are we watching? Why do we care winter soldiers the opposite? It takes things to the streets.  Is she rocking it? Man, is she rocking it? That's another reason why people love this one Black widow has the best hairstyle in this film hands down. That's an easy win plus. We're trying things still in the MCU We're not sticking to a formula this time. It's a spy thriller. There's double crossing. We have hydra in the mix There's a deep state. There's espionage. There's high stakes It's global warfare and it's awesome phase two goes out on a small note because it's about an ant man Paul Rudd the least likely superhero becomes a very lovable one It's a small-scale film this time. It's a heist style situation, which is fun again Marvel's still playing with the formula Trying new things shaking things up. It's a good flick. It's not a great flick But what do you expect? It's got some new characters that we like that we actually love I mean Paul Rudd is one of the most lovable actors out there Casting him as Ant-Man was just a brilliant move Kevin Feige. You're still doing things, right? Let's see where things go wrong. I just realized the first two phases of the MCU are six and six We almost doubled that with phase three.  Let's get it out on the big screen It's Captain Cold Marvel or DC.  It's not James Gunn or Guardians of the Galaxy's fault That Marvel decided to do this. So let's not blame Guardians for that just because they were good movies or great movies It doesn't mean that they should suddenly be like shamed for it. That's just nonsense What we have here is a cavalcade of films ranging from good to downright awesome I don't think there's a bad movie in this bunch Captain America's Civil War Doctor Strange Guardians of the Galaxy volume two. I love this movie.  It's a little too out there now bring it on bring it on I understand not vibing with space Pac-Man and the David Hasselhoff reference But I dare you to convince me that Star-Lord story isn't compelling or you didn't start to tear up when Yondu died Or that final powerful shot where Rocket looks off at the fireworks These movies have a depth to them that most the MCU doesn't and that's why the Guardians of the Galaxy is so special to people They aren't just boom explosion boom joke underneath of there is commentary Underneath of there is sharp writing and that's why I'm on board with James Gunn taking over the DCU because I think the guy Really does get it. He gets what makes stories work. And yes, he has juvenile comedy I happen to enjoy that for the most part sure.  But what's inside the sack? That's what matters What's inside the sack is what counts? Spider-Man Homecoming sees the real introduction to Spider-Man I know he was kind of sloppily thrown into Civil War, which I think is a vastly overrated movie Good time It's hard for me to watch that thing. It's too long But then they knock it out of the park with Thor Ragnarok And this is another one of those movies where people point at and say we told you this was a premonition of what's to come with Thor Love and Thunder you liked Ragnarok. They listened and they magnified it That doesn't discredit Thor Ragnarok that discredits the choices made by the director and writer of Thor Love and Thunder It's not our fault. We liked a movie that had a really good balance of comedy Action and drama. It's the fault of them For magnifying one thing over the other. They went too far with the comedy and they downplayed the drama And that's how it happens. That's how these things fail. Love it or hate it Black Panther was massive It built up an entirely new world within ours with Wakanda It's set up a brand new culture of people that were on the big screen We rarely ever see an all-black cast like this. Usually they're slaves Usually it's a suffrage story.  In fact, this is the first People will point out Blade. Yeah, of course. Blade's awesome. Wesley Snipes. He's a powerhouse. He's a beast But that's Wesley Snipes That's one guy.  I didn't think it was great The final act is a disaster clearly rushed CG. This is something that's gonna be more prevalent going forward as well This rushed CG nonsense where they're overtaxing the visual designers and creators. It's brutal I've heard horror stories about this going on and you see it You see it in She-Hulk. You see it in the newer stuff where it doesn't look good It looks rushed and half-assed. Black Panther leads into Avengers Infinity War not perfectly mind you It was a little weird that we had Black Panther and then Infinity War goes right back to Wakanda for a battle scene We just had a battle there It would have been perfect if there was a couple movies in between these two So you really feel that homecoming when you're back at Wakanda again instead.  There's a shot early on where Robert Downey Iron Man opens the door Tea money. Stark is going around on the sidewalks. There's people collapsing. He's helping others off There's Ash in the air. He genuinely looks scared shitless and Dr. Strange comes down. He's like I got this bra Dr. Strange has never been cooler. This is like a Dr. Strange movie He's telling him all the different things that could go wrong that the millions of scenarios or whatever He's like one of them one we get right That's good Contrast that with today with the multiverse. There isn't just one There are many there are infinite and that's the problem when you have such a massive amount of stake When you go from Infinity War levels of insanity where there's only one tiny little Infant decimal chance of survival where there are millions of opportunities. Oh he died. That's okay We have another one right here. Professor X is dead. That's okay. He was a variant We haven't seen him before. Here's another one How am I supposed to feel bad for that? How am I supposed to feel anything? But Infinity War you get it all all these characters coming together and culminates Too ahead against this villain Thanos Josh Brolin is a beast in this this guy is freaking powerful here I love this movie from front to back I remember seeing it in theaters with my kids. My job was down. I'm like Did they just end this movie killing these people?  They did it. They did something new It was so good. That's the experience. That's one of those moments It's hard to replicate and as a movie fan you have to love that you got to appreciate that when it comes and with Marvel That's that's few and far between now. We then scale way back We go from that to Ant-Man and the wasp Which in hindsight was actually very smart You take things that are so massive. There's no way to go bigger than that.  This is a palette cleanser. Yes It's confusing for moviegoers that aren't familiar with the entire lineage and the the structure of all these movies and where they fit Within this puzzle box that is the cinematic universe, but for us that have been following along We're like, okay, this takes place before infinity war and it's ending at the snap. That's cool That's really cool. That's probably the last time that an end credit scene was good for Marvel to my knowledge And then we hit Captain Marvel. This is where things really start to fall apart This is where the car loses control and is heading for a cliff. We introduced Carol Danvers Brie Larson fine. Good choice. Good actress. Good looking. It fits, right? We have all these pretty faces throw another one in the mix. She's Superman. She's female Superman. All right Here's a problem was she been doing this whole time. She's supposedly the strongest Avenger of all of them Maybe stronger than Thor. I don't actually know She seems impenetrable. She seems invulnerable to anything. She flies through ships. She doesn't appear to have a kryptonite I don't actually think you can hurt her So we've taken the stakes now and we've thrown him out the window Now I'm left with a character who has no personality because in the story She isn't supposed to have a personality. She has hidden it That's a problem when I'm trying to connect to a character and it isn't until the final moments that it's revealed Oh, she's not really a Cree. She's not really a girl. Not yet a woman Britney Spears. She's something else But we don't see that something else and then the movie's over with her flying away and She's gonna return in the endgame. I don't want her to return in endgame. This is the Wakanda This is the Black Panther problem. We introduced Wakanda. Now we're in Infinity War and we're back at Wakanda again You got to let things breathe.  She's like gotta go What stakes could possibly be higher by the way that she had to go fly away again I just don't understand and the convenience of her finding Tony Stark adrift out in space The vastness of space. What is her ability? Who can do the math on this by the way of her being at the right place at the right time to pick up Tony Stark? Who's just wandering off into space in the ship half-dead that it's ridiculous We are already entering into the situation where okay, we can jump through time now We're we have a problem on our hands folks. I know people love endgame I'm not near as high on the hog as they are when it comes to endgame I think that it is a fun ending to the franchise But it's very messy and they conclude arcs off-camera and I hate that you cannot conclude the incredible Hulk's arc off-camera. I'm sorry. You set it up in infinity war brilliantly. He's scared of Thanos He doesn't want to come out and fight him. I can't wait to see how this ends Well, we don't get to see it already ended.  I'm sorry. Oh, we're gonna make Thor's depression into comedy. Isn't that fun? That's gonna be a trend going forward. Hope you like laughing at sad people. That's what we do now Captain Marvel and endgame are bad signs of what's to come Will there still be good films by Marvel? Yeah, of course. Will there still be great films? Well, that's That's debatable. This leads us into the final film of the massive phase three and that's Spider-Man far from home This is far from a great movie. Good movie? Eh, I guess Tom Holland's good as Spider-Man. I like Tom Holland. He's likable.  I don't think he's earned that He's earned that responsibility based on his track record It's just a sign of the kitty crab going on in these scripts where the heroes are reckless at this point They make terrible decisions that end up affecting people in really bad ways blowing up buildings Bringing bad guys from a different realm into theirs far from home is a very mediocre film It has one really amazing scene towards the end where Mysterio's throwing all these visions at Spider-Man Incredible CG work there. The whole thing was animated at times.  Let's jump into phase 4 if you thought 11 feature length films were a lot Wait to see what phase 4 has to offer. We're up to 17 folks Not all movies in fact a good chunk of them are Disney plus TV series exclusives and they're pretty mid at best We start things out with Wanda vision Which I think is one of the strongest of the story so far because again, it's trying new things We're not in this formulaic route. We're doing something new with this TV episodic idea. It's brilliant It's a TV show playing off tropes of TV shows I don't think it fully sticks the landing but the final shot the final act does leave us wanting more for another season Or maybe to lead into a movie in a really sloppy way. That's exactly what happens I'll say the same thing for Falcon and the Winter Soldier and pretty much every single one of these shows going forward They start out with promise, but by the time the third or fourth episode kicks in I realize these might have been movies at one point that they repurposed as TV shows because they feel so freaking padded out Oftentimes with TV shows you have a beginning middle and end on each episode And then you have the overarching themes or storyline X-files had the monster of the week episodes But then they had the government shenanigans the alien episodes the projects that would span the entire season or series With Captain Falcon and the Winter Soldier it felt like one extended movie so episode to episode there really wasn't anything Interesting going on it was just them jumping to different cities and locations and by the end I was just burnt out Loki kind of the same thing had a little bit of an episodic nature But for the most part it was just Loki kind of confused all the time not having his powers Which is very uninteresting and having him getting his ass kicked constantly Thankfully the dynamic between him and Owen Wilson was so good that it that it has me hang on until the end What if would be the first of a few shows on Disney plus that I would try and then walk away from because I get What they're doing and I don't have any interest.  It seemed low budget half-assed Sometimes it looked kind of cool, but for the most part I was like, eh, can we not put any more resources into this? Like why do it if you're not going to do it right Shang Chi and the legend of the 10 rings? I will admit I was very nice about I saw it I think I was so disappointed with the shows that I was willing to just be a little bit extra generous to this one I watched it a second time and it definitely wasn't near as exciting. I did enjoy the lead character I like that aquafina didn't annoy the shit out of me like she usually does and I really was a big fan of the martial arts being thrown in It's nice to see some choreography again for once that bus sequence is one of my favorite fights in all of the mcu I think though that these movies feel like they have to be longer than they should be If this film was an hour and 45 minutes long, which is akin to the first john wick movie That's much more palatable for me We're pushing over two hours with a lot of them They all feel like they have to be this grandiose end games again. They don't Just give us some interesting storyline some fun characters and call it a day Okay, I've seen most of the jackie chan filmography. None of them overstay their welcome They all have terrible scripts. They all have really bad acting, but the freaking action is great I know i'm gonna get at least three a beginning middle and end fight scene.  I've praised it way too much I don't hate it. I actually quite enjoy black widow It has some very bad effects later on definitely very inconsistent But overall I like what they did with the character I love the inclusion of the sister the family dynamic worked And in fact when I look at ant-man in the wasp and then compare it with black widow black widow looks far better in comparison On its own, it's a solid flick Should I've rated it as high as I did in the mcu?  At the end of the day, my opinion hasn't changed black widow was fine. I had a good time with it I like that it was more along the lines of that civil war winter soldier vibe Grittier.  Then there's eternals That's hot trash I really I don't even want to think about that movie. It's such a disaster. It feels so disjointed from everything else Visually it looks more like the dcu Characters feel more like the dcu. They're all emo. They're all they're all angry. They're all sad and depressed The color is completely washed away. None of that stuff actually bothers me. I'm I'm saying it like it's a negative that stuff's all okay But the fact that they're trying to be part of the mcu is the problem Um, that's when things don't make any sense. Like where is everyone else? Why is there a giant hand coming out of the earth? How is that not affecting anything? Why do I have so many people here that I'm following? I have no time to really get to know any of them and their powers are so advanced The bullshit excuses they come up with to have these people not around is laughable It really shouldn't be part of the mcu. That's my biggest criticism and as it stands. It doesn't feel like it is Hawkeye moon night miss marvel three more series that I did not finish. I started all of them Pretty pretty positively each time. I liked all the lead characters. They don't feel like shows They feel like cut up movies that are padded beyond all existence I'm not wasting my time with them And the fact that moon night has pretty visuals at one point, but then at the next looks like complete shit Doesn't help anything and that's across the board these shows don't have the budget to justify the story They're trying to tell it comes off as cw It comes off as a low tier superhero stuff and these characters probably deserve a lot better If I read the comics I would I would be able to give a definitive answer They deserve better than what this is lest I forget about the most overrated movie in the mcu Which is spider-man no way home. I know I know it's got all the spider-man in it. So therefore amazing, right?  It is so hard for me to say. Oh, yeah, what an amazing film What it does right is the final act where they're all together Quipping having some fun sharing their stories their trauma connecting on a personal level That stuff was really good The full story is bad. The individual moments are what make this movie shine Is it a great movie? I I don't think I would say that I think it's a good movie It's a watchable film again far too long Way too long still fantastic to see but at the end of the day This is a plot revolving around a kid whose friends couldn't get into the college They wanted so he has his best friend magical avenger Do some shit to screw up the entire timeline Opening up the universe for other variants to come in.  It's watchable trash. It's like 18 minutes long with seven minutes of credits It doesn't take itself serious at all I have no idea where it fits into the MCU if at all or if it's just this kind of dead pool side thing That has no bearing on the stakes in the real MCU universe if it does And we have plot points taking place like Hulk having a kid And that was just that's established in this and that's that wow Horrible absolutely horrible, but if it really is just its own thing If it's its own David pumpkin's event over here kind of making fun of the overall MCU fine That's that's whatever, you know the effects are atrocious But it is a tv show and it's not meant to be taken serious So I forgive that when you have something more akin to naked gun than you do say the winter soldier I really can't fault it too much Dr. Strange in the multiverse of madness was the sequel to Dr. Strange But kind of more a sequel to WandaVision as Wanda is the main focus of this with Dr. Strange kind of being the secondary character It sucks because strange has always been really cool He's had a lot of style a lot of charisma a lot of class and having Sam Raimi here I thought for sure we were gonna get a lot of style. We were gonna get a lot of Raimi action The movie felt really disjointed It felt like there was a lot of interference with Marvel on this one and everything just felt really cut up Again, it was hard to really connect to these characters Major issue with that film major issue with everything in phase four pretty much And that goes doubly for the next movie that came out, which was Wakanda forever aka Black Panther 2 No chat with bozeman Movie starts out with the funeral. We're moving past him right away. We got to get it out We got to get on with the show But really they didn't the whole movie is morning The whole movie is the loss and where to go next And that's okay You know, it's good to honor Chadwick It's good to honor that character even though he was very new to the franchise only showing up a couple times here and there Again, the storyline is so childish so simplistic They throw an iron girl who for some reason is building this amazing technology out of a garage that I guess she has access to With all this amazing tech at her disposal She is the lynchpin of this story and it just made no sense at all. I I go over it in my review I really don't want to dwell on it. It just didn't work for me at all The first Black Panther was different. It had style This one just feels like it's a shell of its former self Which is to be expected when your lead superhero is nowhere to be found I don't know about you, but I don't want to watch a Superman movie where Superman's not in the film We end out the tv show side with these two special presentations now These are where I think marvel should focus when it comes to the disney pluscrap Get rid of those six to nine episodes shenanigans. They just don't work These mini movies. However, I really enjoyed them where with by night Could have been better for sure, but it did have an identity It did go for broke when it went with the black and white the monster style of universe that it lives in It had its own story to tell it didn't pretend to be part of some grandiose thing It was smaller scale. It was simple. It got in and out Wasn't amazing by any means, but visually solid cool new characters. That's all I really needed Guardians of the galaxy is always good. You feel like you have personal investment with these guys and when something happens to them Or when they're in harm's way, it's scary.  You're a friend along for the ride Doing a christmas special with these characters makes sense doing a halloween special with these characters fits Pretty much anything with these characters in my book is a okay As long as you have james gun in the kitchen on this mixing up his spices stirring him around if you're marvel I say let him cook Last and kind of least is ant-man and the wasp Quantamania This just showed me finally that yep We have officially gone from disney plus the show to disney plus the movie This easily could have been on disney plus the budget reeks of green screen low budget effort Sure, there's tons of spectacle from the vfx team But it's background noise. It's just peppered visuals. There's no layer to any of it There's no dimension which is ironic because visually there's no dimension and the story has none Now that i've gone over all this marvel crap, you can definitely see the trajectory You can see where it started from how it started to peak in the middle And then how they started biting off more than they could chew They did a pretty good job with the amount of movies getting pushed out in phase three But man phase four they definitely took on way too much It started to tank When captain marvel came out and game continued the trend But it had such massive build-up behind it Thanks to infinity war and the prior films that there was no way people were going to go into that and be disappointed You had so many good characters thrown in and a great action set piece. That's really all we needed They only had to stick the landing for that final fight And the death of tony and they got it right everything else. Whatever, right? There's a lot of filler There's a lot of placeholder stuff, but when it all boils down to it It was a great ending to tony stark and to captain america not so much thor or hulk But they got half of it right And that's pretty good for a conclusion And I say conclusion because everything since end game Really seems lesser than doesn't it and I don't mean lesser than end game. I mean lesser than phase two And phase one and phase three all of them. They have low points, but the highs are way better I think than what marvel's producing now, especially as of late once these shows started to kick in The creativity seems bankrupt Everything seems conveyor belts now everything seems merchandise toy line Get in get out work these vfx teams to the bone because we don't want to build practical sets We don't want to really have to rent out locations to film and stop traffic in chicago new york Or actually have to write compelling stories instead Green screen the crap out of it. They're in the quantum realm now. So we can just film on a lot for a few months We can voice act our way through most of this We can CGI entire people And then just talk over the top of them because I think a lot of people are like me.  So they can be dumb. No, I disagree I disagree any medium can be smart at least smarter than what I've been seeing lately You have to do better and when you're putting in two to four hundred million dollars on some of these things Where's that money going? And why are you spending that much on an ant-man movie? Look at some of the greatest ones ever logan the dark night. It's not about the budget It's about the script Marvel needs to hire better. They need to work better these shoot first fix it and post movies are not flying for me anymore I want to hear from you. This was a very long video Maybe the longest video I've ever produced to be honest with you Let me know in the comments if you made it through like the video if you had a good time Subscribe to the video if you haven't I post tons of movie reviews rants reactions things of that nature every week We'd love to have you stick around again. This is the unique stuff you're getting here A video on how marvel is suffering lately and now putting out the quality content. No one's ever Even conceived of doing something like this sarcasm again I do that as well Take care


All right, my name is Brad Langdell and it's it's the dead of winter But I want to talk to you about spring and not the kind of spring that we're all hoping is gonna come soon We're gonna talk about springs that have masses attached to them which are probably less fun and Less interesting to look at but that's what we're gonna look at anyways under the context of simple harmonic motion Which is motion which is a repetitive back-and-forth movement fueled by a restoring force And we're gonna look at three things here actually for I guess of the system We're gonna calculate acceleration. We're gonna calculate force. We're gonna calculate velocity, and why not when we're at it? Let's figure out what period is to so here's an example of a question From this unit of study in the physics 20 curriculum a mass of three kilograms is attached to a spring spring constants 1.4 newtons per meter meter the spring is stretched to 0.5 meters past equilibrium and undergoes simple harmonic motion is going to vibrate back and forth back and forth Back and forth kind of like this. I got my little ghost block there to show that Determine the maximum acceleration maximum force maximum velocity and the period of the mass spring system All right, so why don't we start off here by just talking about when we're gonna get these different things to find maximum? Acceleration that is going to occur when that mass is not of the equilibrium point where it would normally be if you just left This thing alone for a day and came back to check at the next day This is gonna be when you pull this back to the maximum displacement to the amplitude That's when you get maximum Acceleration it would also be once it swings back to this side the the acceleration is at a maximum Also here where the amplitude is at a maximum on the other side So I'm gonna start it from here and let's think about the forces taking place at that point Well, the only force really acting at this moment is the force of the spring and that force The spring is going to be what we're gonna use to find acceleration Any acceleration or any force I should say can be equal to mass times acceleration According to Newton's laws of motion So the force of the spring which is negative kx Is just equal to ma and and we can go through and solve it from there That's all you really have to do from there It's just thrown in the numbers in the right spot and being careful with things like significant digits So we've got our K we've got our x 0.5 meters We got our mass three kilograms and we're gonna solve for a So we'll grab out the handy-dandy calculator and see what we're going to get here Now one thing that's interesting to note is we're going to get a negative Acceleration and hopefully that makes sense according to the diagram because we pulled this thing back to the right It pulls something back to the right The acceleration is the opposite direction is going to be to the left So as it turns out the acceleration we get here is negative 0.23 repeating 0.23 It's a negative meters per second squared. So there's my acceleration It's not bad to do actually pretty simple Now let's find the force. Well, you know what we've got a formula here for force. We can just use that Force in the spring is the same as the force that the object will experience the mass will experience And again, this is at this point when you pull the mass back the farthest it'll go negative kx All right, so negative 1.4 newtons per meter times the bi 0.5 meters I think I can do that with my head negative 0.70 newtons All right, so there's our force and our acceleration done Okay, now we're going to find the maximum velocity in the period. So first of all our maximum velocity It's not going to occur at the point where we had our maximum acceleration and our maximum displacement Put our line back Our maximum velocity is going to occur here at the equilibrium point At that moment when all of the energy stored in the spring has been converted to kinetic energy of the block So this is where our maximum Velocity is going to be and there's two ways you can find this The easiest way you can probably look at doing it is using the conservation of energy So we're going to go through and do that. We're going to say that the energy stored in the spring Potential spring energy or elastic potential energy it will be equal at that point to the kinetic energy So the one half kx squared equals one half mv squared And at that point you can cancel the halves and that's all you need to do You just need to plug and chug from there again not too bad with the theory and the formulas don't appear in your formula sheet Made equal to each other, but that's okay. I mean, hopefully you understand Where the equality comes from it comes from the fact that all that energy that was stored in the spring is now been transferred to the mass And of course, don't forget to square root in this equation. You know people love to forget to square root things It's just one of those things that are kind of tricky to do till you practice a lot and even after your practice You'll probably forget sometimes So we'll go through remember to square there. That's good divided by three And then i'm going to square root in the end to find what that velocity is So the velocity is going to be 0.34 meters per second And the last thing you might want to do because you did square root that velocity. It could be a positive or a negative number um Well, it depends on which way you're pulling it my diagram because I pulled it back to the right The first velocity would be going to the left. So maybe I'll stick that negative sign in there Now for period. I think period's the most interesting one to do There's one way of finding period that's really straightforward the formula sheet has a formula for period Of a mass spring system. Okay, that's pretty simple throw the numbers in the right spot. There's your mass There's your spring constant plug it through and that's easy enough But there's another way for finding period two because a mass spring system is so darn similar Mathematically anyways to a circle in uniform circular motion. We could also do it with uniform circular motion Did you know that look at this? We already have a lot of this info. We know what the speed is 0.34 meters per second Now this of course doesn't make a circle it goes back and forth back and forth back and forth So it doesn't have a radius, but if we let the radius Equal the displacement the amplitude if we put in place of that 0.5 meters And solve for period we're going to get the same thing we would get out of the period formula Which is kind of neat that the two are related even though they probably don't seem all that related All right, so let's just see what we get here two pi Times 0.5 divided by 0.34 I think that looks pretty good is going to give us a period of 9.2 seconds And just to prove it to you we'll run that other calculation as well if I went two pi Times the square root of we're going to go m, which is three kilograms divided by k, which is 1.4 Let's see what we get Isn't that cool 9.2 seconds to get the same thing So two ways to find period there at the end either one is fine One just using the formula off the formula sheet one using the principles of uniform circular motion So I hope that helps for more information about mass spring systems. Check out my website www.ldindustries.ca


How to reference newspapers and magazines in the APA format. This video shows you how to reference a newspaper or magazine article from a printed hard copy version and from an online version. Most of the information is found on the front page of the hard copy version or on the database where it is found. How to reference a newspaper in print. First, give the author's surname followed by his initials. Then, in brackets, write the year followed by the month and date of publication. Next, write the title of the article. You should use a capital letter for the first word in the title but not the remaining words. Next comes the newspaper title in italics and here you do put the first letter of each word in capital letters. Finally, give the page numbers of the pages you used. Use the initial p for one page and pp for two or more pages. How to reference a newspaper found online. As with the printed version just mentioned, you give the author's name and initials followed by the year, month and date of publication in brackets. The article title and the newspaper title. Then, give the newspaper homepage URL from where you retrieved the information. When you're citing a newspaper in APA, you don't need to include the data retrieval for electronic sources or when using an online database. How to reference a magazine article in print. The rules are the same as when citing for a newspaper with the author's surname followed by his initials. Then in brackets, the year followed by the month and date of publication. Next, you write the title of the article and the title of the magazine. You should then give the volume number in italics an issue number in brackets followed by the page number or numbers that you used. You can find the volume number with the other publication information of the magazine. If there is no issue number, you can simply omit it. How to reference a magazine article found online. When the magazine article comes from an online source, the same rules apply as for the print version. The difference is that you give the URL information as you did with the online newspaper. Remember that sometimes the volume and issue number are not on the same page as the article. Look for this information in other parts of the website before omitting it. How to reference newspaper or magazine articles with no author given. Sometimes you'll come across a newspaper or magazine article in print or online where the author's name is not given. In this case you give the title of the article, the year, month and date of publication, the name of the newspaper or magazine in italics and the page numbers. For more information on referencing go to the following website where you will find a complete reference guide for both APA and Harvard.


Hi, welcome to Cloud Native Live, where we dive into the code behind Cloud Native. I'm your host today. My name is Whitney Lee, and I'm a CNCF ambassador, and I'm a developer advocate at VMware. So every week, we bring new presenters to showcase how to work with Cloud Native technologies. We'll build things, we'll break things, and we'll answer your questions. I'm so excited. This week, we have Justin Barksdale and Oz Teram here with us to talk about how to use two node H.J. for EdgeCube Kubernetes, a new approach, so I'm super psyched. Now, as always, this is an official live stream of the CNCF, and as such, it's subject to the CNCF code of conduct. So please don't add anything to the chat that would be in violation of that code of conduct. It's really easy to keep track of, basically just be kind, be kind to each other, be kind to the presenters, be kind to me, and I'll be kind to you too. So friends who are joining us live, please say hello in the chat and tell us where you're from. It's so cool that we have a global community here with us each time. And as always, if you have questions during the presentation, please do post them in the chat. We're going to have today's feel like, more like a conversation, and we're going to go ahead and answer your questions as they come in today. So with that, I'm gonna hand it over to our friends, Justin, Barksdale, and Oz Turam, to kick off today's presentation. Tell us about yourselves. Hi everyone. My name is Oz Turam. I'm a principal software engineer with the advanced project team with Spectro Cloud. What we do in this team is usually explore different cloud-native technologies and see how we can bring them to our customers and hand it over to you, Justin. Hi, thanks Oz. Yeah, my name is Justin Barksdale. I am a principal architect on the sales side. So I help support our customers and help them design and implement solutions around our products. So I'm happy to be here. I do want to kind of go through a quick agenda. So we are here to talk about two node HA at the edge. Our focus is around edge in this particular conversation. I want to talk a little bit about what the three node problem is. So why three nodes really doesn't work for some customers or many customers that we talk to? What are some alternatives that we've come across as we were sort of building this solution or going through the solution? What solutions have we come up with? We have a couple of different options and a couple of different demos to go through. And then what are next steps? So going into that, really what's the problem with three nodes at the edge? We've been running three nodes or more Kubernetes for quite some time. What are the challenges that we see at the edge and why is this really kind of important? And I think the first thing is really to talk about the scale. Edge scale is much, much more massive than what we see in data centers or I'm just clouds. And a lot of this drives around costs. The number of nodes I have at the edge drives up costs for me to do certain things in that particular location. And oftentimes three nodes becomes overkill for what we need in terms of what the workloads require. So we are buying an extra node just to support the ability to have high availability, the reality is the workloads themselves don't take that much. They're that many resources, could we do better? When you think about edge and thousands of clusters, tens of thousands of clusters in some places, every time you add a third node that just adds up and the need to have that third node for HA only really kind of takes away from the model that we've taken in terms of built your infrastructure support or application versus having to have this high availability extra node. And that thousands of nodes adds into dollars. When you think about the types of devices being deployed at the edge, whether they're small form factor devices, single socks, there's still hundreds of dollars each and we've seen most of them between $500 and $1,000. So when you think about that and you have 10,000 locations, just adds up and becomes very, very expensive to achieve HA. And most edge deployments that we're seeing in terms of how we're replacing are just two node virtual machine hosts running some hypervisor. And so a lot of customers want that same kind of pattern. So really what's the problem? And if you think about Kubernetes and how the database is interacted with, it is a key value store that requires a quorum typically. We see, so the odd number control planes. Quorum is just the minimum number of nodes required to form a majority. So in the case of a single node cluster, you have one node as a majority. In the case of a three node cluster, two nodes would be a majority. And so a three node cluster can afford a single node failure. But if a second one of those nodes fails, then we run into this problem of the databases and read only, the applications continue to function, but I can't make changes. And those changes include things like promoting SCD, telling SCD that, hey, this is a leader or deleting nodes, you can't do any sort of SCD operation when the cluster is in an impaired state. And so when we looked at this from a design perspective, it was kind of what are the considerations that we wanna look at? We focused on K3s first, primarily, again, we're talking about edge. So we wanna keep the footprint as small as possible. Application high availability is the most important thing. So we don't necessarily care if the control plane goes down for a period of time. Of course it needs to be recoverable. We need to be able to replace nodes. We need to be able to do actions that would warrant kind of having high availability. But if we lost the control plane for a period of time, five, 10 minutes, that was not something that we were really concerned with. So with that, I'm gonna turn it over to Oz who is gonna talk through some of the ETD alternatives before we come back and talk about our solutions as we presented them. All right, thank you, Justin. So when we start looking at this project, we thought, okay, we know there's Kine, which is a component in K3s. So how about we use that to replicate a relational database? So for those of you who don't know what is Kine, KineStats for Kine is not ETCD, it's acronym. And it's basically like a sheen where you can stick between Kubernetes API server and a data store. Originally Kine supported SQLite, PostgreSQL, MySQL. And in recent months, there's also an option to use Nuts as a backend. And we thought, let's try, let's give it a shot. Let's look at what we can do if we can use PostgreSQL or MySQL. But the thing is with those network databases that we start looking at that, there's like no single understanding or solution to achieve high availability. If you look at this link below here, we put in the presentation, it's like about just in PostgreSQL, 16 different ways or even more to achieve high availability. And each of those high availability modes has a choice that compromise you have to understand. So what we want to achieve basically is the following. We want to have like a Kubernetes, a Kine and some kind of like a network database in the end. And ideally we have high availability of the control plane. So we can insert or update or delete records in Kine or the database from both nodes. So this is the ideal state we want to achieve. And so imagine in between those two nodes, there's no HCT, there's some kind of like a database. We don't know yet which and to choose which one we had to kind of like go on to understanding what is about in PostgreSQL or MySQL when you talk about a high availability. So first of all, relational databases can do a logical application or streaming application, synchronous application or asynchronous application. There's also like a streaming and logical synchronous and asynchronous. You can also do like connection pooling to improve the availability of your PostgreSQL or MySQL. You can also have like a proxy and load balances between the client and the database. So let me just like go into a little bit of detail of what is these types of high availability mean, okay? So the first thing is you have logical replication. You replicate from a primary database to a secondary database, an object. An object can be a column, a table or a complete database in your database management system. So obviously, first of all, you see that it doesn't really bring us to where we want to be with like two control planes on two nodes at the edge because with logical application we can only write and read to one node and the second there is read only. With streaming application, it's similar we don't just replicate an object in the database. Rather we, I'm sorry, I apologize. A few slideshow, okay, apologize for that. So with streaming replication, we don't replicate a single object but we replicate the whole database system by replicating the right ahead log of the database. So there's a process on one system that kind of like sends the database actions over the network to a subscriber on a secondary system which then sees what actions the primary database did and writes them into the system here. But again, on the secondary you can only perform select actions. So it's kind of like just a read only. The next thing you have to consider with those high availability system is just like asynchronous versus synchronous. So with logical or right ahead log application you can insert one node and then there's a secondary which takes those actions after an interval of time and writes them to the database. That means that again, we don't have two control planes and there's a delta of time where the data is inconsistent. So there is no, if the database here, the primary caches, there's a chance of secondary losing some data. So with that to mitigate that there's synchronous application which is a little bit more complex. The client performs an action. The action is propagated to the secondary which then sends an acknowledgement to the primary and then only then the client gets like a message of success that's insert, update or delete arrived successfully on both nodes. That's obviously, there's a lot of room here for things going wrong. So it could be like a network between the client and the database. And again, from primary to secondary there could be lost of data. So there's a complexity here which you have to consider when you go to synchronous replication. Again, for us, using MySQL or PostgreSQL with this kind of application, it's a no go because we didn't have like the availability to have two control planes. Another type of high availability is with relational databases is like having improving the availability of primary database by having some kind of a load balance or epoxy between the client and the database which distributes requests by the type to the right database. So epoxy could kind of see, okay, you want to select something. So upon my knowledge of your previous request I can either send your request to primary or secondary. And you can also have like a tertiary inquiry like a third or fourth member with the setup which improves the availability of the database in general. But that's kind of high availability of database system which is not relevant for us with more nodes because we want to have again, two control planes on two nodes at the edge to make things worse, many high availability solutions on relational databases require actually a quorum by having a console or ECD at the background which synchronizes the database at the background. So we kind of like, okay, network database don't work for us. Let's look at those things. Of course, if we choose any of those solutions and we give this to the client, we need to have the right mental model or application model that understands what kind of application or workload is required acceptable for this type of availability we want to have. So obviously it's a complex thing to choose between all of those systems and to make things worse again, there's a complex failure mechanism. So if the master fails, it's not just like with ECD that the primary goes away and then the secondary is automatically promoted to the master. So again, we weren't really sure we want to go with network databases. So we looked at the last option with Kine which is SQLite. And we thought, okay, we know that we heard of SQLite over the network but looking closely into those network SQLite solutions, they all require a quorum and they use ECD or some kind of raft under the hood. For example, Alkylite from Canonical uses its own raft implementation but that just means that if you take micro Kubernetes with Alkylite under the hood, you have to have three nodes at the edge. Then there's like other solutions of replicating SQLite over the network. One of them is Lightstream which is active passive replication of the network which we almost looked into it but then by chance we bumped in a nice interesting project which is called Mahmoud which I want to introduce to you. Mahmoud is a SQLite replicator over the network using a message board called Nuts. It's extremely simple to set up all you have to do is start a process and point it to your database and it takes care of the rest. At the same time, you can do this on another database, some of the network and tell it, I want you to subscribe to a publisher of Nuts and it will take care of everything else. What was really attractive in this project for us in the beginning that the replication is two-way so we can have like we wanted two control planes on two nodes. You can check out the introduction of Mahmoud and I don't know if many of you are familiar with CDC. CDC stands for Change Data Capture. You can do this with any kind of database by sticking a message board in behind the database with Kafka for example, but Nuts is embedded so it's embedded into Mahmoud so it's really lightweight and affordable for the edge use case. How does it work? It works the following way in theory. You have an SQLite database and you can insert, update or delete stuff and when Mahmoud starts, it creates a collection of triggers on the database so every action on the database is triggering and message into the Mahmoud leader. On the other side, we have a Mahmoud folder which subscribes to those messages here and it says, okay, there's an insert here on this side I will write this insert here. At the same time, the client can also publish those messages to the broker and if there is an update on this side on the second day note then it will write it to the primary. So this is what we thought in the beginning. Eventually we realized that Mahmoud cannot do two control planes and only after playing a lot with kind we realized that the problem is not Mahmoud itself is a transaction mechanism which is incompatible with this synchronous mechanism on both sides because if you start a transaction here and it's published here at the same time the transaction goes here and starts there's kind of like a deadlock between the two nodes. So as a compromise, we started looking at Mahmoud for replicating SQLite on the nodes while we go with a single control plane because of this locking problem which we don't have good solution yet for. With that, I think I transfer again to you Justin. Yes, thanks Oz, I appreciate that. So I wanna kind of go through what our solution looks like as it is today and then kind of where we're going with it. And again, as Oz mentioned, our goal is to focus on how can we achieve high availability of the control plane and our applications. However, at the current moment we're looking at the evolution of that in terms of, well, can we just do this with single node control plane and have some type of failover mechanism leveraging Mahmoud. Now there are some implications that we have to consider and one of those being, we're focused again on the application but the application should be designed in a manner that survives losing one half of it. So for example, having replicas on one node and that node fails, that doesn't really help out if the control plane's down as the application can't failover, certainly Kubernetes timers need to be tweaked. There's a lot of things to go into this but fundamentally the goal is to say we have an application that can run on any one node in any one time and there's no dependency on the other node. The control plane high availability as I mentioned can be down for some period of time. We look at it like between five and 10 minutes is okay and staple applications would need a very careful design considerations and we really weren't targeting those types of applications at least initially. So architecture looks something like this. I'll talk through and go through demo in just a moment but fundamentally we have two nodes. One of them we label as primary the other one we label as secondary. The primary node has our agent which we call stylus that runs on it and is doing state checks and things like that. And it's fundamentally responsible for determining when it needs to failover. So in the case of the secondary node in this particular slide, the secondary state checks are taking place when it can't reach the primary node for some period of time or some of these state checks fail. For example, we ping the alternate hosts. We look for the default gateway. We try and attach or can we connect to the API server? Those types of things when a certain sequence of those takes place and the state has failed then we initiate a failover which in turn tells K3S to restart Pointer Database to your local copy which is what's on node two and then resume any kind of replication that would have been happening back to node one. So we kind of flip the role of how this takes place. So node two subscribes to nodes one, to node one's Marmot instance and Marmot is responsible for doing this replication. All right, and then kind of going into the next step what happens during a failover? Node one dies. You'll see like node two continues to run again you the application as you'll see in the demo would continue to function but there's no control plane. At some point during that timeline of state checks the control plane will switch over. Node two will promote itself and become the leader in this particular instance and begin that replication as I mentioned. When node one comes back online you'll see that it will realize that it's in a state that it shouldn't be in realize that node two is the leader and that state engine that agent that we have initiates a demotion. So it tells it, hey, you're no longer gonna be the leader you need to become the secondary node and go forth, right? So with that, let me kind of go through a quick demo. I wanna set up a couple of things here. One is we have our environment which is called palette. I have a cluster that is deployed that I've called two nodes. So it's just a two node cluster. And inside of here you can see we have two different node pools. One is a master pool or control plane pool. And the other one is a worker pool. And this is just running on a couple of virtual machines in our environment. But the concepts are the same. One's labeled primary and one is labeled secondary. What I'm gonna do is because of the time that it takes and the timers and stuff aren't tweaked 100% the time that it takes I'm gonna go ahead and kill as you see node two is labeled as the primary here. I'm gonna go ahead and stop node two on my VMware environment. So just stopping the node. We'll let the process go through of it failing. So I should be able to attach to my application which is a very basic app that's just kind of showing the representation of both nodes. And then again and showing where we're hitting it has 10 replicas and so we'll see this in the demo. I have a recorded version of this. So I'm gonna let this take place right now and we'll move to the recorded version that shows more in depth about what we're doing. So as again, going to our architecture we have this primary and secondary concept. By hit play, we'll go through. You'll see a couple of things and I'll pause and just kind of highlight them. In the bottom right hand corner you see the logs from node two. So in this case, node two you can see the state of which one is the control plane in this particular instance, which is node one. And on the left hand side you can see I have 10 replicas of a deployment. And again, these just kind of the representative is being across both nodes but they just kind of bounce back and forth depending upon what's happening. So I institute that shutdown that we just happened and you'll see showing the liveness checks and all of those things. But when the shutdown takes place node two initially says, oh my liveness check fails. And you can see the health check failed. It's failed one time. We'll do this three more times. And we're still below the threshold though of three health checks. And so we'll keep checking. These are timers that are tunable by the settings on here. We have them set to do this every 30 seconds. So every 30 seconds the health check takes place. If it fails once, okay, it fails twice. So basically there's like a minute and a half or two minutes before an actual failover event which is why I recorded this and just kind of talking through it. But we'll cut ahead and see, okay, the failover as you notice the nodes themselves, the control plane is down, which is the expectation. Again, as I mentioned before, high availability of the control plane itself is not something that we're focused on at this moment. We're focused on high availability of our application which you can see in the top is still running. And we'll see that only node two is getting, we're only seeing node two pop up. Now on the bottom we're noticing that some other error messages are happening that additional liveness pros come in. The failover took place. So node two realized after four failures, I need to become the leader. I need to promote myself and it's promoted itself. And you can see, we're showing those deployments. There's still the timers within Kubernetes haven't timed out and flagged the devices on node one as being there. But you'll notice the leader is now or the control plane is now focused on the node two. Node one isn't ready because node one is still shut down, right? There's no concept there. So powering back on node one at this point, what we'll see is kind of like a conflict moment where you can see I'm pinging node one. At some point node one, it comes back and now it's been demoted. So what's happening during this process is I was pinging it, it's coming back online being rebooted. And when it comes up, it notices, oh, I'm not supposed to be a leader. It's demoted itself, but it's not quite ready yet. I'm just gonna go back and to look at the logs of node one and we kind of see, okay, well, it pops up and it's ready and we still have this, but all of our replicas are still on node two. We can use the Kubernetes de-scheduler and timings to reset this. So based on values within there, I can tell it, hey, I want to reschedule these nodes like I want to reschedule these pods, I'm sorry, and distribute them more evenly because by nature Kubernetes during the failover won't reschedule as long as it has capacity available. So basically just rescheduling those so that we are going back to our previously good state of load balanced in terms of the deployments are split across both nodes. So this is our current iteration of where we are. So if I go back to my instance inside my palette, as I mentioned, one of the challenges is like timers within Kubernetes, how fast things failover. If you don't have the pods, the pod timers, I'm using Metal LB as a high availability, like load balance kind of mechanism. If it doesn't failover fast enough, this screen refreshes every 10 seconds. So if it's in between a refresh, then we get that, I can't display whatever, which is again, thinking about the application design, how can we make this more available? Timers being tweaked, application availability, those types of things are certainly things that need to be considered. But this whole process will go through and you'll see inside of here, once my node one becomes, kind of going to switch over right now, node one will become the leader and I'm back into a good known desired state, all right? So again, this is the evolution. This is what we're driving forward. Now, we started this out by saying that we want to have a high availability with two control planes. And so if I think about what that might look like, it is kind of a combination of everything that we put together and our phase of this looks something like this. Recently, Postgres had a new release that allows for a synchronous replication between two databases or more databases. And so we've come up with this kind of idea that well, could we take Postgres just natively and tell it to replicate amongst itself and have two high availability control planes? And so Oz is going to show a demo of this in just a moment. But I just want to kind of set the stage and say this is what we're driving towards using these technologies to be able to enable our customers at the edge to have high availability, but for both the control plane and the application. So I'll turn it back over to Oz to show a quick demo of our HA control plane model, which consists of Postgres and looks very similar to what I have on the screen here. Oz? Thanks. Okay, thank you, Justin. So what we have here is I set up a variant lab with two virtual machines which have Postgres QL 16, which was released a couple of weeks ago. It's very early, kind of like previous technology for us that has two databases on two nodes. And you can see in the log messages that I created a publication on one node and there's a subscription to the other node. And what you see here is that I have actually really two control planes, kubectl get nodes. So here I can talk to the control plane to get nodes. And if I show you the pods, you'll see that I have, sorry, I mean to this, only the columns. So I have VMware control plane, and I have nodes and something's wrong here. I don't have, it's PS, the KTS server. Oh, it is running here, but there's only one control plane. That's surprising for me. But what I want to show you is that like I can fail this node here, VM1, and the cluster seal available because what happens under the hood is that both control planes talk to the same database. And there's an active standby I can switch to. So there would be here a config, let's do grep data, data store. And here I have the same, there was an obsolete bad user grep, grep data base for this file again. Oh, that's why there's no control plane here. Really apologize for that. Let me check why is it not started here. Sorry, script, start KTS. Let's see if that works now without breaking anything. Okay, I have no KTS. We promised at the top of the episode we'd break things. So I'm glad you're making me true to my word. Yeah, I apologize. I thought the vacant map was working. While you're troubleshooting, I have a question. I don't know much about this space. So I fear that a lot of my questions today will be remedial. But why do you want to have a control plane on every node? That's a good question actually. Well, the reason is that because as Justin showed, the failover mechanism is quite complicated. Like in the case of Marmot, when we failover the control plane, we need to change also the model of Marmot. We need to kind of like stop Marmot and make it from a leader to a, from subscriber to publisher. When the failed node starts again, it cannot start again, tomatically as a Marmot leader because you get conflicts, right? So you need to say, no, no, no, no, no, no, you can't start like this. You have to change your configuration for your starting Marmot again and demote yourself. So this whole kerfuffle of like promotion, demotion was quite complicated to implement, to be honest. And we broke our heads a couple of good weeks on that. And if we could completely avoid that, that would be awesome. And we kind of like push this whole logic of code upstream to PostgreSQL, it would be awesome because PostgreSQL has, I don't know, millions of users out there. And if this works, then it's bottle tested. It's not just like something we implemented over a couple of weeks. So it seems that K3S is now working. Let me see. There is K3S. So the config file should be here. Mention K3S, there you go. So I have both K3S talked to the same, member of the cluster, okay. And I have PostgreSQL running here on VM2 PSAX. Okay, PostgreSQL, you believe me all. So there is PostgreSQL here and it's there, it's not. So now let's see that we have also two control planes, cat parts. So this is only imagine a workload I have. Let's see if I have, where is the command? Just like with import names. There's still no two control planes, but it does actually doesn't really matter because I can fail the control planes. This one on two should start. But PSAX is there under this one. Gap K3S, there is a K3S here too, but it's not turning as a server. That is weird. Look at the system D unit. Let's see if it's turning as a server. K3S service, it turns as a server. Let me too. I have another question while you're troubleshooting. Do you have to use K3S or can you use another Kubernetes distribution? Well, because we use Kine, we actually have like a prototype that also works with QBADM, so QBADM usually expects an external ECD. So we could just start Kine and point QBADM to Kine, so that should work and it actually works in our implementation. Cool. Yeah, yeah. Just to add that, Wendy, one of the goals is to be agnostic. We started out with K3S because that's kind of again where we see most edge deployment. That's kind of again where we see most edge deployments, but there are certainly use cases where K3S doesn't fit. For example, like FIPS compliant areas, things like that. So our goal is to try and leverage where we can, having to not do this logic as Oz mentioned, but also providing some non-dependencies on things like Kine as an example or K3S or other distributions, just being able to say, hey, I want to plug, today I'm going to use this one because I have this requirement or whatever and not having to worry, does that work? Okay, I think the problem is actually myself. I just can't see the message of Curl, yeah, but I think I'm actually talking to the control plane locally. Let me just check if I'm right here. Justin, can you give me a hint if I can see the actual Curl call with Grip? Just like, I know there's a way to get the actual Grip command, the Curl command with Kubernetes, KTL. Let's see if, no, it's somewhere there. It's gripping it, but I don't see it. Okay, so let me just, I hope I don't embarrass myself, but I think if I stop M1 here, the control bench will still work. So what I did to simulate the, I'm not in there, what, VM1, sorry, okay. Do you want to ask us another question while it takes time? So, this is all brand new to me. So I'm just going to restate the problem. So basically to use Kubernetes on the edge, so all of the solutions presently, you have to run a three node cluster. And that just, it's often overkill for a lot of different workloads, which actually leads me to a question right there, which is, I remember you saying like, stateful workloads are probably not best for this, at least not yet, but what kind of workloads are ideal for a two node HA solution? That's a good question. So I think to just clarify, yes, you can run single node Kubernetes at the edge, but you don't have high availability. So if you lose hardware failure or something like that, that's out of service. And there's the use cases where customers are comfortable with that. They have, I don't need, it's not mission critical, it's just providing some type of whatever. The use cases that we're targeting focus on, I need high availability for my applications. They're designed to run across multiple nodes. And I have built into there the capabilities for those either through their own internal replication, the applications handling, if they're using databases, data replication, but I don't have a need for transactional, like I need things to state between them. We're not sharing state, but my application's handling it. What we're seeing a lot of is, I think in terms of I have IoT aggregation points, I've got a lot of thing in like fast food is an example I have a lot of friars and fridges and things that have sensors and information. I don't want all of those talking to the internet. I don't want, I just wanna use my local device to kind of aggregate, maybe do some pre-processing and then punt it to a cloud to be processed more. Those things turn into additional kinds of use cases of, well, now maybe I wanna do some intelligence locally. I need to have that there, because if the internet's down, my thing needs to continue to provide information, but I don't necessarily need to have like super high availability all the time, but I also wanna have some survivability. So I can't, I don't wanna do one node and I don't wanna do three nodes because it costs a lot. The medium is I wanna do two nodes and I still wanna make changes and I still wanna have some of those same functions that I get when I have a three on high availability cluster. So it's important to me that I keep all this information I'm gathering, but it's not important to me that I have it all every second. Correct. And so therefore that's when a two node solution is good. Yeah, so while Justin was explaining, I figured out what's going on. So let me show you. So I stopped the control plan and the database on node one, simulating that it's stopped, okay? Now, if I try to get pods here, I do like get pods, I get a timeout, right? So it's trying to connect to Postgres QL and the database on this node, which is stopped, so cube color is failing and this is the RPCO coming for kind. But if I look at K2S, it's still running. So I should be able to talk to it. And what I did in the meanwhile is I updated the configuration of K2S to actually talk to the database running locally. So if I'm correct, restarting K2S should reconfigure to talk to the database locally. Now, remember what I said is that we don't want to have this complex mechanism of like failing over. So if we had from the beginning, the local K2S talking to the local database, I wouldn't have to do this actions that I did now. And there's actually an interesting story why we can't do that, I mentioned it briefly. And let's see if it's working. It seems that it's not, or it's taking a while to start. But the idea is that you can't do active, active replication for all kinds of SQL queries. And that's if I may share my test of my browser with you, when you look at the local... We can't see your browser right now, but when you share, is this, let me... Yeah, I will share my test, my test in, so... Okay, great. I got just... Yeah, okay. There we go. So the documentation for active, active Postgres comes with a warning. It says that I don't get together and they explain here that you can't do transactions. There's actually no good way to solve this public publish and subscribing with transaction. And we discovered that under the hood, Kine emulates its CD by doing transactions, actually. So when, if we start to Kine or like two control planes on active, active replication with Postgres SQL, it seems like it's working for a couple of seconds, but after a couple of seconds, there's like a compaction mechanism of all records in the database, and that's done with a transaction. So the database goes into a lock. And we really hope that we find a way how to kind of like go around that and see. And I think right now what happens is that I kind of like lock down. What happens is that I kind of like locked my database. This is why Kine doesn't start. So yeah, I break things, but at least I can explain why it's breaking. And we don't know yet how we are contemplating how to kind of like, whether we want to discuss this with Kine developers to do this compaction decision without the Kine transaction and committing. We are still not sure how to, but eventually we will get this right and we will have, I'm quite sure, very optimistic that we will have the two control planes running on, sorry, two control planes running on two nodes. I have another question that might be silly at this point in the conversation, but why not use an external database for this level of needing information? Yeah. So if you think about, I mean, a goal is to keep costs down and to having to have infrastructure that runs an external database at a fast food restaurant or a retail location doesn't really solve for that. There's certainly maybe logic where you could centralize and put it in a cloud or something, but then that doesn't solve the survivability element of if my internet goes down, then I've lost my cluster and I can't do what I wanted to do anyways. So we initially told with the idea could we like throw out a Raspberry Pi and have it as running some type of database. But again, now, how do you achieve high availability there? Well, now I've got to have some number of Raspberry Pi's so it just really didn't solve the problem that we were trying to solve. And then there's a lot of other inherent complexity as Oz mentioned earlier with just network databases, latency and availability and those types of things that we just, it just wasn't going to fit what we were trying for. Okay. And we also, Ferdinand has an answer to, which is latency should be considered for an external database too. So we do have a question in the chat. Can I, what if you have an active passive mode cluster? I guess I don't quite understand it, but maybe because I don't know a lot in the space, can you? Let's see. Can I answer that? Yeah, yeah, go ahead. So it's the same what I said in the beginning when I showed the models of like high availability. You can have primary and secondary like active passive with some whatever replication mechanism you do. But then again, as I showed you, you can't have two control planes because the secondary is passive, you're not allowed to write into it. So you will have to, in case of the primary failing, you'll have to switch over like promote not just the database, you have to kind of like start a control plane on the secondary. So we, while we can do that, we don't want to do it. We want to have a solution which is simple and there's a lot of like active passive replication mechanism we put in the beginning of this presentation, I think to the PostgreSQL Wiki with many, many, many options to how to do that. And it's the same for MySQL. There's no really golden standard of how to doing active passive replication with PostgreSQL. So, yeah. Excellent. Thank you. So I have another, I have a question. So I'm what I'm, I own a successful line of fast food chains and chains and I'm sold. I want all my French fry data to be on two node clusters. So what should I do to start implementing this instead of using the three node system that I am using for HA, for HHA workloads? Well, I mean, I would say come talk to us. We have, we're going to be present at CubeCon, of course. So we'll have a booth there that you can schedule, you know, one-on-one demos. We have a room as well for meetings. So if you are looking for, you know, learning more or seeing more or hearing more as this is an evolving space, feel free to come out there. We also have, we published a, we have a series of blogs coming out, but one of them published around just two node in general and focusing on really what is the challenge and what are we solving for. So a lot of the things we talked about today, but certainly as a next step, I would encourage you to come see us at CubeCon next week. Is this something that's ready to be implemented now or does it still mean some work? Yeah. So we're targeting what we're calling tech preview within our platform by the end of this year. So it should be available December, mid-December timeframe with GAs happening sometime like Q1 of counter year 24. So our edge-wise three nodes, that's all available now, but the two nodes sort of, again, focused on a very specific use case. The two node solution, we're still, we're still, as you see, actively looking and experimenting and trying different ways to do it. I love that you're learning out loud with us and showing us your journey. I think it's so fascinating. I think you had a last slide to show off. Is that true? Should I put it up? Yep, I have it. Yep, ready to go. Excellent. Oh, hey, this is familiar information. As I mentioned, yeah, next steps reach out to us at CubeCon schedule a demo. You have the QR codes here, and I think the links will also be posted in the show notes. And with that, if there's any other additional questions anybody has, take a moment. Doesn't seem like it. So far we don't have any. Will you please, so will you restate for me? So I understand why a two node cluster and what problem it's solving, but I think what you said was the difficulty of getting a three node cluster down to a two node cluster is that all of the key value data stores that back up the cluster require three nodes, all the ones that exist currently. And so what is the challenge of getting that key values data stored down to two nodes? Well, most of them are, I mean, most of them center around RAF consensus algorithm, which requires the quorum. And the quorum, as I mentioned before, is a majority of the nodes to be present. So in this case, three nodes needs two nodes to be available. But in a two node cluster, if you just employed it with two nodes and you never lost a node, it would work fine. The quorum is there, majority is fine. But if you lose one of those nodes and you need to replace it, that's where it becomes. Because now I can't make any changes. So I have to rebuild the cluster anyways. And so how do we get that down to two nodes as we don't use RAF? I think that's kind of the gist studies RAF. And then we have a question. And so I have another one. But how would this compare to a worker node in the edge and control plane in the data center? So I think some of the same challenges that we talked about before in terms of if my control plane is in the data center and one of our goals is that I must survive an outage. If I lose the internet, I need to make sure that my node continues to run. We have situations you talked about fast food joints. Imagine a fast food restaurant that is in an area of the world that is frequented by natural disasters. And their internet or their infrastructure is impacted, but they happen to be the only restaurant available because they have power, but they don't have internet. But in a situation where my control plane is in the cloud and I lost power for a period of time when that node comes back up, it's not going to be able to really do anything. So those are types of survivable concerns that we have and making sure that the entire cluster is available at any one time with no dependencies on the outside world. That's great. So to further recap, now we have the two nodes and the challenges at CD or those related things are all based on the RAF algorithm, which requires at least three nodes. So now we need a new solution. And you looked at lots of different ways to replicate data between two nodes. And so what you came up with as the best choice was Marmont. And will you recap for me why that was the best choice? I don't, I want to caveat today. I don't know if it's the best. It was the first choice that we found. Yeah, it was the first thing that worked. So no, really. We couldn't go on with Lightstream because it's very simple and it's a bit older than Marmont and has a bigger, I think usage. But when I bumped into Marmont it had a very attractive tagline and the fact that we really, really wanted to have two control planes on two nodes seemed that it's possible to do with Marmont. So that was the first thing that worked and that was kind of like a really initial solution. And PostgresQL, active, active just like I said got released a couple of weeks ago. So this very early technology we hope we can find a way to get it working with Postgres. So this is again a very new question but is Postgres instead of Marmont or in addition to Marmont? That would be instead of Marmont because there's no CDC, it's active, active replication which is supposed to be more consistent. Also, Marmont is not a bad thing considering that we are on the edge. Marmont is very lightweight and Postgres is a very heavy process so it might not be suitable to all edge cases. If we're talking about like really better devices at the edge we might not want to have Postgres. So having choice is good. And so in figuring out a way to duplicate the data across the two nodes in a way where one could go down you did manage to solve that but it's just more complex than you would like it to be and maybe takes a little longer than you would like for it to resolve. The one that actually worked was that with Marmont or was that with Postgres? Marmont, okay. Signing with what our design goals are and trying to keep it simple. Marmont is very simple. You can turn it on as Oz mentioned you put a couple of flags and it's done. The challenge becomes in the logic on how you fail over. You don't want to have two active nodes.  What happens when it's just abrupt, oh I pulled the power and what happens when it comes back online and that orchestration is it turns out is quite complex. If we could just leverage what Kubernetes does already and we had a back end that supported that this becomes a very, very easy problem to solve but as we saw today, there's a lot of choice but also not very many of them are very easy to implement. So now the challenge is to get control playing on both nodes and that you're hoping to solve with Postgres QL but that's what you're currently working on right now. Yeah, we have a couple of options that we're looking at. Postgres is one. There's a couple of other design choices that we've made and internally are testing and the one that's most promising right now is that. So is there anything you'd like to add to my child's mind to recap of your very wonderful and detailed presentation? No, I mean I think ultimately our goal is to try and keep it simple but we're solving for a problem that at mass scale which is what we're talking about. We're talking thousands and thousands of locations. You know, we feel like we've done a very good job with Edge in general. It's a platform that provides consistency and it provides our customers easy deployment but this is a ask I want to chop off a node. A thousand dollars a node times a thousand locations is a big number and especially when organizations are looking at maybe leveraging other technologies. Oh, maybe I want to do something with, you know, AI but I don't have the budget to be able to do that because I have to spend a million dollars more every time we roll out a new thing. So being able to divert those funds to customers is something I've asked for. And if we, and I think we will in the next few months you'll see we're going to have a very elegant solution to solve that problem. This isn't super cool. I've learned so, so much. Is there anything you'd like to say in closing before I read the ending script? No, just I look forward to seeing you at KubeCon stop by our booth and there's a question that popped in. Oh, this is okay. Question not related to this presentation but have you tried running kind in RKE2 and using PostgreSQL? Not RKE2 but we have with QADM so we shim kind with that and that works. We think it will work with RKE2 that is one of our target distributions and as I mentioned before the big reason for that is FIPS but yes, we are looking at that. Cool. Thank you for your question for an end and thank you so much. I'll be at KubeCon too so I look forward to meeting you both in person and just watching this, please do say hi if you see any of us around. We'd love to talk. All right, so thanks everyone. Thank you so much for joining today's episode of Cloud Native Live. It was great to have Justin Barksdale and Oz Taram here teaching us about using two node HA for edge Kubernetes. It's a new approach. It's so exciting. As always, I love the interaction and questions from chat. Thanks for being amazing and thank you so much for those of you who watch the recording. Here at Cloud Native Live we bring you the latest in Cloud Native code at noon US Eastern. We're going to be taking a break for KubeCon and then Thanksgiving and holidays but we'll be back in December. Thanks so much for joining today. Thank you so much Justin and Oz for sharing your expertise and your journey. It's been so fun and thanks to those who watch the recording. I'll see you soon. Bye.


I guess we now move to the concluding remarks and I don't know how this is going to be handled technically to put all the organizers on the screen. So I guess I can start really on behalf of all the organizers of the conference, the BCB and the Fed Cleveland. I really want to make, I want to thank Linda Delu, Crystal Schubert and Diane Roberts for the fantastic support. So really it's thanks to them that we have the conference literally. I also want to thank Javed Gaffour for the masterful handling of the software we have been using for the conference. It has gone very smoothly and this was really thanks to Javed. But first of all and you know, mostly I want to thank all of you, participants and attendees at the conference because these are really been two fantastic days in which I really think we learned amazingly a lot from your work and from the discussions which have been also super insightful. I am at BCB but I guess that my colleagues are the Fed Cleveland working the same. We have an analytical agenda and research that you know, constantly flows into the monetary policy briefing. But I think that you know, really with these type of conferences we have a step up into our understanding of the economy and I have noticed that after conferences like this one really the level of our analysis also for policy really increases enormously. So I want to thank you all very, very much. The only regret I have as I guess my co-organizers is that this is the second time that we must have the conference on a virtual format. So we lose some of the nice interactions at the coffee breaks during lunches and during dinners, not only about economics but also you know, other type of nice interactions. I hope that in the future we will be able again to hold this conference in presence and speaking about the future, let me leave the floor to Ed, which has something to tell us about the future. Thanks Micheli. So yes, happy to announce to all of you that there are plans afoot for next year. So please mark on your calendars 2022, September 29th and 30th. It's a Thursday and Friday. We are hopeful that we will be able to have this conference in person and that the Cleveland Fed will be able to host it in person. So please keep those dates on your calendar. I remember when we started this conference series a few years back, we wondered if there would be enough inflation material each year to have a conference. I think the world has answered that question for us. So I look forward to all of your submissions and just as one other note, so we've been working with the JME to put together a special issue for next year's, associated with next year's conference. So just in case you need a little bit more motivation, please get all that great inflation work out and submit it for next year's conference. We look forward to seeing you there. So thank you Micheli. Thank you and again thank you everybody. Have a nice day, whatever point of the day you are in the location for which you're following the conference and see you next year.