So the scenario is this. You've finally recorded that amazing take on your guitar. You played the last chord and waited patiently for it to disappear into silence. Trying not to shuffle around in your chair and ruin that pristine recording. You hit stop and you celebrate. Yes, finally after 24 and a half takes I did it. I captured that amazing performance except you didn't. Because you hadn't hit record you'd only hit play. Sound familiar? Does to me. I've done it a gazillion times. If you watch to the end of this video I'm going to make some suggestions for door manufacturers which could mean that they could help us to avoid this awful situation and stop these amazing performances from being resigned to history. Hi folks, I'm Mike and I hope you're well. This is going to be a Confessions video of sorts because all of the mistakes I'm going to talk about in this video are ones that I've definitely made myself. I'll make suggestions for solutions where I can. Now one time I didn't make a mistake was when I signed up for DistroKid to release my music. If you would like to do that as well follow the VIP link in the description down below and you'll get 7% off of their already incredible price. Now let's dive in to these mistakes. A wise man once said to me if in doubt blame others. Or was that just the voice in my head? I'd love to apply that to microphone manufacturers because there's been a few occasions when I've been singing into a microphone and thinking why can't I get the sound right on this microphone. Sounded fine last week when I used it last but this week it sounds just muffled and muddy and yak. Only to find that I've been singing into the wrong side of the microphone. For those of you who don't know with condenser microphones there is a right and a wrong way to sing into them if they're using something called the cardioid pattern where the microphone just picks up in front. Now some manufacturers like RODE for example with this NT1A will put a marking on their great microphone by the way. This has got a little sort of gold button on the front of it which indicates the front and I don't think I've ever made this mistake with this microphone. Let's move on to the AKG C414 an absolutely legendary microphone. I will put a link for this in the description. This is not a cheap microphone but it is awesome. See that lovely gold front? Completely different to the back. I've never made this mistake with this microphone. Moving on from there if we look at audio technical microphones this one's the AT 2020. It's not such a great scenario. You can see there's some little bits of writing on there and the front is indicated with their company logo but you know look if your eyesight is not great like mine then you could easily miss that. I do think I've made this mistake with this microphone on a couple of occasions and now to the worst case scenario I reviewed this microphone last year. It's an amazing microphone. Sounds wonderful. Now it's from a company called Nude okay and true to their company name there is no marking on this microphone whatsoever. No logo, no model number, no little button or anything like that. This one's really a problem you have to use your ears I guess. So look I'd like to see all microphone manufacturers put at least something on there. If you've ever made that mistake let me know in the comments down below. In a moment I'm going to be discussing what I think is the most embarrassing mistake of all of these and if you've ever committed it like I have it can make you question your whole abilities in terms of mixing music. It's not surprising we do make these mistakes because after all it's kind of a complex process all of this. A bit like sharing all of those links to the various different places you've released your music to. Thankfully the sponsor for this video does have a solution for that. This is the hyperfollow page for one of my EPs Wonderland. When people visit this webpage they can choose for themselves which one of these great platforms they want to listen to my music on but I didn't have to create this page. It was generated automatically for me when I uploaded my EP to DistroKid. If we visit my DistroKid page here and look at this EP and scroll down you can see the section just at the bottom here where they supply the link for me to share. Now I can share that on places like Facebook where they will automatically be generated my album artwork and people can just click on this and go straight to that hyperlink page. Now this is all included with the base price of DistroKid which is just $19.99 per year. If you follow the link in the description you'll get 7% off of that already great price. This mistake is by far the most embarrassing of all and I'm afraid to say I have been guilty of this on several occasions. It happens during the mixing process. You've perhaps got your favorite EQ plugin open. You've been adjusting it tweaking it getting it just right so that that track now finally sounds as it should.  Now this mistake can take other forms. You may have been pushing that fader up and down just so that you can get that guitar to sit just right in the mix and you think yeah finally I nailed it only to find you're actually pushing the wrong fader. I think this mistake speaks to the strong connection between what we're seeing visually and what we think we are hearing and it should tell us to make sure that we do in fact use our ears and not our eyes when we're mixing. Now the most important thing about this mistake above all if you ever commit it don't admit to anyone that you've done it. So before we move on to the final heartbreaking mistake which I have made in the past I want to offer a couple of solutions for the first mistake we talked about. You know the one where you hit record or you thought you hit record but you only hit play. Now these solutions are suggestions for door makers. The likes of Avid, Steinberg, BandLab, Prisonis etc. Sorry if I left your one out. So if you work for one of those companies pay attention. The first suggestion I want to make occurred to me the other day when I was using this my GoPro. GoPro has a feature where if you hit record it will actually include some material from the time before you hit record yeah which suggests that there is a buffer in here. It's actually always recording yeah so it's even recording when you haven't hit record and that got me thinking could this be used indoors perhaps there could be an option where even if you just have the track armed for recording it's actually recording even when you hit play yeah when you hit stop you do have the option to retrieve that sort of recording okay that's just one suggestion I realized that could be heavy for some people in terms of system resources definitely it would be an option. Now my second suggestion you can let me know in the comments down below folks which one of these you think is best my second solution would just be to have a voice announcement as an option a kind of an Alexa style voice if you like so that when you hit play it says playing and then when you hit record it says record in a better voice than that of course not using my voice as I say an Alexa style voice I think that may just be enough to remind us about what we're actually doing. As I say let me know in the comments down below this next one though is heartbreaking this final mistake is absolutely heartbreaking if it happens to you and it's definitely happened to me in the past but I do have a workflow now to avoid it it comes in many different forms but it generally surrounds the topic of saving or not now it may be in its most simple form that you've been working on a track for several hours you didn't have the autosave feature switched on you have a sudden computer crash and poof all of your work is gone you may find yourself swearing a little bit if this happens now another thing that can happen with saving is you do actually save but you save over a perfectly good version of your file with a not-so-good version perhaps you've done some things which weren't that great yeah and you've just saved to the same file okay not good when that happens because once you switch your door off there's no ability to undo and get back to your old work now as I have mentioned I have been working in a different way for several years now which has actually avoided this and what I do is I do save many different versions of my files now some doors have auto versioning when they have autosaves okay if you want to use those it's fine but I just want to tell you how I go about it I do it manually and it's really helped me to avoid problems so let's say my song is called I'm so dumb yet that's my base file name now what I do is I prefix each version that I save with a number okay typically it'll be like zero one I'm so dumb zero two I'm so dumb zero three I'm so dumb etc why do I use zero one instead of just one yeah that just helps to keep it perfectly in order when you're using either Mac or Windows and you're sorting your folders by file name okay if you just use one it can end up sort of ahead or past say something which is numbered as nine for example so that's why why I do it like that so it's good for a hundred different versions if you want to if you think you're going to go over a hundred different versions then you may want to do zero zero one or zero zero two etc I don't think I've ever had that happen okay so that would be the sort of base file names for my versions now I append each of these file names with something to indicate what I achieved or what I was doing with that version so it may be zero one I'm so dumb setup zero two I'm so dumb guitar zero three I'm so dumb vocal etc etc now I've just got into the habit of doing this okay so so I saved quite often as soon as I've achieved something sort of pretty significant I will sort of save things like that there's two things about that which works really well it can help you as I say to avoid saving over things which were good and with most stores if you open up two projects which most of them you can I think you can actually copy and paste things from you know one to the other so if you kind of feel that there was something or a recording or something which you since recorded over I don't know something like that it can be handy to go back and grab things from old versions sometimes now the other way which this can occur and if it hasn't happened to you it will happen to you and you will wish you had taken my advice is when you have hard drive failures now you may think that you're using SSDs yeah there's nothing mechanical in them they're not going to fail I promise you SSDs do fail I think last year or the year before I had three fail in one year and it would have been really catastrophic for me if I didn't already have a backup routine in place okay now just to give you a brief idea of what happens with my backup routine all of my project files are checked for updates around about three or four times a day yeah and if they have been updated the updated version is then saved to a NAS which is in another room in my house a NAS has got you know some big hard drives in their big capacity okay I think it stands for network network area storage no it's not that somebody let me know in the comments what it actually stands for anyway so that's the first step that automatically happens okay so it's saved off to those nice big hard drives which by the way have redundancy what do I mean by that they have copies of each other so even if one of the hard drives fails in that NAS there's a backup okay and the other one now or if my house burns down please don't touch wood that would be a problem everything would be gone yes so I could give those to you know a relative or something you know do backups that's too much manual intervention for me I will forget to do that so what I have is I also have it automatically backed up once or twice a day to cloud storage okay so I don't have to think about any of this it all happens automatically for me it's not saving everything you know the whole folder every time it's only updating with new things now if you want to watch the video I made about that in a lot more detail including the NAS which I actually use which is just wonderful then watch this video right here I explain the whole process it's just given me so much peace of mind and I have had one hard drive failure on my computer since then and everything was retrievable


There are so many COVID vaccines that have been approved. We know that these vaccines have different efficacy as shown in this table. Now all these vaccines despite having different efficacies have been approved. This concept I've dealt in another video known as efficacy threshold. The link for that video I have given in the description section below. You can check that out. But the subject of this video is to find out what are the factors which affect the vaccine efficacy. Well, there are various factors. Some can be related to the vaccine itself. Some can be related to the population in which the vaccine is being administered. What are known as host factors and some can be related to the system. So first let's see the factors related to the vaccine. See, any vaccine has two components. One is the antigen which we want to target and the immune response develops against this antigen. And the second is kind of a danger signal, a tag which we give a. It kinds of alert the immune system that, okay, there is some foreign antigen which has entered the body. So because of this danger signal, the immune response to the antigen is much better. Now all vaccines have this first component that is the antigen. And the second component varies in different vaccines. So first factor which affects vaccine efficacy is the type of vaccine. We know that there are various types of vaccine. There is a killed virus vaccine, example is co-vaccine. Then there is live attenuated vaccine. Then there are viral vector vaccines, example is Covishield. And then with the recent scientific venture, we also have mRNA based vaccines, example being Pfizer vaccine. Well, you see that the killed vaccines do not have these alerting or danger signal. And generally these vaccines elicit a lesser immune response. So for eliciting a strong response, they require addition of something extra, which is known as adjuvant. This adjuvant we will discuss in a short while. On the other hand, live attenuated vaccines have both. They have the antigen as well as the alerting signal. However, for COVID, we do not have any approved live attenuated vaccine because they are kind of dangerous. See, they are live virus, right, even though it is attenuated. So they need a lot of research. We have to be sure that the vaccine is safe. So obviously it requires more time and time is something which we do not have as far as COVID is considered. Then there are viral vector vaccines. Now, see, this viral vector based vaccines can induce strong immune response since the viral vector itself can attach to some sensors in the body like toll like receptor and activate the immune response better. So the vector itself is acting as an alerting signal. And as far as mRNA vaccines are considered, see, these are new vaccines and they have not been used previously for any other disease. But in case of COVID, we are seeing that they are activating the immune system in a much better way. So yes, there is both antigen as well as an alerting signal in this mRNA based vaccines. So basically how the vaccines are engaging the immune system determines their efficacy. Now, in case of killed vaccines, we spoke about adjuvants. The addition of adjuvants to the formula can enhance the magnitude of the immune response. So these adjuvants act as that danger signal, that alerting signal for the immune system. Not only that, the type of response also depends on the type of adjuvants. See, immune response after vaccination consists of B cell responses which produce antibodies and then there are T cell responses, basically cytotoxic T cells which kill the infected cells. So this is cell mediated immunity. Now the vaccine may either produce predominantly B cell response or the T cell response or maybe both. For COVID, we want activation of the both responses. Now, for the activation of these responses, there is another component coming into picture, that is the T helper cells. These T helper cells themselves are of two types, TH1 and TH2. TH1 cells produce interferon gamma and interleukin 2, which activates macrophages and T cells. This promotes the cell mediated immunity. On the other hand, TH2 cells produce interleukins like interleukin 4, 5 and 6, which activate the B cell responses. Anyways, the type of adjuvant which is added to the vaccine depends on which type of response we need. And as told earlier that for COVID, we need both types of responses. A common adjuvant which is added to the vaccines is ALM. But ALM actually promotes this side responses, that is the TH2-based responses activating the B cell responses. So if only random is added, then obviously the vaccine efficacy will be lower. But if another adjuvant like a CPG pattern antigen, which is basically a protein similar to proteins of the virus, it will elicit both higher neutralizing antibodies since ALM is there and also it will activate the cell mediated immune response. Okay, so that was all about the types of vaccines. Now, root of administration of the vaccine is also important. See, for pathogens like SARS-CoV-2, which enter via the respiratory tract and stays there for some time, won't it be best that our immune system releases certain antibodies which are there in the respiratory mucosa and capture the virus then and there itself, so that it is not able to enter the lungs and damages it? Well, there are certain antibodies known as IG antibodies which are released into the mucosa. But for this, we need to give the vaccine nasally through the nasal root. But for COVID till now, we don't have any vaccine which is given by nasal root. And because only a limited amount of vaccines can be given by this root, especially live-it-innovated ones. And as I told, there are no live-it-innovated vaccines for COVID. Also, it will require the availability of the inhalational devices for administrating the vaccine. Again, this will add to the expenses of the country, isn't it? Okay, apart from the factors related to the vaccine, there are factors which are related to the population. First is the presence of co-morbidities. Like we are seeing in the case of COVID that if certain co-morbidities are present like diabetes or hypertension, it may be that the vaccine has lesser efficacy. Secondly, it depends on the age of the person also. Vaccine may have different efficacy in different age groups. Then, time since vaccination is also important. As the time passes, the antibodies decrease in blood and the efficacy of the vaccine decreases. So, for that, boosted doses of the vaccine may be required. Then, the efficacy of a vaccine also depends on the system. Suppose if the system is not proactive in administrating the vaccine, so even if a person who is vaccinated, what will happen? He may be exposed to a lot of people who are not vaccinated. So, the force of infection or what we call the viral load will be more. So, in these cases, vaccine efficacy may be lower. See, the vaccine efficacy what is tested in a lab may be different from what happens at ground level. So, there is a particular term used for it, known as vaccine effectiveness. In lab-controlled conditions, it is known as vaccine efficacy. And in a ground level, whatever is the efficacy of the vaccine, it is known as vaccine effectiveness. Anyways, there is another factor which can affect vaccine efficacy is the maintenance of proper storage conditions. Like if the temperature is not maintained for storing the vaccine, then its efficacy will decline, isn't it? So, that's the reason that vaccines which require lesser storage demand, say supposed to be stored at temperatures of around 2 to 8 degree Celsius, generally enter into developing countries while that which require more storage demand, more expensive storage demand may not enter into these countries. So, these are the factors which affect vaccine efficacy, factors related to the vaccine, factors related to the population and factors related to the system. Well, thanks for watching the video. If you liked it, do press the like button, share the video with others and don't forget to subscribe to the channel Physiology Open. Thank you.


What's up trade hackers today is Friday July 19th Hope everybody had a great week. Welcome to this week's video review exclusively for pro members before we jump into the alerts Let's talk about who got caught being hot in the community Every week we'd like to recognize one member of the trade hacker community for helping other traders This week goes to our friend Chi Kong. So hopefully I'm saying that right Chi She's been in our community for quite a while Every day he's cheering comments. I noticed just making little little comments here and there this week started trading some share excuse me sharing some trade ideas and So keep up the good work. She love having you in the trade hacker family Congrats. You got caught being hot. All right, let's jump into the alerts for the week. What a crazy day And actually week it's been really quiet as far as the market's just been kind of Moving sideways as far as the stock market goes and then today was up about I don't know six or seven points Actually almost ten points at one point the S&P and then closed down 26 So apparently there was some news. I assume what the media is touting is the reason is the Iran Seized a British oil tanker So when the market didn't like that and and turned around so we'll see what happens Hopefully that's a good sign into next week of a little bit of down movement as well as some implied volatility spiking Definitely would help our portfolio needs them. We've got some we're carrying short Delta right now We're about four to one on our short Delta versus theta ratio For that for all you new members who've just joined when we are constructing our portfolio We like to keep a little bit of short bias. We like to keep a little bit of short Delta based on In a ratio based on our overall portfolio beta weighted to the S&P 500 so we want to take all of our different positions and Make them into basically all apples and compare those to the rest of our positions So we're not comparing all different apples and oranges and pineapples and different things So apples to apples we want to compare it to the S&P and that way we get an idea of our overall portfolios And which where we are biased and by doing that Gives us an idea of our overall direction And we like to be a little bit short because the market likes to take the stairs up and the elevator down as we saw today And so that's where we're at and we're about four to one on our ratio. So for every four short deltas that we have We have one theta and theta is our daily time decay. So that gives us an idea of how much Premium we are short versus how short our overall directional portfolio is so We've got some more information on that on our blog You go to our blog and look at how to trade options like a professional or how to Delta hedge your portfolio Search for those in our blog and you'll understand a little bit more about that concept But let's jump in starting with our first alert on Monday the 15th We closed out an iron condor that we put on on ex SPX So we we just released our newest strategy course, which is all about trading weekly options on the indices Specifically, what we'll be doing as far as alerts is on the SPX. So this is our weekly Iron condor trade that we had put on the previous week. We closed that out ended up taking a loss on this one Just never this just didn't stay in our range. So we closed that out took a loss on that one Next trade we did a rolling adjusting trade in Apple So we had a long put vertical that we've been holding for some of that short Delta exposure that I just talked about and When we get down into the week of expiration we before the options expire We want to either close these or roll them out and we went ahead and rolled this out to extend duration out to 32 days And we adjusted our strikes to accommodate for where price is currently. So if we go to Apple on Our analyze tab you see since we did this roll prices moved down So we've gotten back some of the profit Since we did that roll and just looking for a little bit more downside to benefit this trade Next trade was an opening trade in Baidu. So Baidu's got earnings coming up on July 30th Implied volatility has been declining as well as price has really been Consolidating in a very narrow range. And so with this trade we're really looking for price just to break out one direction or another and so that's what we want because typically in anticipation of an upcoming earnings announcement implied volatility is going to expand and then if we can get price movement Decent price movement out of the range in either direction. That's what we're looking for in a long straddle before earnings So if we look at Baidu Baidu did make a move a little bit higher today And so you can see we're down a little bit on this trade if you look at where we're at going into earnings Here's what's interesting is we've just I mean we put this on hoping that implied volatility would expand and implied Volatility is just really contracted and so hopefully going into next week We get some expansion going into earnings as well as a little bit more price movement and and that'll benefit our trade So that's what we're looking for into next week, but we'll definitely close this out before earnings on 730 Next trade rolling adjusting trade in Goldman Sachs. So this is one that we put on for some short delta exposure we put on the long put vertical and Very similar to the other one is this was down to three days to expiration and we rolled this out to August as well Adjusted our strikes and just keeping that short delta exposure in our portfolio. So if we take a look at where that's at now You can see again kind like the other ones come down since that roll We're up about three hundred dollars since that roll But just looking for some more downside before we do anything there So what we might do is is we may either close this one out if we continue get some downside action Or we may even roll it out to September to extend duration Capture that credit and continue to keep that short delta, but we'll see where we're at with our overall Delta theta ratio at that point So that's where we're at on GS Next trade was a opening trade. We sold a strangle in eBay So eBay had with implied volatility as low as it's been in all the indices like SPY IWM and a lot of the markets across the board You've got to start getting a little bit creative and looking for other opportunities And one way to do that is to look for stocks that have earnings announcements So in this case we looked at eBay, but instead of doing the Nearest options which at that time had two days to expiration would which would be a true earnings related play We ended up just selling the August which had 30 days to expiration by doing that you're getting more credit You're widening out your wings excuse me, you're widening and widening out your spread and And you're hoping for price to stay within that range and basically you're just treating it as a core monthly option trade Because what will happen is after they announce earnings even though you're in the strikes even though you're in the cycle with 30 days You're gonna get that IV crush It's not gonna be as dramatic as if you traded that two days to expiration But you're still gonna get some contraction and it did exactly what we wanted We we ended up Closing this out for over 35 percent of max profit within just 24 hours And so we are in and out of eBay nice trade there and You know, there's nothing wrong with doing it either way, you know two days to expiration You're gonna have a little bit more more narrow range You're gonna collect less credit, but your implied volatility crush is gonna be greater So you're gonna get that profit quicker But with 30 days you're gonna widen out give a little bit more duration and we're just looking for Positions to put on into our core portfolio, and that's why we chose the 30 days in this case Excuse me need to get a drink. All right Next trade rolling adjusting trade in XLK So another long put vertical that we were hoarding holding for that short delta exposure and again We just rolled that from July which had two days to expiration in this case We roll it out to September was 65 now remember We typically like to enter trades and stay within that 30 to 60 days But this is pretty much a directional play And so I don't mind going out a little bit further in duration to kind of diversify the time frame that we're in these trades And so that's what we did here and we adjusted our strikes from 78 73 down to excuse me up to 85 80 And just extended that duration kept that short delta in our exposure Skipped out on the August cycle and went straight to September. And so let's take a look at XLK Moved down slightly. It's pretty close to where we rolled it up a little bit of money in it Since that role but pretty close to where we where we rolled that now keep in mind Remember when we're rolling these positions, you know, we could just close them out and take a loss But in this case, we want that short delta exposure I mean this market's been very strong And so just to play the cyclicality of the market we wanted to keep short delta And so we could have closed this out But then we would just be going and looking for another short delta position So what we like to do is we like to stick with certain positions and use them almost as hedges and continue to To roll those and you know, eventually the market will get that cyclicality We might get some downside action and then we can choose to, you know, get some of that profit back and or close it at that point But at this point, but at this point XLK is one of our short positions that we've been rolling and we will continue to do so And that's the other reason we chose to go out all the way out to September is because we know we're gonna keep this For some time and so no reason to roll out to August and then a little while later have to roll out to September Along with diversifying our cycles that that's part of the the concept there Next trade closing trade in IWM. So we've had this iron condor on for quite a while We've been kind of adding positions taking some off rolling some going on and off Well, you know at some point, you know, we at this point, we just IWM the applied volatility the IV percentile is down to 24 We had an iron condor on And so and you know, you don't we don't really roll full iron condors So in this case, we just opted to close it. We took a loss You know after After some time and sometimes it just makes sense to close out trades especially if the implied volatility is low and it wasn't giving us any Specific directional Delta that we needed. We did we certainly didn't need any more short Delta We could have closed out the put vertical side and just rolled the call vertical side But in this case, we just we just took it off and took a loss and and now we have that capital So if implied volatility does spike next week, we have more capital to put on some additional positions So that that was the case in in IWM now for those who just put this on and didn't have all the past Iron condor pieces on we booked a really nice profit on this piece In fact, it was about 85 percent of max profit We're just trying to squeeze a bunch out before we close it out Worked out well and we closed that piece out so We are out of IWM at this point Next trade rolling adjusting trade in DIA again. This was down to one day's expiration We went ahead and rolled out to september with 64 Addressed our strikes accordingly. So we take a look at DIA. We've got two different sets This is the one in september that we just rolled right here right where we rolled at no p&l yet And then we've also got this other set that we had already rolled out to august You can see prices is well within range Down slightly from where we rolled it but just again looking for some Downside direction to benefit that trade both of those trades Next trade opening trade in spx. So we added another spx iron condor In this case this one had eight days to expiration remember from our course We like to do it between seven and nine days this case. We did it right in the middle Just like just like we teach we'll exit with one days to expiration or If price gets to a point where it's it's over 50 percent Of our initial credit. So we collected a credit of 21 65 Take half of that add it to that number and that's where that 32 it's actually 32 47 245 is what you get But once we get it to a price of about 32 40 if we get to that point That's where we'll exit is kind of a theoretical stop loss Now i've had some questions about hey, you know, why don't we manage these early like we do the rest of our trades And the reason is is because with these weekly options. We have this Short duration. We've got this gamma risk that we have to be more aware of That's a lot more severe than our monthly options. And what that means is smaller moves in the underlying index Can can move your p&l a lot greater. That's what gamma is. It's that is that risk of movement and so When you have this these short duration options, they they work a lot differently. And so that's why we created this whole strategy This whole course around the strategy of these short term options where The most optimal way to do this is to exit with one day to expiration or on the losing side if it gets to A price that's 50 percent of your initial credit So you add your 50 percent of this number to your initial credit and that's where this came from So that's how we manage these if you manage them early Your overall profits over time are not going to be as good. It's a very good Strategy very profitable, but you have to manage it like this You can't manage it like you do our core monthly income strategies Anyway, so that's the opening. Let's go the let's take a look at where that's at. It's pretty centered here We're up about 137 bucks since we put that on so just playing the waiting game into next week. Hopefully it kind of bebops around stays in our range and we can book a winner in uh in that one All right next trade rolling adjusting trade in spy So we had a short call vertical that was recently part of our iron condor in this case We ride yeah, we rolled from july with one day just out to august again There's nothing wrong if we wanted to roll this out to september, but in this case, we're just we're just We're just kind of Diversifying our timeframes. We're diverse diversifying our role. So in this case, we just roll that to august and uh and adjusted our strikes accordingly And so let's take a look at spy Take a look here. It's pretty close to where we roll that We've gotten back a little bit of money since we've done that roll but pretty close and you can see we're in august in this one Next trade was a closing trade another spx weekly trade in this case We had a double calendar that we put on last week with just one day in expiration We needed to exit so we went ahead and closed that out and he ended up scratching out a small winner uh Obviously if we you know if we held on a little bit longer the market moved up the next day And we could have booked an even better winner But hey, that's hindsight trading. You don't want to do that be mechanical That's exactly what we did and we went ahead and scratched out a small winner on that trade Next trade closing trade in fxi So similar to iwm. We had a we had an iron condor in fxi. We made several adjustments Uh got down to the point with this one with just one day to expiration We had a remaining short call vertical on in fxi and we could have rolled Uh, we weren't necessarily at that point looking to continue to keep more short delta And with implied volatility super low at two on the ivy percentile We ended up just closing this we had a small profit on the trade overall So we just went ahead and booked that one Next trade was a closing trade in ebay. I already mentioned that so we put that earnings We put that trade on right before earnings when implied volatility is inflated very next day booked over 35 percent of max profit Got that ivy crush, uh, which which gave us just kind of a nice quick profit on that one So good trade in ebay And lastly we did a rolling adjusting trade in es. So this was the s and p 500 futures This is another one that we've just been keeping for that short delta It's a long put vertical and we went at this one today was the last trading day And listen, we don't we don't like to keep our trades all the way down to expiration day But with remember with futures options on futures You can't get assigned the only time that you get assigned is if you hold those after the options actually expire Which would be after the market closes today on friday So we have all the way up until expiration day to do something and that's what we did on this We just held it all the way up and then went ahead and rolled it out to september And uh and adjusted our strikes to keep that short delta exposure In our portfolio. So if we look at es You see that that's the one that zeroed out that we rolled And here's the one we and then after the markets down moved today We already gained back a couple hundred bucks after the roll Which is good and then we're just holding that for some more downside exposure So those are all the alerts. Let's take a look at some of the other positions starting with oil See, we've got this strangle on got a little bit of profit definitely not enough to take off yet looking for about 30 40 50 percent of max profit before we booked that one I just showed you es Gold so we've got this short call vertical that was originally part of our iron condor and gold looking for some downside movement In that these options expired next week. We've got six days And so we'll look to either roll or close that next week In addition to that, we've already got another centered iron condor right here Which has got a little bit of profit and this one is out in september What toss displays is september, but it's the option cycle with 39 days And so we've got both of those pieces in gold Natty gas natty gas has been weak this week A big down slide in natty gas. We're hoping for just a little bit of a pop higher We're considering closing One of our one of our pieces in that gas, but unfortunately it turned on us went down So you can see prices has moved down out of range here if we look at just our calls I can see we still got a decent amount of premium left in those so we're not looking to adjust down yet at this point But definitely looking for a rebound Back into range on natty gas ZB 30 year bonds. We've got this adjusted short strangle here You can see it's it's been just kind of hanging out right here in this range. I mean it's bounced down bounced up It's just going to be bopping around in this range Well, I'd like to get another Another piece of this trade on and if you look at the options here We've got 35 days left in that in the in the cycle that we're in If if we look at the continuous contract here The next cycle out would have 63 so next week we're getting down to our Within 60 days to expiration. So we'll probably look to add another piece out in the next cycle Kind of centered around the current price now if we make a sharp move lower and we're centered We're not going to add another piece But if we stay around here or move a little bit higher We'll look to add a centered strangle around the current price in ZB So that's the plan there wheat we've got two iron condors here in wheat On this one here price had moved out of range, but there's still a decent little amount of premium left In that untested side in the call vertical side. So we just held on and now And then later in the day price moved up over 2 back into range So we're just holding steady there Then the other piece we have still in the same cycle is another iron condor And you can see it's pretty centered. We've got some profit, but not enough to take off So just playing the waiting game in a wheat. Hopefully we get some price ping pong action and we can Book profits in both of those apple We've got a we've had a little bit of down movement here later in the week Giving us a profit since we've rolled this trade still down overall But just looking for some more downside to benefit that I mentioned Baidu John Deere de we've rolled this one and just looking for some downside to benefit that DIA I mentioned that one. We've got two sets of short call verticals Goldman Sachs I think I mentioned this one Yeah, we we've we've already moved down significantly since we rolled that one So just waiting for a little bit more downside before doing anything there Intel So we've got this adjusted strangle earnings are on 7 25 Price is hanging out right here if we can get some down movement And and get to a point of profit. We're down about about 200 dollars on this trade right now So if we can if we can move down and and get in a profit before earnings, we will Most likely we won't and so we will hold this through earnings And and just you know continue to manage as necessary when implied volatility gets crushed after earnings Assuming price stays within our range. We might be able to just take it off for a profit If not it we will continue to manage as we always do mechanically IYR we've got this real estate ETF price came back nicely in a range today We were you can see this theoretical position. We were looking to set up and add to this position Back when price was around 89 We didn't because I'd rather wait until next week until these options get out until under 60 days And we'll add it in september to diversify our Our cycles there But so that's where we're at on IYR implied volatility has stayed decently high It's at 51 on the IV percentile And so hopefully we get some continuation to the downside In IYR and we may not add to it We may just book this profit if it stays in our range And we get to a point of about 30 percent or so or we may look to add to it. We'll see where we're at with everything QQQ we've got two steps of short call verticals both of which are in august Very similar strikes. These are both them combined combined. So you just looking for a little bit of downside movement in QQQ SMH I got a question on this one here. We've got in the community. I've got price out here near the break even The question in the community is why not just close this for a loss? Well, I mean you could if that's what you want to do if that's what fits better into your portfolio But we've got a tiny bit of premium left in our put side But if price continues higher, we're just going to stay mechanical And roll our puts up to about the 30 delta And then we've got this piece here It's kind of hanging out in the upper end of the range. It has breached our short strike But there's again, there's still a tiny bit of premium left in those short puts But in the next week if price continues higher, we're just going to roll up our puts We're not looking to close this out We are just going to continue to collect those credits and play the cyclicality of the market I mean you've got this massive move to the upside, you know some point SMH is going to Cycle down and so we don't we don't want to just if we get a big move against us We're not just going to close it out that you know that just takes away the advantage of rolling You know you roll your puts up if you if you get an extended move in one direction to the upside You roll your puts up you get an extended move to the downside you roll your calls down And over time that's going to be the most profitable way to trade You're not going to you're not going to be better off just closing out the trade now Are there cases when there's absolute astronomical moves in one direction where it would have been able Would have been better to just close it out Sure But that's that's we're playing the probabilities and that's not the game And so again if you want to close those out If they get to a certain area that you don't want to call uncle fine That's great and and in fact if your account is smaller And you need to do that just to eliminate large losses then then that's what you should do but you know with with putting on positions booking winners and managing your deltas and managing the portfolio like we do On a thing like smh We're going to continue to manage this and roll up our puts and collect credits roll out to the next cycle That's how we manage just like we teach in the course I mentioned spx. I mentioned spy. I believe yep Walmart so this is another uh pre earnings trade we put this on as a Long strangle so price was kind of in between strikes when we put this on So we just widen these out a little bit. We manage it Just like a long straddle just like a pre earnings long straddle So in this case we're looking for implied volatility to expand going into earnings And a decent move in direction either one way or another Take a look at a chart of walmart. I mean this thing has just been grinding grinding grinding higher So I didn't want to put on a pre earnings long call just because of this extended move higher But uh just put on a long straddle now We've gotten the expansion we wanted in implied volatility But we just haven't gotten the price movement price is kind of consolidated here So we need a price move a big price move down or a big price move up Leading up to earnings which we've got a long time. We've got until 8 15 august 15th Before that happens. So that's the plan in walmart and then last one's x. Okay. I already talked about that one So that's it everybody have a great weekend And hopefully we get some of this continuation to the downside in stocks that we saw Late in the day on friday we can that's not only going to help our uh current portfolio Which has to our delta, but it's also going to provide new opportunities to add positions. So That's the plan. Look forward to next week. Everybody. Have a great weekend. Talk to you then


Welcome everybody. Can you hear me? Loud and clear. I'm Brad Topol from IBM. This is Ton No from IBM. And Yin Ding from Hawaii. And we're here to talk to you about Kubernetes on OpenStack. What's available and where are the gaps? So just a quick overview of why you're going to want to integrate OpenStack and Kubernetes. That's always fun to talk about. We'll then talk about how it's done. What are the integration plug points? And then we'll talk about the different specific pieces of OpenStack that we're leveraging. The identity access management component of OpenStack. Also notice Keystone, Networking. Many of you know it as Neutron. And the storage components, Cinder and Manila. So this is really one of my favorite charts. So why are we going to integrate Kubernetes with OpenStack? Well, let's take a look at this from both sides. From the Kubernetes side, why are we getting interested in Kubernetes? Well, I've had the pleasure of going to KubaCon in Seattle and in Berlin. And it's an incredibly hot open source community. A lot of energy, a lot of participation, a lot of vendors. Kubernetes provides a nice usage model with a constraint-based approach with controlling the number of replicas, auto-scale up, scale down, lots of other features organizing the pods. So it's really becoming a popular approach for managing and scheduling containers across clusters. But if you're going to deploy Kubernetes, if you can go to a public cloud, well you can go to that. But if you're going to deploy it on-prem, private cloud, well, you're going to need some type of underlying infrastructure to support that. And, you know, you're going to figure out how to do it. So one of the things we'll talk about is why OpenStack is great for that. Ideally an automated process, which again we'll also talk about and what you'll need. Now let's get to the other part.  Kube's getting really hot. Now let me put my OpenStack hat on.  OpenStack's a really great platform for deploying Kubernetes. So what does OpenStack have to offer? Well, OpenStack's got some major components. Identity, storage, networking that they've been working on for a long time and they're very mature. And let me give you an example. Cinder. Anybody know how many different drivers are supported by Cinder? Anybody? It is right at 100. Thank you, sir. You've got 100 drivers in Cinder already there. And, you know, one of the critical things about having drivers for those third-party vendors is, well, how good are they? And how much CI is done? And on those hundreds, do you know how many all have third-party CI set up for? Anybody? Anybody? All of them! So you've got this component sitting there with 100 incredibly well-tested drivers for probably about around 25 vendors. That's the things that folks need for, you know, stability, make their lives well, sleep at night. And we'll take another quick example. If you look at the identity component of Keystone, former PTL over there can't answer. But one of the nice things about Keystone, it started off with some basic identity authentication support and very quickly added LDAP support, MSAD support, multiple LDAPs. If an insurance company had 25 LDAPs, it could support that as well. And then it moved on to federated identity support. So all of that smarts with SAML and OpenID Connect, all of that already available in Keystone. And so why wouldn't it be great to be able to reuse all that? And finally, you're going to see areas where folks already have OpenStack deployed. They've already had it connected up to their LDAP and they've created their groups. And now you come along with Kubernetes. Guess what? Those customers don't want to reset up those groups and reset up everything yet again. So anytime you have one of these situations, whether it's a... We learned this when we were putting Cloud Foundry and OpenStack together. If you're going to put Kubernetes and OpenStack together and they're having the same environment, those folks want to reuse as much as possible. And so that's another reason to want to put those things together. So how's it done? Well, Kubernetes has a nice plug-in model. They've got this Cloud provider interface and it can work with OpenStack, GCE, AWS, Azure. They're doing a really nice job there. And so there is a place as the different components of Kubernetes want to access storage or networking or authentication-type components, there's a nice place where that's encapsulated and where it can be called. And so you'll see there's work done there in that Cloud provider. And that plug-in will, again, support stuff for identity networking storage. And these guys on stage who are much smarter than me through those technical details. And all this code is available. You can go find that Cloud provider interface in the Kubernetes repo. It also uses a nice SDK, the Gopher Cloud, for integrating into OpenStack, so you can look at that. And then there's a repo where you can see where it's all provided. And how do we pull this all together in OpenStack to make this easy and automated for you to leverage? And that's what these guys work on. The Magnum Project delivers all that. So why don't we get into the ROP stuff? Thank you, Brad. So let's talk about the identity management. So in any system, you can expect the identity management to be the key component of that system. So in OpenStack, Keystone provides that service. So you can expect that Keystone is pretty robust. It's pretty well integrated and very well established in the enterprise. And in any system, it will also be populated with the user base already. You can expect to be integrated with a product like LDAP or Microsoft Active Directory. And in some cases, it might be even federated across a different organization. So in terms of the code, the interface between OpenStack and Kubernetes is in the Google Cloud package. So what you have to do before Kubernetes can talk to OpenStack is that the Kubernetes has to authenticate with Keystone to get a session. And to do this, you need a user credential. So what you have to do is, in the config file for the plugin, you have to put in your user credential. And then once Kubernetes authenticate with OpenStack, it also gets along with the authentication or the authorization for the user account. So it gets all the code or what service you can access to. And in fact, this is where multi-tenancy come into the picture. Now, the config file is a plain text file. So if you are concerned about security, because you might be running container on the same host, then a better approach is to use Keystone trust. So with a Keystone trust, then you can limit the scope of that trust to a much smaller scope. For instance, you can define a scope to work only for the Kubernetes endpoint. That way, if the trust is compromised for some reason, then the security exposure is not too bad. So when we use Magnum to build a Kubernetes cluster, then all this is automated by Magnum, and it just works. Looking to the future, then you can start in the last talk that multi-tenancy is coming to Kubernetes, probably later this year. So there's still a concern about whether we have enough isolation between containers for different tenets. But anyway, if when we have that multi-tenancy support in Kubernetes, then it would be good, it would be natural to ask whether it makes that sense to use Keystone in Kubernetes to manage the identity. All right. So next, we'll talk about networking. Networking is pretty complicated. So there are many ways to implement networking. So what I show here is one way to do this. It's not the only way, so I'm for sure. But when you run Keep Control to, let's say, launch a pod, you know, that pod can go through the networking layer to talk to any other pod in the cluster. So here you can see what I have here is the pod on the left side being connected to a VETH interface to a bridge, and then from the bridge it goes to the network interface of the host, and then from there it goes out to the network and then it gets routed to another host and the other pod resides, and then it goes, you know, that's how it gets to the other pod. Right. If you run Keep Control to, say, expose a service, right, what happens there is that the Kubernetes will talk to the cloud layer to get the load balancer and float the IP so that, you know, your service is now accessible from outside the cluster. So what I've done here is that I kind of grouped them into three groups, roughly based on how they are implemented, and I'll go into each of those in details in the next couple slides. So first the network interface, right, so what you have to do here when you create a pod or delete a pod is to set up the network interface so that pod can talk to the rest of the network. This is done by Kubernetes running on each of the nodes, and you can tell Kubernetes the network driver, the network driver that you want to use to do all those setup. Right now there are two ways to do this. One option is to keep net. So keep net give you the very basic network configuration where the pod are connected to a bridge, and then from the bridge you go out to the network. So that's the simplest basic implementation. Another way is to use a CNI driver. CNI driver is basically a piece of code to implement the container network interface spec. There may be many of these that are available. So for OpenStack, the career team built a CNI driver that you can plug in, right, and what you get with that driver is that you get a native neutron support in your Kubernetes. So what happened there is that the node that the VM is running would have a neutron transport, and when the pod is created, then the career CNI driver would create a VIF on the pod and connect it directly to the transport. So you have a pretty simple interface. So the advantage here is that being all neutron, you can now leverage all the network driver that comes with neutron that comes from the network provider. So that's a nice thing to leverage. The other advantage is that, again, since it's a straight neutron private network, you can put VM on it, and that VM would be able to access all the pod. You have VM and pod living on the same network. Looking into the future, the career team is working on improving the performance for all these setups, and they can come up faster and perform better. Now, one thing I want to note is that this kind of network setup is still in alpha phase, so we can expect a lot of change in the new future. So that takes care of the setup in the network interface. The next step is to take care of the routing. So once you get out of the network, how do you get to the host? So the requirement here is that any pod has to be able to reach any other pod. So this routing is set up when you build the cluster. Do you take care of all the configuration and so on to set up the routing? It also happens when you add a new node to your cluster, so that's kind of like in the infrastructure layer of the cluster. So to get this kind of routing, one simple way is to use an overlay network, like Flannel or Calico and so on. So with that overlay network, all you have to do is attach the pod onto the overlay network and then the overlay takes care of all the routing for you no matter what the nodes are. The disadvantage, of course, is the overhead for the encapsulation. In a talk in Tokyo, we show some performance measurement of what the overlay network would cost you, and it is pretty significant. Now, the good news is that for Neutron, for our cluster here, if you have all your nodes running on the same L2 network, then Flannel has a mode called host gateway where it actually avoids the encapsulation and just creates an IP rule to do the routing for you. So with that, the performance is quite good. It's good enough to use Flannel in production. So looking at the future, we know that with the Google Cloud Engine, they have native routing in their fabric so that all the routing happen automatically. You don't need overlay or anything like that. So we do have Neutron routing also, so it will be natural to look into whether we can do the same thing as a Google Cloud Engine. I think the crew team is working on this as well. Third, we look at the external access. So why do we need this? So we know that when you have an app running on a pod, you don't want to use the pod IP to access the app because the pod is not stable. It might die and come back with a different IP.  Now, the service does have a load balancing mechanism inside it so that it can load balance against all the pod behind it. But the problem is that the IP for the service is still local to your cluster network. It's not visible outside. So if you want to get in from outside and then get to your app, then you need more support. And this is where the load balancer from the cloud comes in. The plugin for the Kubernetes would talk to the stack and request the load balancer for you so that it gets automated. The plugin code right now supports both Elbas version 1 and 2. And again, if you use Magnum to build your Kubernetes cluster, then all this is automated also. It just works. So for the future consideration, the code for the plugin is fairly complete in terms of supporting the load balancer. But there's a few things that we can add to around our support. We get add support for region. Right now, it only supports the current region. We can also add automation for full time piece. So that helps you a little bit also. You can see that in the demo. So with that, let me pause and show you a quick demo. This is a recorded demo. So what I have here is I use Magnum to build a small Kubernetes cluster with just one master and two nodes. So it builds pretty quickly. It's about just take about a minute. This is just DevSack from code from master about a week ago. So do a cluster list, and you see the cluster that Magnum created. You have one master and two nodes here. If you look at the Nova instance, we have three Nova instances here. So now we don't have any load balancer yet. It's all empty. We look at the load balancer. And if you look at the floating IP, right now I have three floating IP, but for each of the Nova instances. So that's the initial setup when you create the cluster. So what I do now is I'll do key control to start up two instances of the Internet two-part in a deployment. So those parts are coming up. So this is a detail of those two parts. And then what I do next is to run another key control command to create a service. And this is a service where I would request the load balancer. So you can see that here the service come up, but you get the cluster IP, which is internal to the network. And then you have the external IP.   And then eventually you get the load balancer running. And now you have the external IP, which is the IP for the load balancer. That's a <IP_ADDRESS>. So once this come up on the open stack side, you can also see a whole bunch of resources that get created alongside with the load balancer. You get the pool. And you get the member or the pool, which are the two nodes of your cluster.  So all those get created by the plug-in code. So now we're not quite done yet, because the IP for that load balancer is still an internal IP. It's live on the network cluster. So now what I have to do to get it outside is to associate a floating IP to it. What I just did in the previous slide is to create a floating IP. Now I go back to the load balancer, and I'm going to associate my floating IP to the load balancer. So I look for the VIP port of the load balancer, and I do the floating IP associate. So this is part that right now we still have to do manually, but we can imagine adding the support to the plug-in so that this happens automatically. So now you see that the floating IP that I just created is associated with the load balancer, and then we can do a curve on that IP, and we get the default page for the Internet that comes straight from the pod. All right, so that's a quick short demo to show you how Kubernetes is talking to Overstock and working together. So with that, let me pass to my colleague, In. He will talk about volume. Hi. Now it's my turn talking about storage. So last year in Barcelona, I talked about how we use Fushi plug-in to connect the Kubernetes to Cinder and other stuff. So here I gave a more detailed chart so you can see the client talk to Kubernetes master. Then Kubernetes master go to the agent and talk to Kubelet, and Kubelet talk to our driver. Then we can pick what to connect next. Either Cinder in the bare metal case, in the VM case a little more complicated. You need to connect both Cinder and Nova. I can show you what's next. In the next slide, a little bit more detail. So with this, using the Cinder volume, let's say, we support multiple different storage drivers and from different vendors. So it solves a lot of problems. You don't need to write individual drivers for your container cluster. And also, you can pick your choice, say, I only want to connect to individual drivers directly. It's also working. And also with this Fushi plug-in, you can connect to the raw device directly. So then you do the formatting and whatever you want to do with this storage. And I'm talking about here, as Brad mentioned in the opening talk, integrating with Cinder, giving the users a lot of convenience and a wide range of storage options. So you don't need to write your own drivers to get this benefit automatically. So now I'm going a little bit of detail, say, what's the performance? After last year, we talked about the Fushi, how they connect to the volume. We solved the problem, say, connect storage from OpenStack to the orchestration of a container. However, we observed a little bit of performance issues, say, OK, is that slow? So here I gave a detailed call chart, say, what's happening behind the scene. So you can see when you call, say, a creative volume and attach it, so what's the secret of the operation? First, you call the Cinder volume, say, RESTful call, say, create volume. And behind the scene, Cinder talked to Noah, say, and fetched this volume information. And Noah got to the connector information, then Noah called Cinder, say, OK, you need this connection, and call storage RESTful API to do the volume mapping. And then Noah used this LeapVirtual iSCSI volume driver, and this method called connect volume. And let's hold to scan this disk and do the initial formatting, then attach this volume to the host. And then Noah called the Cinder API to attach this volume to finish the volume status. So that's our observation. So I set up a small environment about 8-core, 8GB. Everyone stack is about 24 cores and 24 GB of memory. And the host is about 8 cores and 8 GB each. So the command I run is volume driver fushi and to connect this. In this test case, I already pulled the image back. So the time span, it doesn't include any docker pool from pull the image from the docker hop. It's pure analysis about this plug-in performance. So you can see the 1, 2, 3, 4, 5, 6. I highlight some numbers in this chart. So the longest time we span is back to the previous slide. It's number five. The host attached the volume. So this one is related to the dot volume size. The bigger the volume is, the longer time you spend on this operation. And the second one is in the crit volume call. It's about 1.5 seconds. You can see the speed in here. And the third longest time we span is this volume mapping in the number four. It's about 0.7 second average. So this raises the question, say, can this plug-in operation keep up the speed of the container cluster? Because we average, I think average container life span is less than 20 seconds. So we spend about 80 seconds here to the volume. And it apparently slowed down the performance. So here we say how we improve this performance.   So you don't need to spend this time to waiting for the crit volume call. So it's save about three quarters of the time it's spent here. But it's still about two seconds to spend among this volume to the container. But in the bare metal case, we don't need to know what we can use in there. Directly you talk to the volume. Actually, this performance got improved a lot. So in the bare metal case, much better performance. Then I don't have demo here, but I can show we also tried to use Manila to do a file system. So basically it's a file stage can help you. So in the share storage, we're using Manila to create a share mount point. So then the PVC, the performance is in the VM case, the machine case, makes it much faster. So probably next time if I have more time, I will show a demo to show this. And let's do a quick demo. So here this first demo is to show the sender plug-in cases. You can see initially there's a no sender volume, then we create one. Now we can see we create a new sender volume. And we use this ID we put in the Kubernetes YAML file and we replace here. Then we create a Kubernetes cluster, use the kubo control. Now you can see the pod is creating and created. And we can see this sender volume is attached as in use. So now we just use normal to find out the host that we are using to host this container. Now here we are trying to connect to the host container and show what exactly, I mean, actually the volume is attached to the container. Here is the container ID. We log into the container, use the Docker command. Here. So yeah, here. Yeah, we can see here the container mounted this volume in use in this directory as we specified. Now we delete this pod. We show the PV and the PVC cases. Now you can see the sender volume is available. So this is the PVC cases. So we are going to mount a volume in that directory inside the container. Now we create a pod, the pod. Yeah, it takes about 30 seconds. So the pod is bringing up the container. It's running. So we can see this is the PVC volume. And there's one gig as we specified. Here is the sender volume. It's in use. So that's the case. Let me show. Let me show another one is to support my cases. Oops. So here I show you the performance of what's going on for this Fushi plugin as I mentioned how many times. It's about one minute. I just want to show you the feeling you can see. Here we create volume. It takes about a few seconds. So we create one as a device here. And then we try to mount this to the VM. Here you can see as the mount takes about less than a second. However, the create takes about two or three seconds. So I just say we can operate on this volume. Now you can see even the detach takes some time because we need to give the information to no one. This communication takes some time. Now it's deleted. So it's got deleted. But as you can see, it takes a few seconds. So now I'm talking about a little bit more advanced topics. So initially when the container introduced, we were talking about, say, okay, the state is micro services. But now and now when the containers are well-used, people are talking about, oh, we need some stateful container and we need to protect the data. So here I'm talking about the potential work we are investigating to integrate our effort with COBA. COBA is the OpenStack project. It's focusing on protect data and metadata for the application. So it provides a standard framework API and services so we can integrate our vendor mechanism and to protect and unify the workflow for the users. So with this, we can provide a snapshot and the replication. The snapshot in the Kubernetes Storage SIG we were talking about by next week, we are going to release an alpha version of a snapshot API. So snapshot is really useful for rolling back or upgrade cases. So in the stateless cases, for the container, when we do the upgrade, we just upgrade directly. If there's something going wrong, we just roll back and kill the new version and roll back to the old version. However, in the stateful cases, we cannot do this because the data may be changed and metadata may be changed. So it's not compatible with the previous version. So what we do is say, okay, we need to take a snapshot first and we do the upgrade. If there's something wrong, we need to roll back to the previous version of the containers or container clusters. We attach the... We roll back to the snapshot we took and attach them back to the container to ensure that the data is compatible with your services. For the replication, it's basically trying to protect from any hardware failure or network failures. So when you disconnect it with your storage, in the stateful cases, it's a disaster. So that's why we try to integrate the cardboard to using this replication data mechanism to replicate your data. So we are able to recover, even if we have a hardware failure or a storage failure. So the fushi we are talking about putting another effort we are working on with OpenSCS. So OpenSCS is focusing on how Kubernetes with OpenStack and other infrastructure layers. So we can do storage discovery. So basically you can bring your new storage. This OpenSCS controller tries to do the scan and discover and add your storage to the existing storage cluster and do some lifecycle management for your storage and provide the data protection as we mentioned. So fushi basically will become the first layer as a plugin layer for the OpenSCS project. So what in blue is OpenSCS. The top layer is the plugin basically talking to... connect to the container orchestration layer. Then the controller is the core. So it's do the storage discovery, backup snapshot, something like that. Then we have the driver. We can connect to Cinder driver, Manila driver, and also other storage. So here is some information. That's the links. Let's get back to Brad. Thank you. Clothing. Sure. So what have we done? We presented how OpenStack. It's an excellent IaaS option for Kubernetes. It provides you multi-tenancy, good efficient utilization of resources. Gives you lots of storage driver options and lots of authentication federated identity options. Lots of things going on. All of this out of the box. Really what you're looking at and a theme here is looking at great open source technologies, open source communities, and combining them to give folks like you the best-to-breed option. That's what we're focused on. It's active development. We've looked at the different code and where the different pieces are and where they fit together. There's more improvements that are possible in the near future. So on that note, we're happy to take questions. Don't be afraid. I think it's scary out there.  People know we are. Oh, yeah. Thank you. There's a mic right behind you, sir. Hi. Thanks for the presentation. I have a question with regards to load balancing. I was kind of curious. What was the reason to use Elbas and Kubernetes already providing you load balancing so it's kind of redundant? It seems much simpler solution just to pass the floating IP to the Kubernetes so it would use it as external and perfectly do the load balancing. That's a good question. Thank you. This is something we... There are two part of it. The first thing is that the service, as I mentioned, does do some load balancing with it. So that happened within the internal network of Kubernetes. So what happens then? If you have a part that access that service and behind that service is a bunch of other part, then that service would do the load balancing for you. But that's only internal. There's no way to get into... to see that service. But I guess your question is whether to just attach the floating IP to the service. So we can't quite do that. There's a long... If you look at the discussion on the Kubernetes discussion, there has been discussion on that. And when we start doing this, we also ask that question to the Kubernetes sign and it's not quite... You can't quite do that. Thank you. Anything else? Going once? All right. Thank you, everyone. Thank you.