you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you you hey hey hey I hope you can hear me I hope you can hear me and see me also and see me also yes you. Oh yeah, so I am making sure that my camera works and... Hey guys. So I was you know piddling around with the camera settings which are really complex you know it gives me resolution settings and choices of you know aspect ratio and you know bit depth and a bunch of other things like you know it's crazy and that is should not be presented to the user I mean these are details that are necessary for the software to work but in this case of software that I'm using it presents to me all the technical choices that I am supposed to selecting from which is obnoxiously complex even for those who know what it is there's no need for me to select it every single time just remember it but apparently that's not how it's designed. So how are you guys doing today and I am looking at your screens and I was wondering if you are ready for a short video discussion, a face-to-face discussion. Are you guys ready? Yes, looks like people are. Hey I can see Rob, I can see Justin, see David, Kevin. Hey guys and so that's good to see you. Trey Hill shows up. Hello Trey. So my goal is to not you know spend too much time but just focus on quickly accomplishing a goal that I have which is I think I already told you briefly is to make sure that future participants in the boot camp that come will like to know what this thing is, how is it useful, what do they take away. So that's the question I'll be asking you and you know let's spend like 30 seconds each one of us and speak your mind whatever it is that you think you know the questions like you know you can randomly choose to you know talk about whatever you like, you can sing a song, sing a poem, whatever that you know I think it was what but what was that Humpty Dumpty or something like that yeah that's okay all of that is okay I mean just be natural. Rob and a little teapot. Teapot is fine and just you know get to express the ideas the core things that I want you to think about and express and I will be by the way editing this in form of a short overall maybe two minute long video and I give it to you to see what I did. I'll capture the video recording like I'm doing right now and then I will you know prepare a short little video footage and give it to you and you know publish it on other places and that's what I will be good that is my intention is to use this for other people to consume as to what is the boot camp about so yes we will be recording this and if you don't want to show your face that is totally okay I mean I understand your privacy and you want to hide your face you can shut it down don't participate totally fine with me and nothing nothing here today is forcing you to do it you do it only if you want to only if you volunteer to do it so one thing completely optional don't have to do it just repeating that one more time just shut your camera down if you don't want to participate that's totally okay speak your mind be yourself you know tell me about three things why did you join what do you what are you doing how you like it and what are you taking away that's the three key aspects and to just be natural conversational I have think I have set my settings to bring your camera upfront when you talk I think let's test it so can you one of you say like Rob say hi hi yeah so I'll see jobs a video camera did not pop up because his microphone is coming through his machine and his face is coming through the iPad so that's the issue I thought I'd wait I will run into which happened so that's the reason I probably because Rob's using his microphone from the other machine from which he is not presenting his video so now can you speak Rob hi I I guess I think we understood the issue so Rob did not speak apparently so you're right my video is not showing up because I have my can you can you mute yourself on the other machine and unmute yourself on the iPad that should fix it and that should take it off yeah thank you and so let's let's begin discussing you know with any one of you who wants to just go really short sentences like why did you how did you find out about it how did you join the cloud genius and now I plan to finish the whole thing in like five minutes the total yes yes it does so that's great let us let's begin so okay so the reason I join cloud genius and the bootcamp is to fill in all of the little details that I never got to get with all my development and self teaching so this is another way to be able to quickly learn and quickly absorb all the information and be able to take what I've what you've taught me and extend my education by myself I also appreciate the opportunity to continue working with you a hundred hours or more after the class and it really fits within my timeline and my schedule what are you taking away from here like what are you taking away what am I taking away all of the different open source projects different ways of solving the same problem and in multiple ways and being able to compare and contrast all the different open source projects plus you have a list of different services and products and things that we can use that are free and open that's going to solve various different problems that we have across the board from beginning to end with cloud services and then providing a solid product to our customers thank you thank you thanks a lot now anybody else just speak your mind whatever comes to your mind that's hard to follow up but I've been really enjoying the class on immersive there's lots of hands-on exercises and I can meet other grab practice on this environment or to learn it on our own after the class and during the class of supplement the materials you have but the materials are very rich ah great thank you yeah then let's keep going spontaneously just pick up and speak so I joined just to kind of get a basic understanding of what cloud is out works in the corporate environment and kind of a bigger idea of just a general overview a lot of this is over my head but just kind of following along and trying to kind of understand a little better see if maybe cloud is something I want to kind of steer my career into but just kind of thinking along here that's good thank you thank you this course was recommended to me by quite a few colleagues who have gone through it I was really looking for a better understanding of cloud technologies and they're relevant or real-world examples I think this course delivers that I had a base knowledge of well I had a high knowledge of virtualization and architectures in that field and a small base knowledge of cloud technologies and cloud related development and DevOps and things so I think this course is right up the correct alley to learn and go deeper into those areas and increase my knowledge in that aspect so very valuable right on track with what I needed what's needed for my career awesome good to hear good to hear I saw this class as an opportunity to advance my knowledge within the cloud technology and the tools that you present or presented I didn't have no idea of so it's this good experience to know that those things are out there and I mean the deal is that that you presented us with like the GoDaddy.com for example for a dollar for a year like I didn't have no idea that existed so a lot of a lot of knowledge to share and I appreciate it so that go daddy one dollar thing will bite you but later on I'm just questioning you it is one dollar for the first year second subsequent years it will probably go up to that time it's a good idea to switch to another company to a company of your choice maybe seven dollars ten dollars an annual basis that's likely to happen just cautioning you right now it's not one dollar for forever but I also join the boot camp to further my knowledge I've done a lot of development work but not in the DevOps area and I really like that the class demystified what the cloud was for me because it really didn't know and what was DevOps and the ability to now go out into a world that is is readily available for people with all the open source opportunities is kind of exciting and it gives me another thing to add to my portfolio as well. Sweet deal thank you very much. I can go next. So I joined the cloud genius to to get a more hands-on experience with the cloud more experience with DevOps and my takeaway with the course is how expendable VMs are. Yes they're discardable because you can just throw it away get a new one in a matter of few seconds and a click just shoot them. Hey John. Hey yeah so that was cloud genius was recommended went out in the last year and I didn't know anything about it before that but then found out someone I knew had gone through the course and talked to him and he highly recommended it and just wondered if it was technical enough to you know to keep my interest and wasn't too high level and definitely it's not the hands-on courses are great I like the pace that you take us through and it's been great just getting a lot of hands-on for you know DevOps and cloud technologies I had some experience before but you know everything changes so quickly that I felt like I was you know getting really behind in a lot of just the the common things are occurring in the cloud today with with all the technologies and the DevOps and so just being feeling like I'm starting to catch up really helps we work in InfoSec at Boeing and we're trying to you know secure these technologies for Boeing in the cloud and it's it's it's great help to be able to have a good understanding across the board of everything that's going on so thanks. Good to hear that John thank you. I took this course to a better understand the cloud it's my audio coming in. I took this class to have a better understanding of the clouds because even though I'm not really gonna be configuring clouds or messing it in my current field I believe in the future my job will I'll be interacting with the cloud more often since I deal with back hubs of our service within our with our environment I believe I might be backing up clouds or interacting with them in the future so it's more of a try and get ready for the future type thing for me. Nice good to know that absolutely. Yes I can go. So I too was recommended from peers at work to take the course it's gosh it's just been great there's all the labs are awesome the whole I guess the end-to-end and the experience you get taking the class has been really good. Good to know good to know in you know the next people who will speak also speak about what may be different that you find in this boot camp versus other courses you may have taken so if you can speak something like that that will help. What's the difference like between this and the other things? Well I haven't taken any other things. Somebody else might have. That's actually a good thing to know that you never took a course and you took this one that tells me good things about. I know I've never taken another cloud course but the the pace the pace that you move out and the the hands-on and the the interaction I think has been really good. Thank you thank you. So I'll go ahead and speak now can you hear me okay? Yes Valerie. Can you hear me Nailesh? Yes yes. I just wanted to say that this program was referred to me by peers from work as well and actually before taking the course I had some reservations about whether it might be too technical for me and so I went and researched all the detail from that you had on the Belle View College website and I noticed that there was a broad range of types of support participate in this program and so I went ahead and moved forward with it and it has been such a tremendous help to me being able to as a being involved management side of it and trying to bring the service up in the company that I work for and sitting in meetings with dev developers and all these architects and information security and all these other folks and actually being able to understand what they're talking about from day one literally after the very first class I had enough of the from the first class to sit in a meeting the next day and know what they were talking about it kind of blew me away and it's just built from there it's been an amazing opportunity. Wow good to hear thank you. This motivates me by the way to keep doing it this motivates me to keep track of what you need and continue to evolve the program as you need it to be and I will do that by the way for you not just for the future people in future bootcamps but also for you in the remainder number of days I will customize it to what you want us to and so I would give you that opportunity to pick and choose because we have only so much time you have only eight sessions left and you may have ideas about hey I want to discuss this versus that so bring it up please and I will cover it. Yeah I think what's been so great is you have been able we've talked about it at work between some of the other folks in this class but it's pretty amazing how you can talk to different levels of understanding within a class and we're all getting something out of it and for those who move faster and for those who may be not be as technically educated we all are learning a lot because you give us the opportunities to do the use cases and some are moving ahead and you're okay with that you're so flexible and having said that you were talking about comparing to other courses about three years ago I finished my bachelor's degree in IT and so I went through four years of IT classes and this by far has been the most enriching experience I've had in any IT course it's been truly amazing. Wow thank you. To add on what's different between or compared to other courses I've taken there's no death by PowerPoint so I enjoy that but it's a there's no slides to go through. Yes yes so this is something I learned on very very quickly upfront is that in the moment I bring up a PowerPoint people go to sleep and they just never come back. I think the most important thing for me is the difference with this class than other classes is the fact that you record them and that recording I can go back and use as a reference for doing the homework doing the exercises and then it's also something I can I don't have to spend as much time during class taking the notes and missing things I can concentrate and focus on what's going on in the class knowing that I can always come back to it and that's something that I wish I had in college because I think I miss so much in college trying to take notes and so that's the big difference here. Yeah thank you. I think we covered all the volunteers I guess if there is still some somebody left go ahead. I was gonna add something Nish you can edit out this beginning part here I just want to cut in and the difference for me over this course and the many other courses I've had in my career is the hands-on videos of all recorded classes you can go back to and also the access to the instructor is amazing it is I don't want to say he's on 24-7 but it sure seems like it and that is a huge help when you're going through exercises trying to work on some of this off hours from the course you're able to get a hold of the instructor and it's really helpful to dialogue directly and be able to move forward instead of being stuck. Yeah I try to do that because it is hard by the way it is hard to be able to immediately respond I have done this which is kind of sounds crazy but on a hike to the Tiger Mountain I reply on my watch to a slack chat question and people move on with their homework and I am hiking and that's okay I mean that that's how it goes that's how I do it so not that I'm not hiking or not going out or not doing my things but I just try to answer if I can I will and I'll keep on doing by the way even if there is no boot camp going on if you still need an answer I will still respond to you at least I'll try but I will tell you that I cannot I don't know how to find out the answer that's what I will do for you even after the boot camp is over slack is open slack slack doesn't close I'm there as long as I'm doing this thing I'm there I'm not going away I do this because I like it I like it because that is my passion to build in fact that is how I the boot camp started is a collection of interesting things that's what I call it I call them nuggets or shiny objects I pick them up and I then you know build exercises around them sometimes it doesn't make sense to me to begin with and then I evolve them into something that is appealing to me and then I show it to other people and then they like it then I said okay this is a good candidate for inclusion in the camp and then I have lots of shiny objects I have to somehow figure out some kind of a skeleton or a backbone to put these things together to construct a course and so it begins with good ideas that I like then I evolve them and then I somehow artificially tie them together sometimes it doesn't make sense sometimes it does but at the end what I found is if you put interesting things together people seem to like it so it is a very non-conventional way of approaching teaching education training whatever you call without me I've never trained myself as a teacher or a professor or anything like that by any stretch of imagination I'm not what I do actually is just find whatever I like interesting things and I put them and I give it to you if you want to take it go ahead if you don't want to take it I never push in fact that's another thing that you will notice no pushing no pushing to the extent that we don't even have a test assignment homework no exam no nothing it's only driven by your interest and people seem to do it I mean that's the point I look for is are people actually taking what I give and people seem to do that that's the real real focus that I have is to let provide the objects that you want to actually pick and so give you choices and I'll let you pick with that let's shut this video down so I think we are done with the what I call the webcam portion of so let's get to business now so I mean that was also business for me but just saying I will now reduce the screen and share my desktop here we go and you're free to shut down your cameras if you like you can keep them open if you want okay so what I'm going to do today is to remind you that we are actually starting a new session in a new topic area called architecture so if you go to that website which is somewhere here I will go there and find out what we are dealing with is this thing called cloud architecture and we'll you know not spend too much time on discussing some of the theoretical stuff which is written there on this website you have access to it you can read it I will you know pinpoint couple of things discuss some of them but they are mostly you know something that are you know what I call what I call theoretical so I'll skip some of it I'll talk about some of it but not not most you know I most of it I'll skip I just want to point out to you as to what am I skipping before I skip and so I'm logging in and heading to that architecture page again it should be somewhere here and I hope I am sharing my screen and it is being recorded and all that good stuff so here is the cloud architecture section where we have the come on why is the site slow okay so here these three things in the in the cloud services architecture there are some power points here from I think four years ago four or five years ago there are some power points so just cautioning you they are there because they just exist I never managed to delete them so that is something that is there for you to see on your own and there is a little video which uses PowerPoint so I will skip that I'll let you watch it yourself next one it may be an interesting video for some of you who like it let's see what we have in there like 19 minutes so it's kind of boringly long for my taste my taste has evolved I limit my short re-recorded videos to like seven minute maximum so this is like exceeding my limit so but if you want to watch it you should watch it if you like it so if you if you if it holds your attention go take a look next one is this other video which also has a PowerPoint and probably this is something that I I still want to use it so this is probably an aberration in that I actually want to open these slides and you may have seen these slides before by me drawing it by hand like this one for example this is a decent concept that is described in the co-op petition book if you remember and recall from a previous time in here we discussed this like company in the middle competitors complementors customers suppliers things of that nature I think you remember that we discussed this so what the reason I have it here is for us to think about this framework and apply that to our businesses in our companies in our organizations wherever we work with people together like keep that in focus in terms of what we are really dealing with in the company that we work with like the centerpiece the the central circle or oval and then identify the things that are necessary from an IT standpoint what are the IT implications for each of these oval objects so there are implications on the customer side the red item the supplier side the green item the complementary side the blue item the competitor side the orange item on all these four sides and also within the company there are certain types of applications that require IT investment so that's what this video which is available here actually describes and by the way in that video there is a typo which I haven't bothered to fix the typo is that I am using this spelling here apparently with the I that's not the right spelling in the video so the correct spelling with the E that's a typo that I did not fix in that video so that's you will catch it it's there it's also like a 19 minute long video but I'll briefly summarize what is discussed in that video because I think it is relevant and there are some of the things that I don't mention in the video that I want to talk about so the reason that I would like to now bring it up is primarily because I want you to focus on things that matter in your company and as a corollary to what I just said and I just said something which is do things that matter matter like here I'll write it down for you because my pronunciation might trick you so what I'm saying is do things that matter so do whatever matters and so the corollary to do this is the don't that don't matter that is the most important thing to remember so say no remember to say no to things that do not matter I think that is the key takeaway from this discussion in your company when you have to do things that matter you do it I mean it's obvious but there are certain cases when you might have applications or scenarios or use cases when they don't really cater to any of these elements or entities for example it is not important to the customer not important to the supplier not important to the company doesn't help the compliment or so and by the way doesn't even help the company in keeping an eye on the competition and therefore you should not do it I mean there is no reason to do it that's the thing that I say that don't matter these things that do not matter there are sometimes in big companies that especially this happens in big companies somebody will come up with some stupid idea and they give it to you hey let's do this and so the the real thing I want you to focus on is go back to this picture and see what makes sense see does it actually help our customer does it actually help our suppliers what about our complementors the people who are actually there to help us sell to our customers better and does it help our company in keeping an eye on the competition or any other way in which the actual customer or the suppliers or the company itself stands to benefit if that is not the case say no to the idea or at least question the idea if not directly say no question it question the idea how does it matter why does it matter and if you are not able to get a clear answer you know put a lower priority to it learn to say no that is something that most people tend to avoid is to not say no enough I mean there is no reason to do silly things because somebody said so and it happens and it happens in big companies most of the time I have seen it in big company like Microsoft and I heard of it in Boeing and many other bigger companies like more than 500 people is my trick number if you have more than 500 people that's when this problem starts to appear is that when you don't know what the right hand doesn't know what the left hand is doing that's when these issues pop up you have seen it by the way I don't need to bring up specific examples but I'm just giving you a frame of reference of thinking about a variety of IT implications to every customer situation that the sales management application shipping logistically time you can read this by the way what I'm doing in this sheets is that I have written down types of applications that have implications to the appropriate entity like competitors we need to have in our company competitive intelligence to keep an eye on the competition so you need these kind of software running in your company to keep track of what the competition may be doing and like that so you can read the whole list that I have kind of attempted to identify and the key thing that I already told you is learn to say no ask questions why it matters and that is the key takeaway from that discussion moving on which is next one what is this yeah it's another another old PowerPoint so it's up to you if you like it watch it otherwise keep it next one what I want to do now is to give you a a different number of case studies like you know we begin with this discussion which is the Netflix case study and this what I want to do is give you a comprehensive overview of end-to-end business idea underneath this company that you know of called Netflix how did it start you know how did it evolve and how does it work today and it uses the cloud and so we go into greater level of details to the extent you want to digest so you need to tell me enough of Netflix now move on and at that time we will move on to another case another example and so you need to tell me at what point in time that you get what I call indigestion of the level of depth I will keep going deeper and deeper and deeper until you say okay stop because there probably will be too much level of detail at some point because you know we are discussing about one company with how exactly they attempted to do it for the last decade or so they have evolved completely and they completely use the cloud ever since I think most of us have access to Netflix I also have it so we will not play Netflix here but understand what they have done so that's the Netflix case study as a as a architectural design and implementation that they have done using Amazon's cloud services so that there is this powerpoint slide again in in that example which is also in form of a video available that you can watch but I'll bring up the slides briefly because I think the slides are interesting in that in that day okay come on I don't want to play the video no no no stop stop bring the slides and there are the slides the slides are again focused on concepts which are you know how the strategy evolved from you know competing with blockbuster and what we know of Netflix as today so that evolution how did it happen that's this slide trying to project the idea which is basically as you know blockbuster the last blockbuster store was closed I think last week and there was a joke on that's not true no my family my wife's family is from Fairbanks Alaska and there's still two blockbusters up there Wow because you because you can only get DVDs up there because they don't have internet access Wow I did not they don't have high speed I was just correct yeah I guess I guess I guess that is that is the case so yeah that is amazing I did not know that but the fact that they still have blockbuster open is something I thought somebody joked on late-night show that blockbuster finally closed after so many years so that is our in in our architecture discussion we will begin cases by cases in terms of discussing of one particular company to the leg lit to the level of detail that we want to feel comfortable with we go to that depth and then switch another example switch more examples will bring some examples I'll also bring a variety of by the way I think I should I should also point it out to you that these companies like Amazon and Microsoft have done a phenomenal job both of them have done a phenomenal job in describing and basically they made my life easy what they what they have done both of them if they have provided I think I should say as your the cloud architecture illustrations and diagrams they have built up a whole collection of those things available to us in this these sites so both these companies have architecture centers so I what I'll do is I'll take a link from here give it to you in slack so that you can access these things yourself there I'll be using a bunch of different ready-made solution illustrations from these companies and refer to them in our case discussions as we go along so one of the link I gave you from Amazon the second one is from Microsoft and so keep that handy as we go I have already downloaded a bunch of these things in my local machine so they are available to me in mine my notability here there are lots of pictures I'll use them I'll also share it with you if you cannot find them already on that website they may have relocated them like for example the Amazon website which is somewhere here they actually list out a bunch of different illustrations and diagrams and some of them are interesting some of them are marketing some of them are trying to sell you stuff but our goal is to not get sold but to actually understand what they are trying to communicate so we will use the ideas expressed here as examples but understand how do we implement these things on our own without actually without actually you know identifying how to do it in that particular cloud but more of how do you get that particular solution implemented in any cloud of your choice it doesn't have to be Amazon it doesn't have to be Microsoft the reason why these companies have done it like that and an elaborate set of design blueprints are available is because these guys want to sell you Amazon cloud and these guys want to sell you as your cloud that's why they're done it they have done a whole lot of work and illustrations and diagrams to make it easy for people to understand and their examples all point to their own services to give you an illusion that it is possible to do only in that cloud that is just an illusion so that is the marketing element here which I will identify how it is marketing where it is you know necessarily not true like this example for example talks about using CloudFront now you can use any content delivery network it doesn't have to be CloudFront just saying like that and here DynamoDB that is exclusive to Amazon's case so that is something that I want you to think about how can we implement this if you don't have DynamoDB what would it take to implement so that's the concept with these guys are trying to sell stuff you have to understand that take that with a pinch of salt and you know find a replacement for DynamoDB with something else that you might find it in the open source an example would be MongoDB that is not an exact one-to-one replacement but for most practical purposes MongoDB is a better solution that is more portable so that's how you should read and interpret these things as we go along and I'll point them out to you for for right now I am actually beginning to discuss this company called Netflix and so you will find it amusing that I cannot manage my own PowerPoint because I'm not trained to deal with PowerPoint so you'll find that I struggle with PowerPoint myself so you look at this picture I'll just focus on some of the key things that I would like to read and identify to you so if you remember in in history or historical days what Netflix did was they wanted to evolve themselves from from what they used to call hold on just this and this okay so Netflix used to be a DVD in the mail company they probably sold a portion portion of DVD in the mail company so they give you a list you get a website that used to be in the data center for Netflix comm and they'll give you a list where you will identify these items in form of a queue a queue of priority of what you want to watch next so priority queue I want to watch this movie then I want to watch this movie and like that you you identify a queue you give it to them on the website and then they will mail you so many DVDs at a time three at a time or four at a time depending on how much money you pay them sometimes one at a time for ten dollars or something like that so some some DVDs at a time in the mail out to you and so you get these movies depending on the priority queue and that's what the model like a while ago long time ago compare this with what blockbuster is doing or was doing so a new movie comes out blockbuster you will see that the blockbuster movie suddenly carries a Black Panther a lot of Black Panther DVDs in the store and here also you will find the Black Panther listing you will add the movie to your list and you will have to wait for that movie to appear in your home in mailbox it will take forever sometimes if you really want to watch the latest movie you will probably go to blockbuster and grab it so that was the model now let's identify the differences in the two businesses here blockbuster the number of types of movies number of movies in a blockbuster store how many would you think will have in a given location how many movies will you think that they might carry at a time hundreds thousands maybe give it a number compare that now with Netflix rental location they used to have a rental location in the warehouse number of movies in a Netflix DVD warehouse which you never visited all you saw was the availability of DVD in your mailbox coming from the rental location so they will have a warehouse in that warehouse they will store a very very large number of movies like close to about millions so the key difference in the sheer number of movies available in a location this is the variety I'm talking about that's one key difference that you will see which is I think described best by this picture it's a economic phrase that I'm talking about it's called long tail and the idea here is that Netflix was able to provide you a long tail choice of movies even though not all the movies are popular so the red item in here is like your Black Panther or maybe the recent movies that have come up and they're red hot people want to watch it like immediately so they will tend to go to blockbuster whereas you know if you want a movie an esoteric movie like you know I will I will want to watch this movie which nobody knows about this movie I like it I watch it many many times nobody cares about it except unless you are from India and so that movie is actually available in in Netflix it used to be available at least in that location so that's the kind of esoteric example I wanted to bring up is a item that is hard to find is also available in the list of products you carry and that is the long tail selection of movies that Netflix maintained so a long variety even though if you try to get this long tail variety in a blockbuster store it is physically impossible to have a million movies in every blockbuster store it is economic nightmare there that the blockbuster would have died right then and there if they attempted to do that it's not possible impossible so that's one difference in the two companies at the beginning another key difference was that these guys blockbuster used to charge something that is people used to hate it is called a late fee if you are late in returning that Black Panther movie the DVD that you took and you more than a an hour or so late in returning that DVD back to the store they will charge you like $19.99 some way absorbent and movie price and that is the late fee that they used to charge but there was no late fee here that was another difference is that they were able to accomplish this idea because they actually identified a different market in the head section was the target for blockbuster the long tail was the target for Netflix so they carried a lot of variety never charge you late fee delivered it to your door and let you choose two or three of more at a time and did not bother too much about the head the Black Panther which just came out so there is no need to have it on Netflix because that's not the focus of the focus was divided already to begin with but as you know the problem with this DVD business there are lots of problems one of them is that you actually have to wait for the object to arrive so DVD has to arrive then that waiting is a bad thing and I people don't like to wait then in the in the transportation it scratches sometimes it doesn't work sometimes you know another problem is that people steal occasionally people will will copy the DVD that is a problem for not for the people but for Bollywood Hollywood I am just generally saying Bollywood and Hollywood because you know Hollywood is the number one producer of good quality movies so there is quality here and here is the number one producer of quantity the sheer number of movies produced by Bollywood beats everybody else on the planet there are like ten movies every week released in Bollywood and so that is quantity versus quality that's the difference and so by the way like Bollywood like Hollywood there is Tollywood Lollywood and Mollywood and bunch of other words in India so you may or may not even know or don't even care about but just saying that they are there so these are the people that get upset when people copy the DVD by the way copying the DVD is as simple as running this guy's software so this guy is DVD John his name is DVD John he that's his name he's a Norwegian programmer and he wrote this product called DCSS and this is available in Linux and so it breaks DVD copy protection like that and so that part of software is now a part of Linux and before this Linux machines could not play DVD and so this basically decrypts the content scrambling system in the DVDs that is what these words keep in play like these Hollywood Bollywood Tollywood these guys the producers let's call them the producers of movies they produce and so these producers decrypt your movie and the movie and before they put it on a DVD so it's encrypted and if you try to just copy on your regular computer without using specialized software that decrypts it copy will not actually happen so it will not be able to reproduce the DVD that's the thing that this thing breaks the DCSS by the way there are some court cases on this software so you can read more about the legality of whether you can use this or not but that is not the portion that I want to discuss because I'm not a legal expert but I just want to point out that there is this doctrine called fair use which applies that you may read about and so before you can do any such copy using this DCSS software which is available to you in Linux just read the law and then appropriately act there are some cases in which you can actually technically legally copy just fine but I'll let you decide the legal aspects of it having said technically possible to decrypt and copy that was a problem that people were that these companies were running into that people used to copy DVDs and never actually bother to you know they return to get the DVD copy it or turn it back that was another case that Netflix had noted and so did Blockbuster so that was a common problem the other thing that is happening in the industry at the same time is that the broadband speed which is today is phenomenal you know if you look at our speed test results you run the speed test you'll get a fantastic result I mean no no problem there you know phenomenal 200 Mbps 250 Mbps downloads it's mind-boggling speeds that you and by the way this is happening when a video conference is running I'm actually streaming live to you guys and so even then my residual bandwidth is what you're looking at right now this is pretty phenomenal and that's the transition that has happened and this is the residual bandwidth in a live conference by the way just note that and so having said this is transition is happening already broadband and they want to make use of this so older days the bandwidth used to be like 1 Mbps or even sometimes lower 256 Mbps and when I was in India I did not have a computer but I knew that some people who had it had something like it 8192 a bar yeah yeah something like that some some really slow speed on the telephone network some some kind of a slow internet is what I remember but again I never had access to it my my first experience of the internet was at this speed at University of Michigan and I was blown away totally blown away what is this thing and that was in 1999 so it's a fairly late comer to the internet that is me yes it existed in India but I did not have access to it so that was happening a broadband is evolving and today you saw you know 256 Mbps in in resident residential situations it has evolved so there is a way if we can just somehow eliminate the item itself and instead get to a point where we can you know just transmit the actual movie content directly to the user if that is possible any which way if we can accomplish that that's the transition that Netflix wanted to accomplish so now let us see couple of cases in which we can identify what needs to happen for such a situation to evolve like we want to get rid of the DVD the the round shiny object that is known as the DVD we want to get rid of it essentially and that's what Netflix wanted to do so they wanted to accomplish these things like you know a way to stream movies to the destination to the end user and a way for them to be able to watch it wherever they are whenever they were there those are the top-level goals for this company that they had at the beginning and so now if I ask you this question about that is written down by the questions are right there actually as you know you need a client endpoint and on the cloud end you also need something else for example if I look at the Netflix website and I sign in and then I go forward with it what I will I will by the way not actually play any movie because it will be in in illegal because I am recording right now so I will not be playing any movie as such but just going there is okay I mean I can select to go there and you will see that I actually don't watch all movies I watch our kids movies and so you will see like these are my favorite movies so I'll not be playing any of these guys by the way but this is the client endpoint like you know what I'm talking about here is the browser that I'm using right now is the client end this thing which I am seeing from my view is this and on the other side has to be something on the cloud end so that is the question I have for you to able to think and answer maybe quickly you know what should the client by the way these questions you already know because it's like a you know established case and they have actually solved this problem but the key things to remember here is these things which are you know what should the client experience be at the time of beginning point should we use just the browser or should we use other things for example here are a whole list of devices that work with Netflix so you can see that list it's a fairly long types of you know their TVs streaming media players game console set up boxes blu-ray smartphones and PCs and tablets and so those things run the client pieces as we know already when Netflix began they did not have that many choices they had very fairly the very fairly limited choices available on the client side and this needs to be served a movie from the cloud side or maybe from the data center side so the question that really is pertinent to discuss right now is should we choose cloud or should we choose data center ourselves that's the real question to think about is what I would like to ask you to tell me what do you think is the right way to approach this like who will manage the streaming back end who will maintain and upkeep the data center and how did how do you deal with growth of data center like you know if you if you know the data center that they used to have before when they had that queue of things to to watch like I discussed this like a queue of priorities I want this movie then I want this movie like that there used to be a thing called a queue on the on the Netflix website which I'm not able to find these days because I by the way I don't watch Netflix much but that queue used to exist that used to be in a data center managed by Netflix and so these days that data data center doesn't exist they have completely decided to migrate to the Amazon cloud for a variety of reasons and let's understand the reasons is that they don't have to manage the back-end machine hardware setup like you know they're not in the business of managing computers to keep them up and running like it requires a lot of things like cooling it requires energy it requires you know disk disk and memory and spare parts and you know making sure that spare parts and making sure that things are up and running this uptime is a big thing to make sure that it actually enables for you and that is the thing that if you are in the business of creating infrastructure for data centers maybe this is a good idea that you manage cooling of machines and providing them energy and making sure that your disks your memory and CPU and all the things that go along in building your in your infrastructure is actually your core competence if that is what you know how to do core competence then you better do that way and that's what the core competence of Amazon AWS Microsoft Google Cloud and bunch of other companies in in the domain that is what they know that is what they do it for their life they love it they do it that is their core competence that's why you don't see as you're using Amazon cloud services or Google's cloud because they know that that's that's how to do the best possible solution according to them they create that solution and they give their services to other people for others to consume so if you now remember the very first thing I think I discussed in this boot camp is about core competence is the idea idea that if you have a core competence of making widgets then you stay focused on making widgets and you just do that one thing everything else that is peripheral to you should be done by other people so now apply that to the Boeing company you know for example Boeing company makes planes so everything else should be outsourced you know I think that's what you do already by the way is that you focus on your core expertise is to make sure that a plane flies that plane that you sell flies all the time for your customers that keeps on flying and the your company Boeing company is better off if the plane keeps flying and it's rarely on the ground only occasionally when you want to you know have people come out and people go in but most of the time plane should be flying and up in the air not for maintenance down or not for anything else don't keep it down on the ground keep it flying that is the best operative procedure for Boeing company even after the plane is sold if you can design such a product which is what you have designed by the way and so that's what your focus is in your company in in Boeing company for example is do that one thing and do it well it is the same principle in Unix in in in Unix service designs it is known as do one thing and do it well so let me just pick up the acronym here I don't remember it do it to do one thing do it well there is an acronym for the Unix philosophy and that is what this thing is do one thing do it well it has this acronym do dot t dot div apparent people have come up with acronyms but that's what the idea essentially is is that you do one thing do it really well you make planes Microsoft makes software you know Google makes yeah let me ask you what does Google do what is their core competence they originally were the single source of finding any website on the planet good yes they are they are into search correct they organize words information correct that's what their motto is but their core competence is actually in serving advertisements because that's where they make money right they don't talk about it but that's if you look at their 10k reports and financial reports that's what you will find most of the money almost all of the money is coming from advertising yeah somebody just said ad space so that is their core competence is to be able to serve you ads in the most subtle fashion or maybe sometimes not so subtle fashion but they want to serve ads so for that search is a is a tool to enable the ad thing like you know they help you search they know you more they'll identify your behavior and they'll appropriately target you for the correct advertisement that you may be interested in looking at so that is their core competition core core competence yes they are into cloud services also Amazon is you know the core competence for Amazon I think is evolving you know I would say they are they are into technology as well as it at the beginning they were mostly into retail but they have learned from their retail and site operations and evolved into a full-fledged cloud division which is I think amazingly big Amazon web services itself is quite big these days as compared to as compared to AMZN which is the the core company itself the Amazon company was a retail company still is the biggest retailer but this portion of Amazon has evolved into a technology focused entity so back to our Netflix discussion the goal that Netflix wanted was to make sure that you are able to use the cloud and not get into the business of maintaining managing computers and uptime and cooling and all the details that are not strictly the core competence of Netflix so yeah there is a link on require revenue at three point pretty pretty decent yeah that is beautiful so Amazon has evolved absolutely and so that is something that has happened so what Netflix has done minute Netflix has also evolved by the way Netflix used to be a company focused on delivering video experience to you so this is you and the Netflix they're delivering you movies that's what their focus was now today their focus is slightly evolved in that they actually look at your behavior and they are able to give you recommendations so what else might you like that idea is similar to this idea here if you go to amazon.com and try to buy something the people who bought this also bought that you may have seen it like for example let's go buy something or rather this pumpkin seed oil so that oil you know if I add to cart you will see that you know there is comes a recommendation customers also bought and peppermint oil and on this pure oil or God knows what this thing is so apparently that's the recommendation engine coming on the back end if you if you recall Netflix a few years ago maybe more than a few years ago Netflix had a 1 million dollar prize 1 million dollar challenge called Netflix prize no this is something else no this is the right website so this was granted in 2009 1 million dollar granted to Bell course programmatic chaos that's the team that won this prize which essentially helped them create and come up with an algorithm to identify recommendation in an engine that designs what else you might like so this is the you can read more about it by the way the algorithm itself and how was it solved apparently this is the fairly well documented these days and the team that won it in in this location is let me paste a link for you so you can read it later on this is the 1 million dollar challenge it translates to this idea which is customers who bought this also bought that recommendations are showing up when you sign on to watch a movie they will compare similarities between your behavior and other people's behavior and come up with what else you might watch and this leads to binge watching as you know already so that's what I think you know people watch one series and they want to they will identify you identify you and put you in clusters with other people of similar interests and then come up with a recommendation logic to give you suggestions on what else you might watch so that business is evolving slowly and maybe considerably these days as you as you will see with some examples so Netflix decided as you know don't use data centers yourself and so when they came up with this idea is to to use streaming devices on the client side another question that they had which I think is worth discussing maybe asking a question is about if you want to have a device on the client's side client location the user can use a PC user can use a TV that they might have already or they might you know create a box called Netflix box let's call it it doesn't exist by the way but think of it as a box that Netflix would want to create and that give it to you so you can put it in your current location in the client the customer the end user and that box will help you see Netflix on your television that could be a possibility but can you tell me why this was not chosen or why would that be a bad idea or a good idea either way like some people have done it like some companies have a box for themselves right you know there is this company called Roku which has a box they don't have content but that's a different story other companies also have a box called Xbox or you know PlayStation or Nintendo all these companies have boxes why not a Netflix box so what what's the logic how would you make that decision whether you want to make a box yourself or not what would you think in terms of you know should we go invest in a box or not how would you go and make that decision a lot of people have boxes already and they call them televisions so having a Netflix box might seem very redundant yes another another situation is you have only four HDMI ports one two three four typically people have so many ports and they are occupied already so if I want to now really introduce one more box that's a challenge I mean ask a user ask a couch potato to get up from the couch and change a cable would they do that ever in their life I have never seen such a couch potato they don't people don't change I mean changing wires behind a television no way it doesn't happen in years that's the challenge that people you know at least Netflix figured out very very early and they did not create a box like that because it did not make sense to them but then that leads to a problem is that you are not controlling the user experience the user experience is controlled by these guys like egg Microsoft and Sony and Nintendo and other people control the user experience and these days we have iPhones and iPads and you know other other other devices like androids initially Android did not fit the bill because Hollywood did not like the idea that you know this can be used as decryption and they will they were this was not available as an option early on later on it came so those those people control user experience on the client side so what's the solution here like you know how do we do that how do we solve that user experience how do we manage it how do we control it so that requires a client application this application needs to sit and run on these guys like the TV itself needs to run Netflix the app on the television this boxes like Apple TV Chromecast fire TV indeed these devices need to have somehow a way to run some code written by Netflix people same here game consoles like Xbox and Xbox one and and all these machines will need to be bundled with a software or need to have a method to download the Netflix app from the company app stores on these companies like Netflix or Sony or Microsoft and then these set up boxes you have a variety of them like you to work with Comcast why did I click on that ouch these companies they will provide you a way to distribute your client software to run on those target devices like these and these and these so you have to actually work with blue lip blu-ray player I cannot even say this properly blu-ray players LG for example you have to provide that Netflix software into the LG's firmware for LG's DVD blu-ray player so that in that player when they have the choice to start Netflix that the software Netflix provided to LG in the LG blu-ray player will pop up and run and then connect back to the cloud the Netflix cloud that client application is what actually drives the user experience and that is what Netflix is all about is to make sure that you and me and everybody else who has a Netflix account is able to get to select the correct movie and get to have that movie up and running and playing smoothly in the shortest amount of time that's the goal that's one of the goals by the way so it's called time to first bite like you know as soon as you play as soon as you get the ideas that I want to watch XYZ movie so you go and search for the XYZ movie and you start the play button and it plays it should magically play like right away that's the most delightful experience that you can get and then should be no buffering ideally no buffering but buffering is a fact of life so they have to understand what these goals are from Netflix companies perspective and we identify how will Netflix actually implement a complete solution for these kind of experiences to be delivered to the end user using a client application that runs on a variety of devices that you see here PCs and smartphones and you you know these things already but I'm just saying that out loud is that there is this thing called a client piece of software running on the user's machine either in the browser like Netflix.com website or in some machine that they carry like iPad and iPhone and Android or some other thing the Sony laptop no Sony PlayStation or some other thing that they might have that runs this software which is what will be used by Netflix company to drive this user experience for you and then you get to see the the collection of movies that Netflix provides from the cloud and they have chosen the Amazon cloud so that's what we will discuss and go further in a direction I think here this is another PowerPoint slide which I want you to watch there is a long video for that which is 13 minute long so I'm skipping it so it is for you to consume if you want or like or not not like but eventually I will I will get rid of those guys let's see there are more points for me to cover before I not this hold on what the reason I'm bringing up these slides is I don't want to miss on a particular topic that I shouldn't okay this is good next so many of these videos I'm skipping forward is because I want you to watch it on your own whenever you find time okay and I think I enough of that website now so let's go back here I would like to now describe to you how do we then take this idea of implementing the goals that we have for ourselves for our users like one of them that I mentioned here is this the other one is ideally no buffering the third one is that we have let you identify what should be the goals for the end user for this user experience to be you know really ideal I'll let you enumerate some of the ideas that you might have in mind for the Netflix company to provide for the Netflix user like what should be the goal for Netflix application from a user's perspective so enumerate them like whatever comes to your mind let's go identify them I'll write that down actually so here I'm writing it and so please go speak the time to first bite what else like a steady playback which playback oh like a steady playback it isn't steady yeah steady yeah steady playback yes sweet what else easy to find movies I want to search good search easy search discovery high definition recommendation HD what else video quality quality yes yes what else sound quality beautiful and I will add one more year video sync beautiful that's exactly what I had my you're reading my mind I used to work with video long time ago so that is absolutely what else this is called lip sync by the way what else is needed for a good quality experience by the way do you see lip sync issues when I speak and when you hear me if you're looking at my face I haven't noticed problem yeah it rarely happens but it does happen I have seen it occasionally I do see issues like that what else for the client itself I was thinking it would it should be reactive or there's no lag time between what I select menu wise versus the reaction the menu tickets yeah so responsivity of menu right mm-hmm yeah responsiveness of the menus are quiet yep are you looking strictly for within the client or just anything yeah anything just anything the overall user experience for Netflix so we'll go and identify how do we accomplish these things from that because that's what matters right whatever matters to the user you need uptime of the entire system it yes yes I like the feature where you can actually do a preview so a movie preview and then also which is different because that's the when I'm not watching the movie but then when I'm watching the movie the fast-forward and rewind preview I really like the fast-forward and rewind preview because I know where in the movie I can be okay okay so I will add to this list I'm just keeping this list for us to refer to as we go along but let's go understand in in the examples of what the problems in accomplishing these goals like what are the problems like let's go identify those and we'll add to this list to the extent appropriate and what I would like to now discuss is some of the challenges in accomplishing these goals let's go identify them so if you now look at a classic what I call let's go see here maybe I'll go to the website here in Wikipedia and say display resolutions and bring it up so here is the chart so very good chart I will paste it for you that chart is available and open it up please there we go so that is this chart now look let's look at the chart itself this what I this is these the the variety of display resolution choices available on a variety of devices these days so let's go at the very top in the upper right let me adjust it a little bit come on I think it is one way big okay at the very bottom right corner I see this 4k entry you can see that here right that entry and at the very top left corner you will see CGA and you will also notice our country's standards called NTSC standard which is 640 by 480 VGA standard then in India we have this standard in called PAL system in Japan there are other standards like for example where is that Japanese standard not showing up in this maybe maybe it's hiding but these are the standards that are smaller if you go further ahead and look at some of the higher resolutions as I scroll down towards bottom right you will see your familiar favorite thing called the HD resolution this HD resolution is also known as that 1080p resolution like 1080p the resolution number is actually 1920 by 1080 so if you now look at these candidates we have a minimalistic resolution 640 by 480 then we have 1920 by 1080 this is also known as 1080p this is known as 480p this is called HD this is called SD and then there are more like you know the on the bottom right corner of that chart you will find 4k what does that 4k do for us let's go see that 4k is 4 0 9 6 by 2 1 6 0 so 4k is 4 0 9 6 by 2 1 6 0 and so you can call this was 4 2 1 6 0 p that's another way to say the same thing this resolution just add a P P stands for progressive and so that is another way to think about or refer to these resolutions as just call it 2 1 6 0 p that's enough this is 1080p that is also enough to say it like that and this was 480p if you want to call it that way so these these resolutions existed if you look at the other machine that I have here on the other side it is a 5k machine which is out of that range as shown in this picture so if you if you look at this machine itself the 27 inches machine this machine that you can see in the Apple website is 5k what does that translate to it doesn't fit into this picture at all it is out of bounds and now let us look at some other examples for example this example here IMAX so if you look at IMAX resolution it turns out that the approximate resolution is 18,000 P that's the resolution if you look at and you can calculate it yourself also if you like but the last time I did my math the resolution of an IMAX screen as projected on the display turns out to be roughly eighteen thousand P now what am I saying sorry eighteen thousand P yeah so that's the resolution for an IMAX screen it's a gigantic resolution I mean huge you know this you seen it to support this kind of a display it requires a lot of processing power a lot of horsepower on the display adapter and a bunch of other details to make it happen and that's just one aspect of a video frame that we are looking at the other aspect that goes along in construction of a proper movie is that you have to have repeat and slightly differing this this this indicates difference so you have a scene in the movie this is scene number zero scene number one scene number two that's these scenes are changing slightly as as we go along and produce or attempt to produce a moving video motion picture is essentially a sequence of frames of pictures with slight differences from the previous ones so they keep on changing as I move my hand you may have seen older movies really old like 18 I don't know maybe 1900 early 1900 movies they are called slow slow motion movies I don't know exactly how to call it maybe slow motion you may have seen it old old classic movies I'm trying to find some examples but I think it's easier for you to find an example and give it to me because I have no idea but I know there are some Indian movies that are really old like 1918 and they are sluggish and they they have this this moustache guy Charlie Chaplin you will see some of those guys let's go see Charlie Chaplin and his non-spoken movies older ones you will find occasional videos that show you like 1916 movie this one will show you this problem which is the motion is very you know what I call non-uniform or rather sluggish is one way to describe it you can actually detect bricks in motion as the movie plays and that happens when the number of frames in one second you fall below less than 24 frames per second you can see this notice you can notice this sluggishness of a movie the moment you fall below this frame rate so when you below that rate of frames this is for most human beings they can detect if the rate of frames falls below this number human eye can detect that you are actually not playing a movie but you're showing me still pictures after still pictures after still picture that's how you got a question can you explain that why DVDs were quoted at less than 24 frames per second is 29.29 points up 23.976 yeah I don't have a quick answer to you for that but that that is a number you will see occasionally right it's something like that that number it maybe 96 some number I don't have a quick answer for you but we'll find out it is pretty close to this number I think it is some something to do with a combination of human study of eye study of human eye and the the standard set in how the DVDs are recorded in making sure that the format fits in into the codec so there are two things that that go along in answering your question which I will come back to you what Alexi is suggesting is this number 24 that I pointed out as the frame rate is actually an approximation the actual number is slightly different like the Alexi mentioned 23.96 or some other number which I don't exactly remember we'll get back to it it has something to do with biological science and codec design together so we hold on we'll discuss that later next one what I want to do is now when you want to construct such a movie and you are doing less than 24 frames per second then the movie is not a movie but it a series of series of pictures that are slightly different from each other that's not really a movie that's not what people want today so to construct a video you need to be able to create a series of picture after pictures like that and do that quickly enough slightly more than 24 at least and even higher is better and when you are accomplishing that desire you have to make sure that you are meeting this aspect ratio of width versus height the width that we expect is like you know in HD setting 1920 and height 1080 and what these numbers are is the number of pixels on a screen a pixel is a dot so you basically have you know 1920 dots horizontal and 1080 dots vertical and so you have a grid like that like that you construct a grid and that is a pixel grid of a screen of a display of one picture now if you want to have each of these pixels represent a value which is like a byte and you want a color picture then you need three bytes red green and blue so you now have you know we are now trying to estimate the size of a video file in its raw format you know just imagine the size every byte every pixel is a byte and it needs three colors so that makes it three bytes and how many pictures you have 1920 multiply by 1080 multiply by three bytes will constitute one picture just just imagine this is like an HD picture so the file size is growing already it's already a huge number of bits and bytes and together put in terms of one color picture red green and blue together information is stored in these many pixels 1920 by 1080 P which is what this thing is and now you get a picture frame showing you just one still picture and that is already a big number now you're gonna do this at least 24 times every second that means your frame rate will constitute a lot of lot of bytes let's see how many the 1920 my 1080 by three bytes for every color red green and blue and then you're doing it 24 times every second so these many at least per second so that's the size of a video feed coming to you for HD now if you estimate this number of bytes it is humanly impossible to send such a video stream to every computer on to all the customers basically so it's not possible it is too much information right there this much is too much already and this is bare minimum slow speed slow speed slow frame rate with full resolution and you want to do this by the way this is like a per second basis the 24 per second that's what kind of frame detail you're sending good thing is that the changes between frames are minimal so you want to only send changes like only the Delta you want to send in the s1 information for the second frame will only contain the changes instead of the full frame you don't need to send a full frame every single time so you're saving some bytes as you go along so you're constructing your packet stream as you construct a video frame after frame after frame and you're sending that video you want to be able to code it in a fashion that optimizes itself so that's the concept I'm trying to give you an idea about what is a codec a codec is actually two things there is a coder and a decoder this quarter decoder are basically algorithms that put pieces together compresses it and encodes it and sends it to the other end the other end will decode it and that's when you expand it to make it full and make it presentable so you are able to actually present a movie like this so you may have seen codecs in operation you probably know them already by by name for example in video land there are codecs that you probably know already and those are mp4 yes you're right you're right Rob this is 15 megabytes not bits bytes per second so multiply that by 8 to get the bit rate and you will find that even the highest internet speed today is kind of you know not possible to flow through that kind of data so Rob just did some math for us that's 15 megabytes per second now you multiply this by 8 so like that that gets you bit bits per second and so that will already throttle or close to fill up your available bandwidth and imagine people watching Netflix on a phone as they sit as a passenger in the backseat and get driven not technically possible to watch a 1080p it works differently for phones for different devices correct correct correct so I'm just you know painting a picture to illustrate the point that we have to completely compress an encode and then send it out to have the endpoint decoded differently so that's the point I want to drive so this is one file format that you know already there are a variety of others also for example let's go see this thing called m4v you may have heard of this thing you may have heard of wmv you may have heard of wmv is a bad one don't use it it approximates video yes this is the microsoft standard it's microsoft standard but it does not does it doesn't do the exact translation of video yeah it is lossy this is matroska I think it's probably a Russian meaning to this name but I don't know it is and it has to do with sailors don't ask me why okay yeah it is typically you know used by it's open source format by the way typically used by pirates and therefore the sailor thing and therefore matros can so things like that talk about loss versus non-loss yes that's what I think Alexi was mentioning it this is kind of lossy and so it's beyond lossy it actually changes positions of pixels on the screen yes I will define it I'll show you an example of what by the way these guys all of them are lossy all now let's see some of the video codecs and so it is a list of codecs available the commonly used ones are this is by the way latest available from Apple came out last year and available in high Sierra only it's a open source implementation is called x265 is only an encoder this is implemented only in high Sierra the other ones are x264 which is a GPL implemented open source codec correspondingly Apple has h264 codec and other people have divx codecs and Nero codecs there are impact for codecs for h263 which an older technology there is another older technology then there are Microsoft codecs like WMV like I mentioned it's a proprietary codec from Microsoft Google has come up with a newer codec called VP9 which is considered to be efficient they began with VP6 7 and 8 and 9 and like that they use this open source library under the hood which is available for implementation in most browsers you will have it implemented already this libtheora is a open source video codec which is available in this location called zip foundation so you can go to that website and read what that codec is but this is open source nonprofit available for us to use and that many companies actually use this but most target devices that you will see you know if you're made by Microsoft like you know they will use this codec they're made by Apple they will use this codec and so what the problem I'm trying to get your attention towards is that Netflix has to worry about these codecs and their implementation and the target devices and most devices will actually comfortably play this but not every codec will be not every device will be possible that you will have each and every codec supported some devices will just not work with this some devices will not work with this at all and others will not work with this most of them will work with this but then it's not the best solution so you really want to get the best solution you want to go to native formats supported by the device you want to play it on Xbox you would rather play it on the native format supported on the Xbox by Microsoft so then the complexity of problem that Netflix has to handle in coding and decoding is to make sure that not only the video format of a video that comes from Hollywood for example and let's imagine that the Hollywood video that gets shot in a real movie actually is the fullest raw possible resolution movie available and that's the source the source file for a video that comes out like you know let's call it what's the latest movie here Black Panther so Black Panther comes out the source file is available and is is made available eventually to Netflix Netflix eventually get it so at that time this source file has to come it is as big as think of it as the IMAX file just approximating like that it is not exactly IMAX format but just telling you that it could be as large as 18,000 feet that the source that Netflix might receive hey here my movie is now available for Netflix to play at some point after the release so a typical release comes out with a premiere premiere then you know actual full screen shows in theater and at some point you know they'll decide that they'll drop the DVD out and after some point at the time when they drop the DVD this item becomes available as rental in rental in iTunes or Amazon Amazon website Amazon video and other places Google video they will make that rental available and after some days it becomes available in Netflix streaming services so that time that these companies decide how much time you want to spend here is basically driven by the money they want to make so if it is really popular movie they want to grab as much money here as possible and so collect all that cash upfront from the theater and then after some time you release the DVD make sure that people buy the DVD own it rent it and make use of this and then eventually make it available on Netflix so that they can be they can just stream on demand so this duration of time is dictated by the company that produces it once you receive that source file for Netflix Netflix has to really take a large format raw source file and now worry about how do we get this out to to these devices that's the target customer right our customer is sitting on these variety of devices and each one of them is a different form factor different codec different aspect ratio and you can see in this picture that I already pasted is this where is that result yeah here this picture right this picture already has a variety of uni you know you know non-uniform aspect ratios of height versus width ratio is different the sizes are different the manufacturer may decide to implement one codec versus the other that is also different and then we briefly discussed the video codec aspect like mp4 m4v AV wmv mkb and Teora which is open source similar to this video idea is the other idea called audio and so in audio the very commonly used format that you already know is this if you are using Apple devices it is going to be m4a if you're using Windows devices it is going to be WM a if it is open source you will probably use OGG or FL AC and these guys are free lossless audio codec so what this idea is free lossless audio codec is called FLAC what FLAC is is essentially you may have also known of the another format that you probably don't use too much but you know it I think that format you know it as W a V this is the raw file raw audio wave yeah the way file the actual raw as you record something so that's the true this is the truth I would say this is the truth of actual source so that's where the raw wave file comes from from the actual mouth or any natural sound that you want to record that's the raw file you can convert a raw file into any of these formats as you like most of these formats are lossy this one is not and I'll describe what that means mathematically in form of a picture so here is here is the idea if you have a raw file you make it go through some process and as a result you get some output the output either can be lossy or another output that you want may be lossless so if you receive the lossless output you can mathematically construct like reward and get back to this file again provided you are using a lossless format for your reversion you can receive this raw file back so you basically let me simplify it so if you if you take a raw file like this raw file and then you put through a process and let us discuss the lossy later you you go through a lossless process you get an output that is great you store it then you delete the raw file and then you revert the lossless back to raw and now you can compare this output with what was given as an input and you will find that they are the same that is what is meant by matching that is what meant by lossless encoding and decoding so this is the encoding process this is the decoding process so when you encode and decode you get the original result back that process is lossless the moment you are not able to get the exact output back like you get some result you can produce a raw audio but it will not match this and so when it doesn't match it to human ear it is going to be almost similar you cannot tell by listening to it whether a particular output that you hear which doesn't actually match the original in that scenario it will be not lossless but it will be lossy so that's the idea difference between what is lossy versus what is lossless it is a mathematical concept when you process through encoding and decoding and you get the original result back which is mathematically same actually exactly byte by byte same that is what is called a lossless process of encoding and decoding and the only some algorithms allow that others don't the reason that they do like people like lossy formats not because they are you know interested in lossy formats but because that they cannot tell the difference by listening to a file which is either the original or a converted raw they cannot humanly tell so to them it matches it is not math but it is hearing that is the problem that we are trying to exploit and as a consequence this encoding can be aggressive and when you are aggressive with your encoding the result is a very very small file size that's the good thing but you get a small file size so most mp3 files are small like three to four MB sometimes less sometimes more it really depends on how much information is compacted into that file and how long the audio file is and therefore the more aggressive you are the easier it is for a trained trained human ear to detect that you messed around with it that you messed with the audio you were aggressive in encoding a little bit too much a trained human ear can tell the difference between this output and the original input that you gave that that's the difference between lossy and lossless I hope that I hope you understand at least the concept behind lossy and lossless so the biggest difference is actually in overtones digital audio is not really high definition or it digital audio cuts out in overtones yes yes by by overtones let's go explain that piece so most humans hear from a frequency range of 20 Hertz to 20,000 Hertz and most spoken music or other I should say verbal music audio falls in this range somewhere between so this is 20 this is 20,000 so it begins somewhere like 100 100 Hertz all the way to say 2k 3k Hertz max that's where most humans speak you know typical male voice will be here in this range and typical female voice will be in this range that's what you will notice from a from a frequency graph if you put that spoken voice coming on a graph paper and plot that by frequency that's what you will see male sounds here female sounds here and musical sounds maybe here all over the map sometimes are you know very rarely you will find music here but that's what I think Alexi is talking about Alexi by the way is a musician he knows more about music than I do and probably most of us so he's a professional saxophone and I don't know what he plays but he knows more about these things than many of us so please communicate and you know express your ideas as you go along thank you and so the idea here that Alexi is talking about is that these pieces can be suppressed there are you know certain parts of people making music as they speak are also extended in this area so that is what is suppressed out and so you don't hear them that's what Alexi is saying when he says overtones are suppressed most people you can decipher what they are saying just by in this band you can just tell what they're speaking what they're saying and even the melodies that they make when they sing you can still tell but to hear a person face to face and listen to them you also hear these other overtones that are kind of suppressed in digital audio which is what a trained human ear can very easily detect like Alexi for example I think he can I cannot I cannot tell you know from a bad audio and a good audio although I can yes I know many people many many of you who know who have trained yourself to do that can tell I have no idea I pretend to tell but I know I cannot tell Nilesh or Alexi I was reading something a long long time ago about when I was working with these files myself and I thought there was a compression aspect to this where they were on the compression encoding side to get these small files they were only taking changes in the file over time and so there was the idea that it wasn't just suppressing certain aspects of the of the sound but it was also taking and and compressing it based on compression algorithms with with changes if something doesn't change over time then they can compress that smaller and and make that a bit instead of three bits so like instead of having eight zeros you would have one zero with an identifier that says it's eight zeros or something like that do you guys know anything about that I think I do basically what it has to do that each sound whatever you hear is pretty much consists of infinite number of musical notes or even an infinite number of sounds human ears can only detect so much but you you can still hear so if you listen to a vinyl plate versus a CD you hear the difference so when you do the encoding those infinite that you have to cut the sound somewhere and as Nilesh pointed out it's cut pretty pretty low to fit on the DVD because the wave format the raw format of a song of a five minute song is about 70 megabytes 80 megabytes it depends on the bitrate in in the problem that we are really talking about Netflix they have to worry about the the video the audio the the resolution of aspect ratio meaning horizontal versus you know height the frame rate the codec involved the the on the audio side you have to worry about bitrate as to what how many bits per second are you capturing like you know in a DVD I think in sorry music series I think it's 44.1 kilohertz in DVD it is 48 kilohertz and some other devices have higher bit rates that they capture but in in true acoustics you want to go as high bitrate as technically possible the fact that you are digitizing it makes it bad I mean the fact that digital is considered mathematically wrong because that's not analog audio so that something that we'll discuss later on maybe it's too much information so the simple thing is if you have a music file that looks like this you are now digitizing it you will make it look like something like this so the fact that you did it like this distorts it and the red is digital the blue is analog audio so that is what is distortion which is what digital does and it makes the file size small but that's not true audio from an audio purist perspective so in in our case here in our let me change the ink again is a bitrate then we have to worry about you know the codec involved codec in hand and we have to carry these things together in sync and we have to deliver this entire series of packets to the end point to the target user in a variety of devices there are these devices out there like all these place all these places where people watch Netflix so that's the challenge that Netflix has to begin with that's one part of the challenge by the way the other challenge that Netflix has is the long tail you know there are you know probably more than a million movies or maybe even more how many movies on the internet today how many movies on Netflix let's go see that how many movies on Netflix in 2017 so let's go find out how many are there so how many movies are available there are the number of that is interesting news the number of movies on Netflix is dropping fast apparently so it is dropping and best movies now I want to see the number of movies apparently it is dropping and that may be a reason that they're doing it but bottom line is this long tail that I mentioned is the the number of movies that you want Netflix to carry at a given time which can be long you know depending on how many countries that makes movies and how many languages Netflix wants to support you know not just Hollywood but a variety of other words like I mentioned briefly Hollywood Hollywood Bollywood and other places these are not joking I'm not joking about these words they actually are referred to like that you can see Bollywood at least right there Wikipedia Bollywood and so it's known for its quantity no quality there there is some quality rarely you will see that but mostly it is quantity yeah total produced feature films in 2017 are 364 I mean one movie a day that's how it rolls okay that's craziness of Bollywood but that long tail now you know now you have to deal with probably a million movies that exist out on the in the planet in our in our world you not that Netflix wants to keep each and every movie available ever but having a long tail selection is a good thing so you have to worry about making sure that these millions of movies are actually available I'm not sure if it's actually a million number but I'm just saying but they're shrinking as you saw the news is that list of movies available is a really really long list the long tail the entire tail from here onwards the head is something that Netflix doesn't get to play in because of money reasons the reasons are simply that Hollywood wants to first go in the theater then eventually at some point roll out with the DVD and then after some time the DVD is sufficiently sold that they then make it available on Netflix so that delay actually gets them out of the head game so they play in the long tail that's the choice that they have so once that movie becomes available and many of these movies already are available to Netflix they need to make sure to have a system that makes these choices of movies available to users in every single device that they currently support like all these devices so how do we how do we actually implement such a system that makes it available for the end user with these crazy expectations that people have it really crazy and I want to watch a movie I wanted to watch it now and I just would get to watch it and here is one more by the way that somebody mentioned which is actually a true case I want to watch a movie watch a half movie at home and then drive and watch the rest that is possible today so you can you know pause and resume from one device and go on to the other device that is also possible it works flawlessly by the way so that's another request people had and you know Netflix implemented that so to have these kind of feature sets available and implemented from a user's perspective let's understand what does it need to go under the scene behind the scene from a Netflix employees perspective what would they need to actually do to make things happen in the context of using the Amazon's cloud so I'm actually going to find a good picture for us to further discuss so that's what I'm doing right now is going to look at that picture that I have saved here somewhere I'm going to identify it and then discuss further so that we can actually make some interesting discussion around it I think this is a good picture okay I found it I will also share this picture with you so you can also have it locally available to you so that picture is how do I share it with you I need to find it somewhere here first so let me grab it and share it with you this picture needs to go to slack chat that picture slack chat and I'll make it available to you locally so you can just browse around as you as you go and that picture is coming to you no not that picture no no no that's not a file format you can read so I want to export it as PDF and then drop it on your machine in slack so where is it there now we have it drop it and send so that's the picture I will be using right now and I will use a pen to notate annotate the picture itself so in this picture it might look daunting to you but don't worry about it I'll go focus on one box at a time to get us through the perspective there are various perspectives I want you to keep in mind I'll use the same picture from differing perspectives a first perspective I like to talk about is actually the perspective of a Netflix employee so imagine there is a Netflix employee let's go this guy and that this guy sitting in the office and he or she receives a new shipment from the Disney company who owns Marvel and they have decided that Netflix needs to make the Black Panther movie available on the Netflix network in the month of July 2018 that's their decision so they made that decision so now this guy knows about it and he has access to the raw file this raw file is made available to this guy now that person has to do a bunch of things to make that movie available to the end user which is a different person not this guy it's people like you and me who will want to watch Black Panther on say July 1st of July or rather 4th of July let's say 4th of July Black Panther movie becomes available on Netflix that's the date so they gave you a date and on that day I want this particular movie to show up on Netflix and become available so that's the desire I give you the raw file right now here it is take it please so got the raw file now what do we do now let's go see let's go see what that person needs to do so he or she takes this raw file it's a large file format by the way because it is raw it is the source coming straight from Hollywood and you want to begin with raw processing to begin and then we have to actually make sure that we are able to serve that particular video to every single target device that we want to support in our company right these smart TVs and media players and game consoles and all these devices that I'm talking about the client endpoint devices all these guys all these machines equipment in people's homes and you know cars and wherever they live and they need to serve the video Black Panther was 4th of July 2018 and today it is February 21st so we have enough time ample time for us to prepare ourselves to make sure that this happens so now let us go understand what does it take to make that thing happen and we'll continue I closed it by accident yeah I think I closed it by accident so here it is so that raw file becomes available to this guy now he has he or she has to take that file and somehow manage to upload it to the cloud the first thing they will hit is a load balancer and this load balancer is basically here in the picture to address the need of internal company employees trying to accomplish similar goals which is to to somehow have a way to provide the raw sources into the cloud system now I am using a person as an expression it doesn't need to be a human being it does not need to be I'm just showing you as an example of a person because I saw this picture there but it doesn't need to be a person it can be another machine that takes this raw file and uploads it into the system into the cloud to make it go through motions and steps to make things happen for the Netflix customers on July 4th so it is presented like a person but it doesn't need to be a person that's the point I want you to remember it's some entity let's call it an entity that provide the raw sources it can be an employee but doesn't need to be an employee and that entity uploads into a load balancer and what this load balancer is doing is balancing the load of these entities like this guy or other people or other machines trying to provide sources of files coming into the system into the Netflix system for further processing so that's that function of this load balancer what this balancer will do is automatically scale the number of these boxes from 1 to 2 to 3 to any number needed and these boxes will handle your upload of any raw files coming in as things come along that's what you will see happen is that this particular load balancer will handle scaling of your upload servers now what's the purpose of these upload servers is very very simple the first thing they do is take that raw file and dump it in a bucket so the raw file sits right there the second thing that they would like to do is to mark an entry in a queue now this queue they are shown is implemented using the simple cubing service SQS which is an Amazon service SQS SQS and so that is this service available in Amazon but this is actually very easily substituted by this service this open source software it's called rabbit MQ and you can use it if you don't want to use that thing so it's up to you it's easy to use just simple viewing service you don't have to set up anything but if you want to you can and there is a Docker image for that so you can say doctor rabbit there it is and so you can use the Docker image very very easily effortlessly say docker pull rabbit MQ and some examples how to run it are available right here docker run there are those yeah running the demon so here it is docker run blah blah blah blah right there so it runs rabbit MQ for you which is basically this thing same thing more or less there's some differences but not really that will prevent you from using other tools like this Nilesh is there a good spot for a break tonight at all I think the good spot is when you want it the spot is right now so whenever you want it that's the break time all right thank you oops 53 minutes are we kidding okay leave this page get to seven minute timer that's good so a break is when you want it yeah this depth you need to control the depth that you would comfortable that I can keep going deeper but I want to take more than two sessions on going to all the things if you get bored at any point in time say enough of it too much move on please tell me so and I will move on you I walk away and I come back you you you you you you you you you you okay guys let's see if your back Elish microphone thank you sir I forget that all of the time after every break without fail I gouged it But thank you, John. You're there. Appreciate that. So, let's see. I think people are back and let's see activity. So there is this, this feature set that shows me activity of you, whether you are paying attention, sorry, whether you are paying attention or not. Apparently these guys have come up with a feature to tell me that I don't believe them, but that's what I'm looking at. It's kind of a proxy to your mouse movements and your keyboard activity or something else. I don't know what they do, but this software, Zoom software has this attentivity metric, which is silly, but they have it here, which tells me whether you are active or not, whether you are, I don't know how they detect. Maybe they do. Hopefully they'll look at user input. And if your screen is right in face, it is in the foreground or not, whether your mouse is active, whether your keyboard is active. That's what I think they suspect. I suspect that that's what they're looking at to get to an attentivity metric. I don't use any of that, but I'm just saying that that's the evolution of these conferencing software will help the presenter find out if the user is attentive or not. I hope you are attentive because these metrics don't mean anything to me. So I'm closing that window and just moving on. If you find that I'm boring you, please tell me. I think you know how to tell me, like on my face, hey, Nilesh, you are a boring person. So stop that. You're okay to say that. And so please do that. And with that, I'll begin, proceed. What I want to talk about is this picture again. So the first thing that these upload servers will do is just dump that video out in a bucket of some sort, some storage. That's what stores the media files. In addition to that, they're creating an item in the queue. What is this idea behind a queue item? What are we really storing there and what exactly is the purpose of this queue? That's what I will focus on in our next discussion. And so let's go understand what that queue is going to handle. We can implement the queue using SQS like shown in this picture, or we can use RabbitMQ, which is another possible implementation of the same thing. Essentially what we are doing in this job queue is a to-do list. That to-do list is a list of things to do. Now let's understand what that to-do list will contain for a movie called Black Panther that just came in. So in that list of to-do things, so here is my to-do list and I'm adding one movie, one action item to the system. First action item is, that's it. That's the action. The detail behind what that item needs to do in the to-do list item is up to the logic that we will handle. But at the very top level, this is the to-do list item that I want to really keep track of and make sure that the end and make sure the result is in the bucket. I think that's a better way to describe. I put, rather, please find Black Panther raw in the bucket and then process Black Panther and then put a result back in the bucket. So that's the action expected. That's the only action which is kind of similar to every other movie, not just Black Panther, but it applies to other movies. The same thing applies. So it is not about Black Panther this time, but some other movie, for example, the Sholay movie that I have in mind. I don't know why, but that's my favorite movie, apparently. So this movie, this is the second item to-do list is right there. So these to-do list items, item number two, and more movies come along. I'll add another item like that. And that is what that to-do list practically contains is process Black Panther, process this movie, process that movie like that. And so you will accumulate a list of things to do. As new movie comes in, raw sources come in, you find them in the bucket, and a to-do list item is added here in the queue. And then this upload function is done, considered complete. So as soon as the upload is finished, maybe this load balancing system and this auto scaling system may want to shrink the work because it is not so many new movies coming in, not much upload work. So the work has reduced the number of visits coming from either machines or robots or people that are trying to upload raw files has reduced. In that case, the upload servers should automatically shrink in the number and reduce down to at the bare minimum, which is maybe one or maybe the bare minimum small machine running something that just lets you know that there is an upload server. But apart from that, other machines that may have been created to manage the upload workload can disappear. They don't need to have up and running because the auto scaling logic should take care of that. That's the design here in terms of handling auto scaling of the upload machines. So that piece I think is understood. Now let us focus on this list, the to-do list item. This to-do list is basically a process queue. I want these things to happen, like process this, process that, process this, process that. And that is what I call a queue. Now a queue can be represented in a variety of fashions that you probably already know. You may have heard of this thing called a FIFO queue or a LIFO queue or some other type of priority queue. If you have heard these words, maybe you haven't, but in simple terms, this is the queue that you find when you go to a grocery store like Safeway. You go to Safeway, you go check out and your first person reaching the point of checking out, then that person, the first person in is the first person who gets out, FIFO, first in first out. That's the line. That's the standard line that most people know already. A line forms, you go first and the first one who reaches there is the first one who gets processed first. That's the FIFO handling. The other queue is the other way. The other way is the non-human way and that way is called a stack. It is not human to handle people like that. Don't handle people like this, like a stack, but you handle objects like a stack. If I have a stack of things, I can possibly put them in a stack. Here is my item A, here is my item B on top, here is item C on top. I can stack them up and then process the last one first. Last in, first out, LIFO. We call that plate stacking. When you stack plates in your cupboard, you put the plates on. Exactly. This is this stack construct, which is what plate stacking is, an item stacking, plate stacking. You can stack any idea that you have, but just don't stack people, please, because they'll get offended if you let them last one first. That is not how people expect. It's not inhuman behavior. That stack applies to objects typically, but if you handle, apply that same logic to people, they'll get offended at you. Having said, there can be other queues like priority queue, for example. A priority queue is something that is different from these two methods. When you have a priority assigned to some object, maybe this guy B gets a priority handling because he is considered to be an emergency situation. Maybe B gets processed before C and A. That's the priority queue handling with an asterisk indicating priority, even though in the queue, it may be a different position. It may be in a stack, it may be in a line, or maybe some other representation, but priority applies to B. That asterisk can be any characteristic like emergency situation or maybe premium paying customer or God knows what, a priority class treatment in airline seats, things of that nature. A variety of queue implementations. In our example, you can apply this logic here in the queue. If it is a Black Panther movie that is scheduled to become available on July 4th, you have ample time, so there is no reason to bump the priority of this Black Panther processing. There is no reason, but maybe there is some movie that came in late and that needs to become available immediately. The date of availability is actually scheduled to be March 1st. That movie that I have in mind is currently not available, and that movie needs to be processed even though it came later after Black Panther in the input. You can have that marked as processing higher priority and have this movie S processed before others. That really depends on business logic as to how you want to handle and assign priorities in your queue in your queuing system. That's the concept behind understanding queue and its priority handling, whether it is first in first out, last in first out or PQ. Having discussed that, let's go understand further detail on what is the processing involved and how will it work out in this example picture as drawn by Amazon for us. I'm just using the Amazon's media sharing picture to illustrate a point about how would Netflix go about processing these things for the example that we are discussing. It is not exactly how Netflix has implemented because they don't disclose it, but it is a good approximation of how Netflix could do if they wanted to. It doesn't mean that this is exactly how Netflix has done. I just want you to be clear about that, that this is the Amazon's interpretation of how media sharing applications should be constructed as a reference architecture. As you can see, these are Amazon's recommendations on reference architecture for media processing and media sharing systems. It doesn't mean that this is exactly how Netflix is designed. I think that's a good disclaimer to have. Now, having understood that piece, now we have a queue in hand, but we need to have somebody to handle the queue processing. That queue processing needs to be handled by a bunch of other machines. Let's go see what those machines are. Here are those machines right there. These machines are responsible for pipeline processing, as you can see the name right there. They will handle this queue and they will process it. Processing means what? It means to have the ability for Netflix to provide the Black Panther movie on all these devices, irrespective of whatever the form factor is, the codec is in the aspect ratio is in the audio and video and God knows all the parameters. All these devices should be able to play Netflix on July 4th. That's the requirement from a business perspective. That is what this queue dictates. That is what the pipeline processing pipeline will need to do is to take this item from the queue, which might have the S movie or the Black Panther movie or other movies. Let's say this one is the one that gets picked up by some logic and gets ready to be processed. When that item is getting processed, you will mark it as being processed. You will mark it something different, like I am under process right now. You just mark it in the queue and so it will keep that at that moment. Or maybe you can remove it and handle it in a separate queue, but somehow indicate that it is under process. Now these processing servers that you know here, these guys, will be automatically scaling also. They will grow and shrink. Can you tell me what logic will you put in place to make it grow and shrink? What constitutes a growth indicator? What should be the case in which this box should be added with one more of the same? When should it grow and when should it shrink? That's the logic I want to understand from you. There is no person involved, no user, no end user there. Queue length. Queue length. Yes, exactly. Depending on how many items you have to do in the queue, the queue length itself will dictate whether you need more machines or less. Our goal is to process the queue down to zero. That's what we want to accomplish is to scale, grow and shrink depending on the amount of work that we have to do, which can be seen by the queue itself will tell us whether we need more or not. If there is a need for more machines, just get them. Put them to work and finish it off. When the processing finishes off, let's say for example, this BP processing finished. I need to remove that item from the queue. There are still other items left and that's okay, but at the end of the processing, I will have a result here in the bucket that will contain the raw file for the BP movie and also contain all the processed output for the same movie sitting in my bucket and that will be provided by a processing server. This raw file was provided by the input upload server. The process result will be provided by these guys. Now, let us see another idea here, another idea at play. Imagine now that your processing is going on and your Black Panther movie is under process and this machine is currently processing Black Panther. Now just imagine, if Amazon decides, not that they would, but they could, something might go wrong. Some natural disaster happens. Something strikes and this machine dies. If that happens, let's imagine if that happens, which could happen by the way, it's very natural for disaster to strike. If you have a disaster at hand, it will happen. Like this machine disappears. It was doing your processing, man. It hurts. It died. Now what? What do you do? Automatically create a new one. Yes, create a new one. And what do you do with this item? You begin processing again from the beginning. Just as if you just got a new movie, you just start all over from scratch. You forget that you had this machine died. You just begin from the beginning of processing and just do the whole thing. And when you are eventually done with the processing, you get rid of that machine and you put the result back here. And so that discussion which I just had actually is something that sometimes is out of your control because things might go bad on you and things might die on you, which might happen. Nothing wrong with that. It happens all the time. And so what you want to think about is a different idea that I'm going to just tell you like right now, which is imagine a situation when you voluntarily want such a thing to happen. When you or rather I should say differently, I should say when you can afford sudden death, when you can afford sudden death, should you opt for it? That's the right way to describe this idea. Because I'm saying that if you can, like in this case, you can potentially afford a death of a machine that is processing Black Panther because we have ample time, right? The time is July 4th. We have enough time. Today is March, April, whatever that month is, February. And so we have ample time, right? So there is ample time. Can we afford sudden death? Yes. Yes, we can. Should we opt for it? Should we ask for trouble? Maybe. The answer is maybe. The reason is maybe if somebody is going to pay me money, maybe I will opt for this, right? Give me an incentive to ask for trouble and I will take it because I can afford to take sudden death. That's a crazy way to think about, but it is not. And I'll tell you why. If you know what I'm talking about, please tell me. If you know what I'm talking about, please let me know. But I'm going to describe this crazy idea right now, which is if somebody is going to pay me money or rather save me money, I am going to willingly opt in for my machines to die, sudden death, because I can afford it. And that is exactly what I think you should do. Because if you know that you can afford a death and somebody is going to pay you money or help you save money, you should opt in. Why not? I will opt in all day long. I'll take the money because I can afford it to die. Do you know what I'm talking about? What exact idea that I'm talking about here? Do you know who pays you money? Who saves you money? Okay. Let me show you now where it is. So here we go to Amazon's console. Amazon will help you save money. If you ask them, rather tell them you're okay with sudden death. That is not how Amazon describes it, by the way. This is my way of describing it. But Amazon calls it something else. We'll tell you about what it calls that thing. So we go to EC2 and we say, create a new machine image. And we select 2.1.2 Linux and we select a decent size. Not that T2 micro, but decent. Yeah, this M4 large looks good to me. So M4 large. So that's what I'm selecting, M4 large. And it has two CPUs and 8 GB memory. That's good enough, at least for now. We can select higher, bigger machines. But for right now, for example, this is a good example. So let's go proceed, configure details. And here's something that we have never seen before is what I would like to point out to you. Is the purchasing option. This option lets you select something which I just described to you in my way of describing, which is kind of crazy, by the way. But the Amazon way of describing is not so crazy. It is this way. They call it spot instances. And in that way, what happens is you sometimes save money. Let's see how much and how. Let's see both of them. How much you save and how you save. So we are discussing this machine size was what? M4 large, if I remember right. So we'll say M4 large pricing. And here is the pricing for M4 large. What's the pricing? In Oregon, the M4 large running Linux is, they don't have, there it is. So it is 10 cents per hour, right there. That is your M4 large, 10 cents per hour. This is the market listed price, on demand pricing. If you go to here and request this button, you see something crazy different. What is that, that you see? I am reading that number correctly and I don't apparently, at least I know what it is, but it is three cents compared to 10 cents. So what just happened? What just happened is Amazon decides to save you 70 cents, 70% by the way, on your machine expenses. Just because you said, it's okay to shoot my machine down instead of 10 cents. They said, okay, get my machine for three cents. I will save you seven cents per machine per hour. Would you not take it? Would you pay 10 cents and get a guarantee that your machine will always be up and running? Or would you be willing to take a three cent machine, the same machine, by the way, same exact machine, M4 large I'm talking about. Same exact machine in your location, just like you want, but you save 70%. Why do you want to save? Because you can afford to get the machine shot on whenever Amazon feels like, literally. So Amazon says, I will kill your machine whenever I feel like, but I will give you the machine here for three cents as opposed to 10. Would you not take it or would you take it? What do you think? Yes or no? It depends. Yes. In this example, does it depend? Does the case apply? Does the case apply here? You know, the queue is not that critical. We have our Black Panther movie that we need to be able to finish processing by July 4th. And today is February. So I have ample time. I can have this machine die five times and I can still finish the processing. I don't care. So when I know I don't care, should I take the 10 cent machine or a three cent machine? And I'm just saying that these are the sheer volume is 70% discount. Should I take the 70% discount or not? When I know I can afford. Yes, beyond doubt it is. Yes, indeed. Exactly. That's exactly how you should behave in selecting a cheaper price option of the same exact machine by requesting a spot instance. The question is, is there a guarantee that at least one machine will stay alive? No, there is no guarantee. The guarantee that it will absolutely die whenever Amazon wants to. That's the guarantee. There is no other guarantee. So what you should do is you'd at least have one machine at 10 cents and all other machines, three cents. That's how you should design. If you want at least one machine up and running all the time, you pay one full price for one machine and then everything else spot. So that spot market is like eBay, honestly. And that is something that let's see how much time we have done. We have about 20 minutes. Okay. This is good enough for us to at least have this part of the discussion complete and we'll continue this the next time. But I want to drive through some of the some of the business related aspects of choosing different types of pricing options, which I at least apply directly to example like we're discussing right now. So if you go here and select this kind of prices, you can choose whether I want to bid for the current prices are 0301. That's the current price I see. So if I now go and create a machine of say, I'm going to pay willing to pay 0.04. So I'm going to pay four cents up to four cents. That's my bid. I'm bidding right now. The price I'm willing to pay. If I want to really bid a price that is higher than this price, I will actually get a machine allocated. If I bid lower than that number like two cents and continue to proceed like that, I will not actually receive a machine. I can finish and add some storage and add some tags and configure security groups and select an existing group and all that and review and launch but I will not receive a machine because my bid is low. So let's finish this launch the machine and I'm just arbitrarily selecting something and just launch it for the sake of launching but I'm pretty sure I'm not getting a machine there. The spot request is submitted and yes indeed that's what I'm going to show you Kevin right now is the Kevin is asking us the question is somewhere to look where the current availability spot rates rates of spot instances are and that is what I'm going to show you right now is right here price history tab. So here it says that this is a spot instance request and the status is price too low. I am willing to pay only two cents and the current market price minimum fulfillment price is 0301. So if I need to go above that number for my request to succeed otherwise I'll stuck with this open request open state and not actually succeed. So now answering Kevin's question there is a spot advisor button right there and a pricing history button. Let's go first look at the pricing history and look at Linux and for large for the last three hours. Let's see what the prices have been for the last three hours the prices have been 0301 that you can see right there this red line shows up on the top line here on demand price 10 cents showing up right there. Now let us expand the window opportunity here window view here from last three hours into last one month and you find that it is still the same 0301 price for the last one full month. Let's go change it to three months and you still find that it is a little bit different here but then it changes here. So the prices change a little bit probably that 0303 in December but then it became down to 0301. Apparently this is a sign that this particular region in Amazon is underutilized and therefore the sustained spot prices are consistently low for the last three months. It was a little bit higher here as you can see the price numbers in December or before December November were 0303 0308 and 0305 as you can see on this side here that's where the prices are showing up. They slowly drop a little bit even further to 0301 and are stuck like that. This indicates that Amazon is flush with resources not too many customers and therefore the prices are discounted by 70% down from 10 all the way to 3 and the discount is kind of persisting for the last three months. We don't have enough history to look at so what I will do is look at some other machine type not M4 large but something that is crazy popular these days and those are your Bitcoin machines. So let's go see them. The GPU compute instances these guys are popular so you will see price variations and fluctuations right there. So you can see the current spot prices are 81 cents 85 cents right now these days sometimes actually 78 cents exactly right now. But if you go back in history a little bit you will find that the pricing numbers have been different all along and at some point like here for example in November you will find that the price was 26 dollars which is an obnoxiously high number than the on demand price. On demand price is 2.6 2 dollars 60 cents but at this point the spot price was 26 dollars per machine per hour. Why would anybody do that? I mean what's the logic? Can you tell me what the logic is? Like why would anybody pay 26 dollars for a machine that is generally available at 2 dollars 60 cents? Bitcoin was high. But that's not a logic I mean the price is still you can still get 2 dollars 60 cents the same machine you can still get so that's the on demand price. Bitcoin was high I understand. But there is actually what I'm trying to say is there is no logic here. This is an Amazon product manager arbitrarily setting a price of 26 dollars to clean up cheapo spot users. This is the action at that time when you bump the price arbitrarily high to basically indicate the fact that your spot price is going up which means I need to kill your machine. So clean up on aisle 9. I mean clean up on all the cheapo machines that all these cheapo spot people. You go away. I don't want you. I want to make room for paying customers. That's what that action had typically happens. Is Amazon product managers will typically bump the price arbitrarily high like instead of 2.6 make it 10 times 26 dollars. There's no idiot on the planet that will spend that money. So as a consequence your spot price that you have selected as the price that you are willing to pay will become lower than the Amazon arbitrary price and therefore your machine will be shot down. I will clean up this request right now also because it's kind of futile request to have it sitting right there and I look at this spot advisor button. Now here you can see a bunch of different this is a relatively new tool that is come up it's called spot advisor and they attempt to describe like what's your compute specifications what are the minimal requirements and we'll recommend a fleet. So you need to have you know or like two CPU 3 GB memory on any availability zone and I want 20 machines so you can recommend that you know here is the option availability interruption likelihood is very low these days because the machines are kind of underutilized in all the regions. So that's what Amazon is suggesting. You can pick and choose the type of fleet that you need of your machines. This is a new feature that Amazon just started apparently is the spot advisor feature which gives you a suggested spot selection metric for a type of job for a web service map reduce job or any other type of job you can see the interruption likelihood and the actual price in the spot right now you can bid a little bit higher than that to get to a point where you will feel that your machines will keep on functioning and it's very likely that your machines will actually finish off the processing involved before it actually gets killed unless there is a real shortage of machines. Now the questions I have which are which are focused on the same idea here is that I want to erase this and bring up another clean sheet of paper to discuss that is this idea which is imagine now you are a manager of Alaska Airlines Alaska at the Seattle Airport and here you have a plane that is about to go from Seattle to San Jose and that plane has you know almost full but these three seats are left vacant. It is the time for plane to fly the 10 a.m. it flies and you are right there at the airport at nine nine thirty or so and you are you don't have a ticket yet but you have money with you and you're willing to spend money to go from here to here you have the ability to buy the ticket at full price and the full price is say hundred dollars and you are available standing at the gate without a ticket with money in hand this is a fictitious example by the way so you're not allowed to get in by the way into the airport for security reasons but I'm just saying that you know imagine that's the case and you are a manager and I am there as a passenger this is me at nine thirty and I want to go but I'm not willing to pay hundred dollars so my question to you is is how much will you be willing to let me spend to get on one of those free seats that these three seats vacant and I am there available and there is nobody else on the everybody is already boarded here in the plane the plane is ready to take off it's almost almost about ten o'clock and I'm there with cash in my wallet I'm ready to pay you but not ready to pay you full amount now as a manager in this airline your goal is to make sure that your airline is profitable and as a passenger my goal is to save money I still want to go to the San Jose location but I don't want to spend all the money so I would take whatever your profit margin in is thirty percent and I'd give him twenty percent so you're still making ten percent or what you do is what the cruise lines do is they give it at a loss knowing that you're gonna spend money on the cruise so you can actually do it even at like fifty percent so you're losing twenty percent and you know that they're gonna spend money on the plane by buying drinks and food and other things so you'll make that money up yeah exactly that's exactly what is going on under the scene in Amazon because if you imagine what Amazon is doing is ten cents discounted down to three cents on a per machine basis it's a seventy percent discount why would anybody do that and how can they actually afford to do that is because if you don't discount you're actually wasting resources I'll describe why and how in the plane example we have three seats vacant the vacant seats the plane otherwise is full all of the seats are taken and so if you let go of this plane and it flies to San Jose whatever you spend on getting from here to there is already spent it will cost the same exact amount for you to fly from here to there just because you added one person the incremental cost of you adding one more passenger how much is that incremental cost it is literally the cost of peanuts peanuts as in the whole bag of peanuts that you are supposed to finish they give you a whole bag right that peanut bag is the extra additional cost that is exactly what a typical airline will pay in terms of cost because they'll spend you spend some money on the bag and they might give you some you know like coffee or tea or something or maybe you'll use the restroom so there's some additional cleanup required or maybe I'm just exaggerating but there's some incremental cost you can basically say that the cost could be a loaded cost could be like twenty to thirty dollars max not more than that on an incremental basis adding one more person doesn't add more than thirty bucks of cost so if you want to keep profitability you can still sell this ticket for fifty bucks and and make twenty dollars extra profit even though you would that would get that you would otherwise not make like in this example if you let me sit on the plane for fifty bucks you still make twenty dollars that you would otherwise forego and I will be left behind here which is the case which is very similar to this case when Amazon has a fleet of machines sitting idle with no customers on it it is a good idea to discount by at the same time retaining the ability to yank the machine away yank it away yank it as in kill the machine away from you and deploy it to some other customer at another another point in time whenever the actual customer full paying customer arise paying you ten cents you want to have that customer use the machine in a priority fashion as opposed to you cheapos who are paying only three cents so you yank the machine from the cheapos and give it to the full paying customer and you retain that ability to kill the machine take it away and thereby you make three cents and if you don't do that you're wasting money because you otherwise your machines are idling doing nothing not getting ten cents because there is not enough customers and you're not even getting three cents because there these cheapo customers like in this example that we just discussed that may want to be okay with the idea that you know the idea that I can tolerate some downtime I can handle this machine and let it die because my need in this queue is not that critical and I have ample time and I can afford my machine to die so why not save some money while I can and that is the idea in behind the concept which I'm describing as spot instances which is more like an eBay marketplace for machines that's a interesting concept in that the business model there is similar to hotels cruise ships and so forth of it's cheaper to give it away however their business model is a little more unique in that they can take it away from you yes in hotel we're not gonna kick you out of the room right so this is an interesting business model that people are willing to have their cheapo thing taken from them and yes willingly so definitely interesting business model yes indeed it is indeed interesting it is more interesting than a hotel night because they can not like in the middle of the night Yankee out of the room okay now I have a paying guest, you cheapo get out of the room someone who'll pay full price so get out yeah it doesn't work in the middle of the night you cannot kick people out but you can kick out these guys who are paying for spot instances because that's what you tell them upfront that I will take your machine anytime I feel like I'm giving you at a 70% discount to take it if you want and people take it all the time and it's a good business idea I mean it should this is exactly how it should be implemented from a from a user's perspective however there are other ways to implement the same concept in a different fashion which is the Google style of implementing the same idea and I'll describe that also in just a minute so this is the Amazon's way of implementing their policy in terms of what they call spot instances by the way Amazon is another way of pricing so Amazon has three types of pricing by the way one is the on demand price the second one is the eBay price which is they call it spot instances I call this the one I described and the third type is called contracted price I think they have a different word for it contracted price so on demand price is like list price so you whatever you say 10 cent that's the price the spot price can vary from 0301 to whatever number up and down and suddenly Amazon might decide that my price is $26 and so you just the machine disappears fine so that's the spot price but in between these two is another price somewhere in between is like maybe six cents and you contract for a long term period like one year or say three years and commit that I will pay six cents for you for this machine for per hour for one full year and you give me for six cents I have a contract with you that I get that machine for three years Amazon might give you for five cents so that's another way to get a machine reserved and that's where the name reserved pricing comes from so the name Amazon uses I think is the word reserved pricing when you enter into a contract with Amazon and you agree to pay for three years five cents or six cents for one year term and you get a long term commitment so let's go see that commitment detail here console and you go to EC2 and let's see if you can get reserved instances and so you can purchase reserved instances pretty much like that so you can say t2 micro is not a good size I want to get m4 large where is my m4 where is m4 okay let's go m5 large whatever so m5 large default tenancy I want to get a two year term over three so only 12 and 36 these two terms are available so let's go look at 12 month term and I get a standard class and a payment upfront there are payment options also I can get all upfront price or I can pay nothing upfront and let's go search the nothing upfront fund first if I say nothing upfront search and I get the idea here 12 months I pay six cents six point one cents nothing upfront and I get standard offering class in one quantity and I add to cart and I check out and when I check out I'm making a commitment that I will use this Amazon Unix m5 large machine for 12 months whether I use it or not doesn't matter but I will pay you six cents six point one cents hourly basis for the entire 12 month period and that is what I'm committing to so I can commit if I want to and that is another option of purchase from Amazon so if you add this to cart or add more to cart let's go identify another example in which I'm saying that I want to get a 36 months commitment with no upfront pricing and I search and I find that I get a four point two cent machine and I add that to cart and then I view my cart and I see that I have a 36 month long period commitment four point two cents of pricing by the way the numbers I did here in my example they were made up numbers the exact numbers are zero point zero six one and zero point zero four two as opposed to five cents and six cents they're made up numbers as you see them right now and that's what I'm looking at so 12 month commitment six cents price 36 month commitment four cent price I can commit that by clicking the purchase button but I am not going to do that so I'm going to cancel it out and here you can see other variations of the same idea here which is you pay something upfront like partially some amount upfront you can pay some amount $66 upfront and you can get the same machine for an hourly rate of two cents because you're paying some money upfront right now you can also go full upfront the whole thing upfront and search and you will find if you pay hundred and fifteen dollars right now you can get one machine the same now this is t2 micro you change it to m5 large so m5 large search and I if I pay a $968 upfront then I get to use that machine for zero dollars per hour for 36 months so you can adjust the pricing depending on how much payment terms you want to pay upfront partially upfront nothing upfront and that is the reserved pricing options available which is a valid option the other similar option from Google's side I think is interesting at least I find it interesting in that what they do is is that they don't make people go through this business or even this business they make it simpler and I'll show you how what Google does is if you go and start using the machine you get a machine of some price at 10 cents and you start using it and you use it for the whole month 30 days they automatically give you a discount they chop it off like that so after it's after a certain number of days they start discounting you if you continue and sustain the usage of that machine for a full month they will automatically trim off this amount that is removed and you get a discount so it's it's given to you if you sustain the usage sustained usage so you don't have to go through this unnatural motions of you know bidding for machines and contracting for prices and then by the way they have this one also in in Google they have this contracted price also they call it what do they call it commitment they call it commitment price and let's go see that commitment also quickly should be here and you can buy commitment where is that compute engine come on hello hello Google respond to me there it is compute engine committed use discount that's what you will find you can purchase something that you like to make a commitment for for one year or three years and choose the machine type high memory high CPU standard size how many machines you want and you make a commitment that I will use this machine so I get a monthly total bill of $15 I'm committing to use it for three years so as a result of this commitment I will be getting a $20 discount per month otherwise the machine is going to be 36 but I am going to pay only 15 because I'm making a commitment for three year term three years that's the idea that Google has in terms of giving you long-term usage discounts for a commitment that you make which is basically like reserved pricing here in Amazon's case so similar to this contracted reserve price for eBay style pricing Google thinks it is complicated and that you have to go and bid for it and the machines might go away from you so they just give it to you like sustained use discount you use it you get it no matter what whether you are using it or not the moment that you you they notice that you are actually using and continue to use a machine for a longer period of time throughout the month they just give you the discount so that sustained use discount in Google cloud is described here so when you they describe you if you run an instance at the rate of at a monthly usage level at 25% no discount up to 50% you use the machine throughout a month you get 80% of the base rate if you use up to 65 60% use 100% of time you get a 40% of base rate that's just given to you automatically which is what you notice in case of Google's and graphically it is represented by this picture effective discount percent increases as the percent of month used increases so it's up to up to 30% we're at time oh we crossed the time okay so we'll get together again we will get together on 23rd which is Friday at four o'clock and with that I'll pause recording and I forget thank you for I lose you know lose my sense of time completely you may have noticed that by now so let me stop recording and