2017-01-17 Cloud Technologies

Show video

Hey guys, let's see I have make sure that I can unmute everybody, there we go, so you should be able to speak, we'll keep the microphones open and active so you can talk and all right yeah I can hear you all right yeah hey here we can hear me this is Raj how are you doing good I am going to yeah we're a little bit early right yeah I think so yeah a few minutes yeah we'll wait for people to come online what I will do is everybody know that we have started they can you know join on time so I'm gonna grab the email hello shave how are you doing hello shave how are you doing good to see you hey happy new year good to see you we have a couple of people already online and we'll start at 4 o'clock and what I'm doing right now is grabbing that meeting invitation and sending it out to everybody in a group chat we have a group chat we I think that message I have started the conference point I would also do the same email and send everybody an email also we have people and so we want to make sure that everybody is received I have not had the chance to talk one-on-one with at least a couple of people yet so that is my concern I am making sure that everybody gets online and then we proceed forward so I am looking to share my screen first there we go so you should be able to see my screen right there and I will now open my email and send out a notification to everybody telling that we you know telling everybody we have joined and we have started the session is starting so I'm basically finding that email that I sent to everybody out where is that welcome the welcome email is this one please join okay so I'm sending that message out and I think all of you should receive it okay one two three four counting six seven eight nine and ten people Wow okay so here we have a message going out to everybody asking them to join people joining in hello everybody we have Alex Eric I'm unmuting everybody so that all of us can talk we will keep microphones active so that you know people can basically you know ask a question anytime you feel like that's the idea behind this is it is interactive and so we will keep it like that unless it starts to make noise then I will mute you and then you have to unmute yourself and so we'll do that but I don't think that happens you know I have tested audio level audio quality with almost all of you one-on-one and some of the audio issues we have sorted out there should not be any problem as such and let's see you know we have how many people one two three four to join in already that is sweet and I would like to begin discussing a couple of things for example you know here in the boot camp section if you go to the welcome button you're looking at my screen right if you don't see my screen my desktop please tell me and by the way this video camera that I have I have set it up in a slightly different fashion it doesn't point at my face but at me in my direction generally points at my direction and you know if this looks weird to you please tell me and if that's the case I will you know make sure that I adjust my camera I hope this is okay so we have seven people online including me and there we go we have more people coming in and we have David hello David I think I am talking to David first time today we never had a chance to connect right David are you there online I am yes yeah hi good to see you good to see you and good to hear you I made sure that you have access to the online website content which is what I think I want to make sure that you do and I think I also make sure that the audio is clean which I don't see any problems so okay let's begin so please tell me that you have access to this welcome screen which shows you the boot camp video conference and these links the cloud technologies link the cloud DevOps link and the cloud architecture link please tell me that you do have access and if you don't have access please tell me that also make sure that I want to make sure that you get access the idea behind this content library is to give you enough content for you to do it on your own and my recommendation would be that you forward in a speed to race through the whole content available to you already even if I have not yet covered it there is more content in the library here online than we can actually cover and so therefore I'm suggesting that you know we please go forward right start there is this step-by-step sequence laid out you please begin with the the cloud technologies segment first don't begin with architecture so you know go follow the technologies first and then DevOps and then architecture it's a step-by-step building plans we had to build accordingly we'll go through now it is four o'clock almost and so I welcome everybody I want to say one thing which requires which is required by law which is to let everybody know that this session and all of our sessions will be always recorded you know your sound that you make your picture that you show your desktops your faces on your video camera they will be shared with other people I just want you to realize that this session is being recorded and that is required by law so I just told you that having said I am recording this because I want to give you a video and that video will become available to you so that you can rewind and repeat that's the primary idea behind this recording business and the idea is that you can always you know catch what did he say and catch me catch my mistakes you know if you run into an issue you call me email me we have a slack chat channel use that use that to make sure that you actually gain benefit from this program and I want that benefit to be in three different aspects of the first one build your skill set second one build evidence and third one build your network people people that will work with you we have more people joining in I guess that's what I'm getting alerted to so I'm making sure that everybody is unmuted because that is I want to make sure that you can talk that you can participate anytime you have a question please speak up I don't hear you please call my number you have my phone number call me if I don't listen to you so anytime you need something please speak I want it to be interactive that's fundamental way of operations so three things that I mentioned now build skill build evidence that you have the skill and build your network that will vouch for your evidence showing your evidence and approve that you have the skills that you want many of you actually want to make a transition in your career of some sorts some of you actually want to learn something new some of others who have experience but don't have the hands-on experience so if you have joined it for that purpose so a variety of you want to accomplish individually one-on-one I will do that myself and making sure that you get that goal that you have for yourself with that I would like to request the person who is generating noise I can by the way detect who's making noise I can mute you selectively if you like and I will do that eventually once I detect the noise sources so okay I want to hear that everybody is able to access content here so if there is somebody who does not have access and I would like to make sure that I give you access I want to get these things the logistics parts moving forward and make sure that you are ready for accessing the content so begin here that cloud technologies click on that one scroll through this is Raj I have a question yes I remember last week we looked at it I could not log in because my account is already logged in from somewhere else yes you I thought you cleared my cash on your side is it still persisting that issue yeah I will reset your account don't like that account and make sure that you can actually access so I'm going to look for you as a user and your credentials that should resolve the problem so please try a different browser different from the one that you were using last time the one that I think worked last time was Chrome so use that one yeah different computer just clear my cash and everything that's good to know that's the reason why so you know the reason it locks you out the reason it kicks you out is that the site is so yes if you want to you know crack jokes it is better to crack that you know in the group in our private group so yes jokes are welcome but let everybody also smile at what you're saying not just me otherwise it looks very weird that I'm crack listening and you know I had a one-on-one joke which in a team meeting doesn't work so crack jokes welcome but please do that in the in the 2017 whatever that thing is like crack it here that's what you should do and I'm going to now look for Raj and clear his sessions so that you should be able to move forward with logging in on a different computer if you log on to an account using multiple machines that's the problem that I had to reset your sessions because it prevents you from proceeding forward and so I think garage you should be taken care of we have the sequence beginning from cloud technologies and that's the idea we will begin from here there are some other logistic steps that I want to take care of for example there is a school account so everybody will receive a cloud genius email and if you haven't received that I would like you to you know after this session please contact me or one-on-one maybe three hours end of the three hours we should do that spend some extra time and making sure that everybody gets access to some of the content which we will create like I will write these things on this sheet of paper and this is basically the one note notebook that you know I will be using to illustrate something I will write something here and this notebook gets synchronized with everybody so it is it's a new product from Microsoft it is called one note for classes or classroom the product is called it's called classroom dot Microsoft com and that product we have access to for all of you they have been set up so you can actually receive my one note notebooks in your computer automatically you will know whatever I write here you will receive that content automatically in your one note notebook because you are participating in the boot camp as students in so your names are showing on the left side and through that you will automatically receive whatever I write here that's the idea now that will happen only if you have what I call a school email that's cool email some of you I think I have received it already from me directly I gave it to you but others have not so please talk to me at 7 p.m. Pacific time after we are done with this session today we will work on that piece of you know some logistics elements making sure that you get a school email address getting you get access to this notebook and other content we'll also have a place to store our videos at the end of this session I think couple of you know I think one or two person just joined I would like to remind everybody that this session is being recorded and I would like to request a favor the favor is that I would like you to please take a note of this icon that tells you that this session is actually getting recorded so there should be some place in the screen that tells you that it is actually getting recorded do you see that do you see any notification okay good so somehow I am not able to see it and maybe it is my mistake and so the idea is for you to please keep track on that because if that recording stops we have a problem we don't have a video at the end of the session so we want to make sure that it is actually getting recorded and for chat Sammy is a source Tommy's the name is Sami the way to pronounce it is Sami Sammy please use the slack chat this chat that you just used I don't monitor it so that's great please use slack chat in the group conversation we have here that's where please chat so it helps me this recording is going to help you because it lets you receive that mp4 file at the end of the session there is a specific method that I have been using to share that mp4 files with past participants and that method is similar to the method that we have used to provide you with this virtual machine you've seen this virtual machine it is running on your machines right now this Linux workstation you have it already you have received it through Resilio sync I will also use Resilio sync the same way to send video recordings to you it will be automatically pushed out to your computer without you having to download anything as soon as I am done with the session the recording will get created and I will push it to you so you will receive it without having to work for it look for it it just shows up in your computer some of you already have a method like this set up because you spoke to me one on one for others let us do it after this I don't want to space time on this session and in the actual meat of the body of this discussion so let's proceed forward with the actual content of the training as to what do we want to cover today and so we have this outline kind of sort of mentioned and I'll broadly follow this outline however I am okay with you interrupting me any time and so please remember remember to interrupt because I love questions because that's how I think all of us learn there are some more chats coming into the zoom chat which I don't tend to monitor and I think there is some somebody just chatted there hey user logged in recently from a different location yeah Raj I think I'll fix that problem later on use select chat not this zoom chat it makes my workflow difficult I will not worry about the website right now I think I would stay focused on what I am describing and I will show it to you live and you can always get to the site access later on so don't worry we are not using the site as such right now having said let us create a new sheet of paper and discuss some of the core aspects as to what cloud computing is and how does it how does it relate to what we are really trying to accomplish and so let us begin with the fundamentals like the fundamentals of what is cloud computing okay I am gonna mute somebody who's that I'll take a note so you know what I'll just mute everybody please unmute when you want to talk unmute yourself you should be able to unmute when you feel like talking I'm muting all of you having said cloud computing the core idea behind what this thing is and you know what is it what that is the first question that comes to mind who defines it what is the definition do you know who defines this word cloud computing what is cloud computing do you know is it you who defines it is it me do I get to define is it some you know college some professor by the way I'm not a professor I'm an industry person just like you guys are as you probably know I am from Microsoft more than a decade there so you know people in the industry don't get to define it in our country NIST defines it if you look at NIST this institution NIST gov this institution defines standards for us and they have defined definition of cloud computing here so if you search for cloud computing definition you will find this particular document from NIST not this one from PC magazine but from NIST that standards body defines the final version of cloud computing in this document which is available in this publication at this link in this PDF file is a very good reading especially when you're feeling sleepy in the night that time you should read this long document it can be boring so I will zoom in on some very specific aspects of this document to point out where exactly the meat of this definition is and it is right here and that's pretty much it the these three lines in the PDF file define cloud computing succinctly let us read that so I'm making sure that I zoom it properly these three blue highlighted lines are it the definition the idea here is it is a model of using resources now what is a resource it can be you know hard disk a network some kind of a CPU resource any kind of compute resource that you have you want to use it it's a model of using that that's a resource if you define compute storage and network capabilities are the resources we want to be able to use those resources in a fashion now that how to use them is what is defined here let's go read in detail very specifically it's a model for enabling enabling what ubiquitous convenient on-demand network access to a shared pool of resources it is a shared pool meaning in a multiple people will share the same computer in some fashion multiple people will share the network the storage the CPU the application the services those are the resources that are being shared among multiple people multiple as in more than one more more than one people are using some compute resources on demand meaning whenever they feel like and it's very convenient all you need to do is click a button and you get access to it and it is ubiquitous you can be in Zimbabwe or in India or wherever you feel like you know it is always there as long as you have an access to the network that's the idea and so the scenario is that you are able to use these resources like I'm describing here we have some let me use a different sheet of paper that's probably faster than this it is kind of slow for me I will switch my piece of paper and describe differently so the idea that I'm describing is there is this thing called resource and these are the users you know multiple more than one and they want to access these resources and so you can do this anytime you feel like access these resources wherever you may be on the planet like ubiquitous you know as long as you have access to some kind of a network you can access these resources the resources themselves can be compute as in as in specifically something like something like here like processor 4 gigahertz that's the kind of CPU compute that's what I mean by compute memory resource this is the 32 gigs of memory available like some disk resource storage resource you know see this this see this disk here there is a disk 500 GB of SSD there is external disk another SSD and there is another external disk and so lots of this so there's this being this big access available you also have network networks resources are available in this system I'm just showing you a simple example of understanding what this thing is but here is a bunch of networks that I have that are connected right now one of them is bifile network another Thunderbolt network and bunch of other networks these are network resources you also want to be able to use compute storage so compute storage and network these are primary resources that are to be shared among users and they will be able to access these compute network and storage resources on demand whenever they feel like that's the kind of way of thinking about this definition which is given here your PDF file describes that you have access to ubiquitous convenient on-demand network access so that's the core idea here now they describe further this model is composed of five characteristics three service models and four deployment models let's understand those things like what are those things so the five essential characteristics they are they have to be you know you have to meet these characteristics in order for us to call something a cloud if you don't meet these characteristics that thing is not a cloud it is something else so let us understand what is that those five things those five essential characteristics that make something into a cloud that first characteristic is it has to be on demand you know on demand as in I click a button I get it not call somebody an IT person and have them provision something that that's not on demand no it has to be click something you do it you run an API call it happens for you you don't have to call somebody on the phone and make these kind of you know old way of doing things no that is not cloud if you have to call somebody to get a machine that is not cloud so that's one way to think about on-demand whenever I feel like I get it whenever I feel like getting rid of it I just delete destroy you know completely get rid of the thing that I wanted and that is on-demand so an example will be something like I go to this cloud I'm just taking a simple cloud service from this company I'm going to log into that service right now or not this mark this digital ocean this cloud I prefer I find them very useful and so I'm going to quickly log into them that I have an account there so here is I'm typing my password and I'm copying that password and typing it in and verifying and there we have a cloud service available so when I want to get a new machine I will create a machine they call it droplets it's a it's a fancy way of describing create a droplet in the digital ocean it's marketing but basically you're getting a computer you're getting a computer running this operating system with you know that version of the operating system 1604 and you're getting a cheap machine 512 MB RAM 20 GB SSD and hundred thousand GB of transfer this time activity network activity so that's the machine I want to get I want to receive that machine in San Francisco for example or maybe Bangalore I choose my location and then I provide my key and then I start and that's it I get a new computer ready allocated to me and I can now connect to it and so it will take a minute to create the machine you can see it actually spinning it up a new full computer to starting up right now and we should be able to connect to that machine comfortably without having to make a phone call with somebody and that's the kind of you know on-demand concept that I'm describing here it is the on-demand self-service I want something I get it broad network access that's a second characteristic you know as long as people have access to the internet they can connect to that machine like I described they can get access to those resources that they want the second third one is resource pooling meaning just like I created this machine right here in this cloud you can also do that it is being shared in fact if you look at under the hood what this company does is something like if you look look at computer racks you may have seen those kind of server racks right you may have seen pictures of these kind of things for example this lady standing next to Intel machine set here is another picture lots of cables lots of machines racked up up on top of each other here is another one you can see racks and racks of machines now under the hood what this company does digital ocean is they have bunch of such racks in multiple locations those locations happen to be in these specific locations as they call out this is just one example of some random cloud right I'm just picking on them for no reason but they have chosen to build their data locations in New York they have three of them San Francisco two of them Amsterdam two of them active there are probably more they're showing active available two and three a Singapore one London one Frankfurt one like that so multiple buildings they have in multiple locations and that's where such machines are available for them you can actually get to become my neighbor in this location where I just have created one new machine which happens to be in Bangalore I think I created the Bangalore location you can also go and get a machine right next to me in a physical location so this rack you might have and so that particular rack where my machine will be running you can be on that same machine side by side it is shared between you and me that's the concept of shared resource pooling it is being shared by other people and so that is a concern sometimes so you know people question hey is it safe to have my competition right next to me that's a question people will address those questions another thing you know rapid elasticity what does that mean elasticity means it's like elastic band you can stretch it and shrink it grow it and shrink it that's the idea behind elasticity now what are we growing here we are growing the number of resources allocated so for example I can create and this time I want to say that you know what I want hundred machines or maybe you know something like that so I will say you know give me one two five dollar machines in the San Francisco area and by the way I want more see that I can get ten so ten machines will be created as soon as I click the create button and of course every time you create a machine there is a five dollar charge by the way this is a per month charge not a not a not a instantaneous charge so if I have this machine running that I have started already by the way this one it has an IP address so you can see that IP address I can copy it and now that I have that thing running what I would like to do is I would like to connect to it so I'll say SSH root at IP address and here we go we should be able to connect to that machine just like that so I am connected to my Bangalore machine right now here we go this machine is in Bangalore and I just connected to it from here you can also do the same thing it's very simple now this sounds like you know magic but it is not I'll walk you through exactly what just happened you probably know this some of it some of you don't some of you do but let's go the idea is you can connect to that machine in Bangalore or wherever you created it and you can you know destroy it pretty much like this and I can say I want to get rid of that machine I don't want to pay any more I'm done with my usage so I'll say destroy and say bye bye Nilesh yes can you add like CPUs or memory after you've created one or do you need to drop and recreate it's easier to drop and recreate because you know the hassle of adding some CPU and RAM is the old way of thinking it is just treat them like I'll describe a good analogy right so you know imagine this scenario this analogy by the way does not work with India so just pardon my people from India sorry sorry about that but I'm going to use this it doesn't work in India for Hinduism reasons so just ignore the Hinduism part the idea is if you have cattle and a pet right imagine you have a pet and the pet gets sick and what does it take care of a sick puppy what does it take to take care of a sick puppy you have the the mom the dad the child everybody in the family is basically worried about making sure that the puppy gets well right that's what people will focus on they'll take care of the pet and so the idea that you just described is about adding more CPU adding more something is like taking care of the pet you have a machine in your data center and you want to baby it now that is the old way of thinking now imagine a different way and let's keep these pets aside you know keep them in your home and all that fine nice and fancy so great but in the cloud things are more like this you have a cattle and imagine you have a cowboy with a 10,000 cows in Texas the cowboys mounted on top of a horse he has a gun in one hand and a whiskey in the other hand and he's like shepherding these cows he wants them to go somewhere and one cow fall sick what do you think the cowboy will do what do you think well I think you're trying to say he would just shoot him exactly and that is exactly what should be done is shoot the cow move on and you know you can always create one more cow you know it's easy I mean not practically about cows but in server land in cloud land it is totally easy just create a droplet yeah okay and when you're done with it delete it kill it and by the way the bill now the bill for this it's five dollars per month and I just used like a minute so the minute of usage is like something like you know divide this number by 30 days and then 24 hours and then 60 minutes it's a per minute charge the pricing will be something like let's see the pricing of this in digital ocean pricing the pricing is ridiculously cheap so let's go compare the pricing the pricing for our machine is on an hourly basis zero zero seven on a monthly basis five you got a big size decent sized machine by the way and you can get more you can get bigger sizes machines you know as big as you want and so you can get more of these and that that's totally awesome I mean but yeah I'm just describing a point the point is even the biggest of machines is like a dollar an hour not that expensive you can actually accomplish quite a bit of work in that hour if you have this machine 64 big memory you know a 20 core processor the gigantic machine by the way this is just one machine the idea behind what I'm going to describe in terms of shrinking and the concept of elasticity is a distinctly different idea that I will talk about in this picture you're looking at here this method of this method of you know using this machine versus growing into a bigger machine versus even bigger versus even bigger this method is called scaling up or down you make the machine bigger and smaller that's the idea of scaling up and down this is also elasticity by the way you can make it bigger make it smaller this is one way of thinking about how big or small can resource be this idea is called scaling up and scaling down when you have a 2 GB RAM grow it up to a 4 GB RAM that's will be considered up scaling or down scaling like that similarly we have another way of thinking about scaling that is also elasticity and that kind of scaling is called out scaling and in scaling now this is described better in a different picture so I will go to that picture and illustrate that point the point being let me erase a couple of these things so the point is if you have let's say this machine out here right this machine sitting here the one that moves and you want more so what you will do is create more like this and this what I'm doing is scaling out and I don't want any more of these machines I add that many more I'll just scale back in like this and I want to grow again like this and this is scale out now this is scaling in scaling out this concept you can accomplish through automation and this idea is the core idea behind this definition here it says rapid elasticity you are basically growing and shrinking your machines as you need or as you don't need something you can shrink it back for example this idea of you know day after Thanksgiving that Thanksgiving you know people start shopping and so you need more machines out here right so amazon.com or people like that will actually get more machines installed and run their stores comfortably so that people can then crazy shop all the way through Christmas and then returns period comes over and end of the January mid-January they want to now shrink back again so they can save money and that's what they do and this idea is elasticity concept that is described here rapid elasticity you can do it programmatically or using mouse clicks or whatever you feel like that's the fundamental concept now having said let's move to the last one measured service the fifth characteristic is that anytime you create a machine like this like I just did and then I killed it I will get a bill that's what it means by measuring so you will see that I have some bill somewhere in the settings section they will send me a 007 cent bill maybe they will accumulate it for the future so they'll accumulate it for certain amount and then charge me so yeah I owe them 85 cents and the usage was 81 cents and something like that so very very low usage because I don't actually use this cloud I'm just showing you because it's the easiest one to visualize there are more complex looking interfaces but this is the easiest one that is the reason why I picked on them there is no other reason we actually don't have any droplets here in my account I don't use them correctly although it's a good cloud okay back to our discussion so we discussed these five characteristics on-demand self-service you know anytime you feel like you get it broad network access meaning we can access these machines wherever you are as long as you have internet connection these machines are shared with other people like other people other companies other competitors other other organizations including people in North Korea for example you don't know you know if Kim Jong-un or whatever his name is he's going to be having a renting a machine right next to you that may happen who knows I'm just scaring you but yeah that's the point is resource pooling we can prevent those concerns and make sure that they are taken care of in a systematic fashion but just understand and it is shared rapid elasticity mean it grows and shrinks shrink as in grow scale out and scale in those two aspects are described here right scaling out scaling in as well as scaling up and down both are scaling but one is horizontal horizontal the other one is vertical scaling that has to be clearly understood that we are scaling that this that doesn't increase the number of machines we are scaling like this it does both are scaling and they indicate elastic nature of the cloud it can grow and shrink the underlying concept here is it gives you an illusion of infinity like infinity illusion it's not real but it appears like okay I can keep scaling like this like all day long I can keep growing like this and there's no limit apparently is that true there is some limit somewhere but it appears as if it is infinitely scalable in reality it is not but to a customer this is what they will see at least Amazon will or big clouds like Amazon Google Microsoft they will make sure that they go great lengths to take care of the concern that people have is hey is it really really big enough for my need and yes it will work out so five characteristics you have understood I hope if there are any questions at any time just open your mic and talk any questions are welcome anytime you know I try to I have a question yes please and what scenario would you scale up as opposed to scale out okay I'll describe that very easily here so the idea is you know you're asking about out versus in and up versus down right how do you when do you do what so there are certain things to look for as to when do you want to go this type of scaling versus when do you want to go this type of scaling one of them are the easiest way to think about it is what is the constraint constraint like what is the limiting factor like what is the bottleneck that is what you look for if your bottleneck or the problem area or the trouble spot is CPU for example let me give you exact example of this here so right now if you look at my activity you see that my CPU consumption is 56 69 percent consumed by the zoom application which is expected you have other things consuming not much right you know one note is consuming some 4% and some of their activities going on I'm looking at my CPU metrics so I'm measuring as to how much CPU is consumed but I have a ton of processor horsepower here we have you know eight processors in this machine so it's no issues you know we can handle it it is not a bottleneck this machine is not bottlenecked by the CPU consumption if you look at memory I have capacity of 32 gigs of physical memory available I'm actually using 16 the no big deal and I have you know bunch of things running here virtual machine running and you know zoom software running so it doesn't really bog down does it doesn't get bogged down now back to your question how do you identify a constraint so you have to address that constraint the bottleneck and then find out which one will be a solution is it this or is it that now if your CPU is getting hammered and is getting close to hundred percent that means you need a bigger CPU so if you want a bigger CPU you go this direction if you need more memory and your memory is getting full for example so let's go see here and let's go to a live machine so I'm gonna go to a live computer right now and show you the thing that I'm describing here this is the cloud genius website performance you can see it live you can see that the memory consumption at the upper segment here is in this segment you will see that out of the 4 GB RAM on this box I am consuming 1.99 it's kind of half of what is available it's a 4 GB box and I have consumed 1 GB of RAM if I run something more if you lot of people actually you know why don't you just open the cloud genius website and watch what happens to this right now just click some cloud genius you will see that this this activity will change you will see that the CPU consumption will grow up you will see that the memory consumption will slightly grow and if that reaches a point where I feel that it is really getting a bottleneck if my users meaning you if you complain hey your website sucks then I have a problem to address and I will address that problem by adding more resources depending on what that bottleneck is is it memory probably not I have still 2 GB left here and then is it CPU no I have four CPUs and not not any of any one of them is getting between hundred percent so I have no problem there so I don't think the problem is about CPU on our memory the real problem happens in a variety of different fashion so you know in this scenario if I am if I add more CPU it is not going to help me it's already underutilized so this direction is not the right direction to go however if I add more users hitting the same website then in that case I had to address and divide that workload in terms of people hitting and that this scenario of scaling out will be more appropriate because I can always address my customers which is you by adding more resources and the the idea here is that let's let's let's draw illustration very clearly so right now let's say if you have one machine for example this one the idea is somebody like you will approach the the main end main endpoint which in turn divide the work among a bunch of boxes and this in turn connects to some database now if lots of you show up and visit the website like here lots of people start showing up on the website this machine is going to get bogged down because it is the workhorse this is the workhorse by the way this is the database it also might get bogged down but this idea that this the gatekeeper here this is not a workhorse it all it does is just say okay you go there and you go there so other people that might show up on the website this this traffic cop might decide you know what you sir if you visit I would like you to go here and you when you visit I would like you to go to this machine and so they're basically dividing work here among among these two guys like this one two one two one two like that the work is divided and that's how you can identify if more people getting hit that these boxes are getting hammered by the work that is getting divided then at that time you should look at this machine and say you know what one more is a good one and then the work gets divided among 1 2 3 sorry sorry okay bring it back so it get divided among 1 2 & 3 so the in and out scenario is more relevant in that case so let me go back to where I was here here cancel and here the scenario would be that you had more scale out scenario if your people who are visiting your sites and services get hammered by the load so you to identify what is that constraint and address that accordingly in some cases this is more important the typical cases in which scaling up is more important is where you're using the CPU heavy or using your memory heavy those are the two cases where you're hitting that bottleneck you should scale up and if you have more users you want to scale out that's this you know quick way of thinking about this scale out and scale in or you know scale up and down business I hope that answers your question now essential characteristics we cover let's go look at the three service models but what is the service model what's the idea there are three service models defined here in this in this definition those three are like this it is you know it has been I would say you know exaggerated in terms of the industry today people have used this idea of XYZ as a service they just have you know exaggerated this in fact you know a couple of you in our group here are actually in responsible for a variety of services in your companies in your organizations today and so you know this what I'm talking about but the idea is if you provide something like infrastructure and give that as a service to people that becomes infrastructure as a service if you providing a platform as a solution to people who are going to use your service you become a platform as a service and if you providing software as a service to other people you become a SAS now that's the commonly understood way of describing these service models but let's go deeper in terms of understanding what is going on under the hood and what is a platform and what is you know considered software so let's begin with the easiest one software as a service can you give me some examples of what these things are like you know software as a service sales force yes you can go absolutely beautiful so this is one example sales force here is another called office 365 is a software available to all of us as a service from Microsoft I just provisioned accounts for you office 365 accounts for you and it's available on demand you there's a plan and pricing and you can you know get these applications for $8.25 per user in your company or maybe even more expensive and you can keep keep adding more money and get more features and they that's how people sell software today just 10 years ago used to go to staples and staples and you will find the shrink wrap office product let's see if you still have it shrink wrapped office professional is it still available I don't know if it's still available or not but they used to be a think think called you know buy office like this for example you've seen this thing like long long ago right that's how office used to be sold right you remember this thing was like $500 I don't know who bought those but there were there were people who used to buy these things for the price here is I think 120 if something mentioned in the picture but it's an eBay listing whatever the idea is this model of delivery of software has switched away from this model to go by shelf shrink wrap products to something like another example would be Adobe creative cloud now these guys have created another software as a service available to all of us for $20.25 per month you can choose a plan get the entire collection

$50 per month that's the plan the idea is you don't have to spend $3,500 for a shrink wrap software all you can do is just pay them this money every month and you can access all of their software on a rental basis that's the idea behind software as a service there are a ton of different examples you can keep going and describing this is the simplest way of thinking about but also the most complex way to build it takes a lot of effort to build this thing because you have to then rely on the underlying thing to run your software so there's a software developer right software there this developer though that team of developers will actually develop some software and then run it as a service that these developers need something under the hood and whatever they need you can generally call it the platform that's what I'm describing is generally whatever that developer needs to run their software as a service is what is a platform as a service you can generalize it like this but let's go deeper and understanding what does that mean this platform has to be built by somebody we'll call them the platform developer right let's call them the platform developers they will build the platform that the software developer will then take and run their SAS as a service they'll give their software away as a service so that people will be able to rent their services like this nine dollars forty nine dollars whatever that whatever else services available and so the Adobe as a software developer will take that software run it on some platform and then provide that service to you this is you using that software and you pay 49 per month to this come this company Adobe and they're developing their software they run it on some platform and the platform developers will develop the platform for the developers the customers of these guys they are the customers so if you if you draw the picture another way the idea is you have a customer which is you and me we have software developers who are providing software as a service and they get money similarly if you look at the software developers they are the customers for platform developers platform developers and these guys developing a platform that that software developers use and they get money if you keep going down here you have to look at the platform developers requirements and these guys need some hardware machines infrastructure so they look for infrastructure as a service developers these guys will develop those digital ocean type solutions right you get to digital ocean here and you click to get a machine ready that's infrastructure available on demand and so that's the infrastructure as a service they these guys will give them infrastructure as a service and they will pay them money like 0.007 per hour for one our usage of that cheapest machine you can get that's the idea behind this whole chain and you can keep going from the end customers perspective all the way down to software developer down to platform developer down to infrastructure as a service developer and you know you can keep going down do you know who's the underlying thing here below infrastructural service people there are companies that actually make those machines so you may have seen these racks and racks somebody makes these things right do you know who makes them anybody when you do you know who makes these things Dell is one of them Dell HP IBM all those you know big big big companies that you know actually seem to make it they seemingly make these things but let me tell you they don't the real companies that actually make it are you know compal quanta and you know bunch of other Taiwanese companies that actually make it they make the stuff they these guys just put a sticker and sticker price and they sell to their infrastructure as a service or other other companies you know you can buy directly from Dell and IBM and quanta and compal and bunch of other companies makes it flex Tronics is another company flex Tronics they also make the iPhone by the way these guys actually manufacture the iPhone flex Tronics makes it so an Apple actually designs it but they don't actually manufacture maybe they have outsourced it or they have their own location but without going into the detail of how manufacturing happens the core idea we are describing and discussing is that these companies make these boxes but underneath these boxes there are certain things that go along to build it and one of those actually two of those in those boxes you will have something like a CPU some storage sometimes memory of course memory is always there and sometimes you have networking components so each of these components are made by companies like you know here AMD or Intel these companies will make the CPU storage will be made by companies like Hitachi EMC Seagate God knows how many others memory will be made by memory manufacturers network devices will be made by network manufacturers and the idea is to assemble all these things together and provide it to companies that actually assemble those racks and then give it to infrastructure developers who in turn will give it as a rental basis ready to use virtual machines to platform developers who in turn will provide their platform to software developers who in turn will put their software on top and provide that as a service to the end customer which is you and me right that's the chain so now going back to the definition and the the description of this model that we are talking about infrastructure as a service you can read this detail you know I'm not going to read it for you here but you have it you have links to this in this site there is a link to it and you can read about the definition and there are ready links for you to read and consume in little short videos to describe the concept so follow along whenever you have time before the class after the class but don't do it during the class doesn't make sense and so back to our discussion here the idea infrastructure as a service is to provide infrastructure services to people who need it the platform definition is the ability to provide a platform for somebody else to deploy their software now platform as a service concept is slightly tricky to understand so I'll elaborate more on that software as a service is very simple to understand you just get that software and you rent it and you use it it's simple to understand but the platform aspects us kind of sort of complex to understand so I'll elaborate a little bit on that now here this is the classic example of a infrastructure as a service you get some machine you rent the machine create a droplet boom you get it similarly there are a bunch of other companies like here Amazon.com go login and you will find that I can log in there and the login should be quick and I will have to have another factor what I'm doing right now do you know what this thing is that I do that some of you probably find it new but what am I doing password right right the idea that I am doing essentially is not just that specific thing for one fact one password but the other idea is or the second factor authentication that is the core idea I would like you to understand and remember if you're not familiar with it start using it it is a security concept that I want you to understand if you're not using it get on using it start using it every bank that you have an account with force them to enable 2FA second factor authentication the idea is not only you use a password but also another factor on top that code number I typed from one password and then provided this method is called second factor and we'll talk more about it at appropriate time but I'm just pointing it out now having said in Amazon cloud I can go to the infrastructure services segment and launch a machine pretty much like digital ocean click launch an instance click to choose an operating system and click to choose a size how big the machine should be and click to review and launch and that's how you start a machine so it's on-demand creation of infrastructure that's the idea behind infrastructure as a service the idea is to be able to get any kind of hardware you want any number of such devices or equipment that you want on-demand at a click of a button or using an API call that's the core idea now some description about platform as to why it is relevant and how it is you know how to understand it basically let's go look at that let's go look at that so in order for you specifically you to create something that becomes a software available to sorry software available to your customer so I'm talking about you as a person you are you're a person who is going to create some kind of a software as a service you are going to do that by the way and you will you know in the program you will do it so the idea is that you will pick some software and you want to give it to your customer as a service and so you want to run that software you have to understand what does it take to get your software package and load it up on something so that this customer is happy how do you identify so you basically understand from the software developer standpoint what do you need what do they need the developers of that software you ask that software developer and then make sure that you identify a platform as a service that meets that need so that platform that you are choosing has to meet that need now that was a very general way of describing I will go into a very specific example to help us understand what does that mean and we begin with the customer the simple example would be that a customer would like to have a website something like you know as simple as something like this let's say let's go see yeah this is an example some website I want to build this website available and it's going to pop up here here we go this customer wants to have a website like this how do you build this what does it take to go and build so in this specific example we have chosen a open source product called WordPress it is open source here and this product I think I went to the wrong website this product is open source available on dot org not dot-com but org that is the product where you can download this application called WordPress and you can just click this button and you receive it there are a bunch of people that actually develop this software those developers will be able to tell us what are the requirements and so here are the requirements definition you can see that in this the requirements to run WordPress we recommend that your machine supports this and this and this so three things they're saying that we recommend that you need to have these three things PHP MySQL and HTTPS support that's really it that's it so you have to have these three things now that is what the platform should provide now let us see what these platform as a service providers provide here is an example of a company that is a classic platform as a service company this is a company now owned by salesforce.com

this company is called Heroku they're a commercial product but the idea is that they allow a variety of applications to just run you take the application you literally throw it on top of the platform you take the app and you throw it on a pass like this and it runs that's as simple as that it is unbelievable when it happens but that's the idea is take your application throw it on a platform and you don't worry about it it runs that's the concept that's the simplicity that these guys have built over the years they're one of the oldest ones established ones there are many such companies like you know another one is Engine Yard a very famous commercial company that is also a platform as a service company the idea is to take any application you like and you basically look at the application ask the developer what do they need they will need some kind of a language for example some programming language for that programming language they will require some other things such as the example we looked at was requiring PHP and MySQL and HTTPS that's the the three things that they called out that was the WordPress example and for every every application there will be some programming language in which the application developer will write the application and will call out some dependencies like I need to have these things in place for my application that I have written in this programming language to run so similarly there is you know the 10 year old Twitter.com this application Twitter that you know used to run today it is not but it used to run in a language called Ruby and the developers of Twitter required Ruby on Rails as a dependency and so as long as you have Ruby on Rails running you can take the Twitter application and run it and it will generate what looks like this pretty much like this now today it doesn't run on Ruby on Rails but I'm just saying that ten years ago when it started it used to run on Ruby on Rails so what does that mean what does that boil down to go to a platform and look at okay what can you do for me and so the idea here that describing is that you bring your JavaScript application or you bring your Ruby application or you bring your Java application or your PHP application or your Python application or your Go application or God knows what this thing is Scala application and another one I don't know what the picture is close your application so any language you choose you take your applications in any one of these languages and you you know get an idea you write that application and instead of worrying about all this complexity that you have that you see in this this label chart you erase all of that and all you focus on is deploy take the app give it to them they will manage it they will scale it they will scale it out in up down whatever it takes and you get the application running on your web browser on your phone that's the idea you don't have to worry about all this complexity that goes under the hood but instead focus on your idea your deployment and that's it they'll do the rest they will pay their money but of course the idea is simplification and that's what platform service as a platform as a service providers typically do these are commercial companies by the way and so to compete with them there are open source solutions like you know here is one here is an open source application that many companies use this is open source by the way and the idea behind this is pivotal you may have seen this name pivotal in your company you were told in your company is many of your organizations are actually using this particular application which is basically Cloud Foundry this open source now what this story does is pretty much the idea that these guys started with you take any language you like build your application that you have you focus on building your application and you give it to that Cloud Foundry give it to Heroku give it to Engine Yard give it to any platform as a service they will run it for you don't have to worry about all this thing that's the core idea behind platform as a service meaning they make money by worrying about all these things like you know which cloud which IAS provider to use how do you set up the operating system whether you use containers or not how do you store the data how do you orchestrate containers how do you connect make sure that the network operations correctly work make sure that the site is up and running and live all the time your reports are getting logged everything is taken care of from a user's perspective so that you as an application developer don't have to worry about these things instead you focus on your application that's the concept the underlying idea behind these guys like an example here another example here you bring your language of choice and you focus on developing your software you don't have to worry about the cloud when you don't have to worry about the cloud that's where platform as a service comes in so platform as a service developer will worry about the underlying infrastructure and all the complexity and we'll go most of it in much deeper and we will actually build our own platform as a service using another open source product in this segme

2023-02-13

Show video