Cloud Computing - Introduction

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
please go to Eli the computer guy calm in order to view schematics code and more for the projects that you are learning about welcome back so in today's video I'm going to give you an introduction to cloud computing so cloud computing is one of those things that's a very simple concept but then people get very confused with all of the different terminology and then it kind of sort of makes their head explode the important thing to understand when you're dealing with cloud computing is you need to be looking at solving problems figure out what your problem is and then you figure out what technology you are going to use to solve that problem a lot of times people when they get into cloud computing they hyper focus on specific technologies whether it's virtualization Zoar sans platforms as a service service architecture service-oriented architecture they focus on some specific thing and it's kind of what they say you know if you've got a hammer everything is a nail that's what a lot of cloud technicians look like they they understand one type of cloud technology and they're gonna it's gonna bang the hell out of any problem that they find with it so the important thing that I really want you to be thinking about when you start thinking about cloud computing is you need to look at what your problem is you need to look at what your requirements are and then you go out there and you find a solution the solution may be some a very expensive internal private hybrid cloud that's gonna cost millions and millions and millions of dollars or it may be spinning up some some virtual instance on something like digitalocean that's gonna cost you five dollars a month the important thing to understand is to be thinking about what are you actually trying to accomplish and then figure out the tool for that not everything is a nail I swear - so one of the big things that you need to be thinking about when you start thinking about cloud computing is now in the modern world with cloud computing when you think of services even when you think of a servers you now need to no longer think about a specific box that you can literally point to and says that box does X so for me as somebody got his MCSE literally in NT 4.0 back in like the 99 mm timeframe the thing is back then when we had servers we had servers that offered specific services to our client computers so if you're looking at something like Active Directory if you're looking at something like databases if you're looking at something like email you could walk into my server room and I could say that's the Active Directory server and that's the exchange server and that's the database server and that's don't ask me about that that one does a lot of stuff for the company but we're just has a mess that's a mess right but the important thing the important thing to realize is not that long ago is that if you were offering a services to clients in ohms or you're offering services to the user you could literally go and you could point at the physical machine and you would say that machine does XY and Z the thing is to realize with cloud computing is that is not the case you do the configurations you load the configuration somewhere and then basically what you can say is it's kind of like you know one of those well in that direction right like our services run on Amazon what sir what specific server runs that service I have no idea I probably might not even know what state the server is it quite literally or even again with private clouds when you think about private clouds one of the big things with private clouds is you can do all these cool things with what's called clustering so what you have is when you have clustering as you have multiple physical machines that are all able to communicate with each other and then what they're able to do is they're literally able to in real-time to move around things like tasks services virtual machines the whole nine yards to whatever physical hardware is the most appropriate so I could have ten let's say VMware hypervisors so VMware hypervisor is a type of virtualization technology so I could have ten you know Xeon servers with VMware hypervisor installed on them and those ten physical machines are responsible for however many of virtual machines that I have running well the thing is is is VMware can automatically move instances of virtual machines around as as required so let's say you have something like a video encoding so you have a server that's responsible for video encoding now most of the time right that server isn't doing it it's literally not doing anything right it's just sitting there it's it's running because it needs to run but otherwise it's not really using any RAM it's not you'd really using any storage and it really isn't using a CPU right it's just it's just a server in the state of waiting for a client to request something for it so if you have a cluster of virtual machines what can happen with VMware as VMware can put the instance of that encoding server onto a specific machine that doesn't have a lot of resources doesn't have a lot of capability because it doesn't need a lot of resources or capability now imagine it's 10 o'clock in the morning your video editors have finished with their their first productions for the day and they're now pumping their video files to now be encoded what can happen is the the hypervisors are able to communicate and basically that instance of the machine so the instance of machine that's sitting on that very low resource server that physical hardware can now be automatically moved to let's say a server that has 128 gigs of RAM PCI Express solid-state drives you know for a core xeon processors the whole nine yards so basically as people need to actually use that server to do video encoding the instance of that server is now moved to that higher quality hardware it then does all the video encoding that is being asked to do when it gets done with that in my way five or ten minutes just to verify nobody else needs its help anymore and then after that it gets automatically moved back so if you walk in and you have a private cloud you have a VMware cluster and basically somebody asks you where is that encoder server running again depending on the time of the day depending on the load depending on you're just like that rack like literally you just go I don't right now right I can't I could figure it out if I really wanted to but honestly it's running somewhere in the rack it might be sitting there up on that low resource system right now because it may not be being used or the the the video editors may be hammering the hell out of it and it's down on this higher end a server at the bottom that requires a lot of power I don't know that's kind of all automatically done and so that's one of the big things to be thinking about with cloud computing with cloud computing what we're really talking about is that you set up services you make services available to your clients and users but you can't physically point to a box and say that box is providing X Y or Z service the other thing once you start dealing with cloud computing is that we start doing something called abstracting all the components of the server right so back in the day again you would have a server and that server would have everything on it so basically have a physical server the physical server has a however much RAM has a CPU has hard drive for nine yards you then install an operating system onto that server you then Stuntz all your services onto that operating system right so that physical box has everything that you need so the storage is on there the processing is on there everything is on there well with cloud computing one of the cool things that we can do is we can rip apart an entire concept and now the compute and the storage and even the networking can be ripped apart and they can be interacted with as their own individual components and their own individual things so now with storage again when we start talking about that virtualization cluster so let's say we have ten hypervisors in a cluster well the question that has to be asked is well wait a minute where is the storage if you have some server and it has a lot of data storage you can't just instantaneously be able to move a hundred gigs of data amongst all of these systems how does that work well how that works is the virtual cluster that you have that's all the CPU that has the the processors that has the RAM that has those types of things but the actual storage the storage for the operating system most likely resides in something called a sand a storage area work so basically you have this cluster of compute here and then over here you have a cluster of storage so storage has now literally been separated from the compute and so now you can interact with them separately and so that's one of the things that you you can also do in the cloud computing world is you rip apart all of these different components of what creates a server and then you can interact with them individually so that's one of the things that's very interesting something called a server or less architecture that's one of the things that's all the cool kids are looking at right now we're literally is it's really cool you can write scripts and then the actual compute is offered to you just as a service just like DHCP or DNS is so you can literally actually call compute and when you call compute you don't want to necessarily know if it's a Linux box if you need to compute or a UNIX box you mean to compute or even a Microsoft in Windows box giving you compute basically what you're able to do is when you have scripts you can have those scripts you say what the input data is you say where you want that data output to be again so if you're talking about something like video encoding and then what you can do is you can actually call to compute and basically you can say run run this command against this file so let's say you want to encode a video into 1080p so what you can say is call this compute to encode this file in 1080p and output it over here and then you're literally just calling command so again it's not Windows it's not Unix it's not Linux you're not worrying about all these things you're just able to actually call that as an individual service so these are some of the things that you need to be thinking about in the cloud computing world and that's why you so important when you think about cloud computing you don't try to hit every tank whatever because that's what so many people do right so many people got their MC SES they then you know how Windows 2012 server works or they know how Linux server works you know and so then what they do is they try they try to take in that they trying to take old-school system administration and simply throw it on the cloud and that's just that's just foolishness it would be like taking it would be saying if let's say you know the the future of Transportation is going to be air travel that would be like trying to throw wings literally on a car they'll be like going out to my Ford f-150 and trying to superglue wings on and saying well that's gonna be a flying car someday it's like no that's no you just superglued wings onto a truck that's probably a really bad idea right well you want to do if you want to create a new aircraft as you actually build a new aircraft from the ground up and so these are some of the things that you need to be thinking about when you start looking at the cloud computing environment and how you're going to be interacting with the cloud computing environment so the first thing that we have to talk about is where did the name cloud come from when we start talking about cloud computing and we start talking about the cloud the question is is where did this terminology come from and so why is it important so to understand that we have to go back to at least the 1990s we're gonna go back to the 1990s cuz that's where I started in the store it probably goes back a lot farther than that back then we were talking about the cloud a lot but we weren't actually talking about cloud computing we were talking about the cloud in regards to networking so what I mean by that is so we were dealing with our own and networks back then right so you would have a router here and let's say the IP address is 192 dot 168 1 1 and under that router you would have a server and that would be you know dot 10 192 dot 168 not 110 and then that server you know under that would have a lot of different client machines and they would all have their standard IP addresses and the thing is with this network right here we would know everything that was going on with this network we would know the modem or the ad Tran we would know the router we would know the switch we would know the server's we would know all the host machines we would know the DHCP and the subnet masks we would know that DNS basically all this right here we would diagram out and we would know everything that was going on in our Network now let's say that this was a satellite office so let's say we have some kind of company that company has one major headquarters you know back somewhere you know they have a headquarters and this is a satellite office that that's off on the other side of the country and so then basically we need to know how our hosts computers and how our servers from here will be able to communicate with the computers and the server's back at the HQ now at the HQ again we have a router there and let's say they have a IP address 10.0 two one one right so that's their subnet mask under that they have a whole crap ton of servers going on they have lots of networking equipment they have lots of host machines and they have you know they have lots of systems doing things and so we would also have all of this diagrammed out so we know all the servers we would know all the routers we would know all the switches we would know all the host machines all of us would be diagrammed to the nth degree and so basically what would happen is so if you have some client machine over here and it needs to communicate with a server over here then we would be able to figure out what the routing path should be through our network for the satellite office and then once once the traffic gets to the HQ once it gets a 10.1 or 10.0 dot one dot one once it gets to the router then the router and the network would then make sure that the packets the traffic gets routed to the appropriate server so basically we understand how all the traffic moves here and we understand how all the traffic moves here but the question is is how do you connect a satellite office back to the headquarters well you have to connect it through what we called the claw and so when we talked about the cloud back in the day all the cloud meant and really all the cloud still means is the Internet right so basically you have your external LAN here you have your I'm sorry you have your external IP address basically that's the external routable IP address your egg headquarters has its own external routable IP address and so what you do is you point the traffic at their external IP address and they point their traffic at your external IP address now the thing is with the internet there's a lot of networking going on on the Internet obviously again there are what are called core routers there are core switches there's lots of fancy extraordinarily expensive equipment and that extraordinarily expensive equipment is what routes the traffic from your satellite office you know over to the headquarters and then from the headquarters it routes it back to your satellite office well the thing is with all this route these routers and this networking equipment on the internet how it is modeled how traffic is moved it really depends on what the current state of conditions are right so again there are literally thousands or millions of routers and pieces of networking equipment that the Internet service providers use and so what happens is they're all communicating to each other with something called routing protocols and they're figuring out you know what oops they're figuring out what connection is working best you know so this is a good connection and they're figuring out what connections are dead for some reason they're figuring out what connections are fast so let's say this one's fast they're figuring out what connections are slow and basically through routing protocols all this networking equipment is trying to figure the fastest most efficient way to get a packet from your external IP address to wherever you're going external IP address and the thing is this literally can't this change is moment by moment this may change second by second so if I have traffic coming here and maybe bounce here here here here here and then go over here and then traffic going back may get bounced all the way up here and then down here and then traffic you know two seconds later will go this way basically this is all being dynamically routed so that's where you hear sometimes when you hear about curious things with something called BGP which is the routing protocol and for some reason like entire cities Internet traffic will randomly get routed to China yeah that's because with how the communication happens and with how the Rowdy proto work basically dynamically all of that all the traffic is automatically being sent the way that the system thinks is most appropriate and sometimes it sends traffic through China and so the important thing to understand here why we started calling this the cloud is cuz it really doesn't matter right if I'm trying to get to this IP address and you're trying to get to this IP address you don't really care if your traffic goes through this over down here or if it goes up and over basically you just say okay it leaves it leaves our network and it hits the cloud it goes from the cloud and it hits their network it leaves their network and hits the cloud it goes from the cloud and hits our network so basically the cloud is just this ugly nasty mess that somehow all of the traffic gets routed through right some of the the routers are secure and you should be able to trust them many of the routers and pieces of networking equipment are in a secure and again that's one thing to be thinking about the cloud basically with this you have no idea of the trust of the of what you're sending your traffic through you know is it trust able is it not trustable and that's why you have things like encryption that's one of the reasons why you use things like VPN so when we're talking about the internet and we're talking about the cloud all we mean is that basically the idea with the cloud is you don't know you get you're just gonna go to the cloud it's somewhere it's up there you know it works you know it works you know it's doing what it's supposed to do but really you have no idea what the traffic would be and so really when we start talking about cloud computing now all we're doing is we're simply stating that we just simply don't know where our servers are so back here when we didn't know what the traffic is how the traffic was being moved we didn't know where the routers are now we have servers and all we know is the servers are up in the cloud again so if you're using digitalocean let's say you know you're here and you're using digitalocean all you know is you're gonna hit some IP address 1002 1.1 this is not an external irritable IP address but let's just say it is so basically all you know is you're gonna go to this IP address this IP address is somewhere on the cloud and so you're just gonna try to route to it and then the internet will route you to whichever server has that particular IP address or domain name or something like that basically the idea now is like when you say it's on the cloud again the concept is is it's just there you don't really know where it's at so that's the basic concept of where the idea of the cloud came from now let's take a moment and talk about abstraction and we will not talk about how bad my handwriting is I've been a computer guy for a little while anyways let's talk about the concept of abstraction so basically in the old days if we go back about a decade or so we had individual servers and these were physical servers and literally everything was on that server so they would have a Xeon processor they would have RAM they would have storage you would then install the OS and then you would install the services so things like exchange or SharePoint or I I yes or Apache or things like that right and everything was on at this one physical box if the CPU fan for this physical box dies everything does eos dies a service that has a storage dies everything goes down the power supply fails everything goes down right if somebody hits this server the brick everything goes down and so that's obviously there's a problem with it right if you haven't seen more or less a single point of failure for the services that may supply services for thousands or tens of thousands of users and that's a bad idea and so that's where the concept of abstraction comes out is basically the idea of hey you know it's Z you know the the Xeon processor basically what that is is that's a CPU that's processing so the xeon processor and the ram can we turn that into its own thing you know as far as storage is concerned can we abstract that out can we make that you know its own thing you know put that somewhere and then as far as the operating system and possibly services can we then break that out and make that its own thing so that's basically the idea of hey can we can we turn these like the operon system the services and do basically a single file that can be moved around that's literally not physically connected to a server because I remember back in the old back in the old nasty days if you installed a server operating system onto a physical machine it was duct tape to that physical machine you couldn't just move an operating system around willy-nilly you had to do a full reinstallation process with a whole migration process and it really sucked nowadays you can literally just take a VDI file copy paste to a different hypervisor and it can be up and running literally in a couple of minutes and so how that's done is we have strategy things out and so that's where as far as the processing goes that's where I was talking about before with the VMware hypervisor and basically the virtualization cluster so we can have a rack of servers here they use VMware again I'm just saying VMware I'm not sponsored by them it could be Citrix it could be one of the many Oh Linux variations something like that but basically we can have a virtualization cluster here so all of these boxes they have a hypervisor installed onto them and they have a processor so they have a xeon processor and they have ram and they have some of their own internal storage just so that they can actually function right and so basically these are now basically a processing cluster so the idea being is whatever machine is currently available you can move tasks around you can move things around as need be if a machine a physical machine fails you can very easily move tasks you can move things to other physical machines without it being a big problem so basically you have this vmware or you have this virtualization cluster and then what you have beyond that then is you ask where is the storage so before we had storage again it was on the physical machine and so now we can have something called a sand a storage area network there are a metric crap-ton of these options but basically with the sand and we have another rack that has your sand and in that basically you have what are called storage devices so these storage devices there only responsibility is to store data you don't really run an operating system on these you would not you would not play Frogger on these devices you would not you are not new word processing on these devices I mean yes their computers yes technically they have an operating system on them but it's not the kind of operating system you think about it the operating system they have on them is more akin to your DVD player than it is to your your laptop computer and so basically their only responsibility is to store data and then depending on what your policies are make sure there's reliability and that there's redundancy so the idea is you have these VMware machines you have these VMware hypervisors and they're able to send and receive data from the sand and so as far as they're concerned the sand is just one logical unit to them so they go to the sand they say through the sand hey I need this data sand provides the data again does it come from here who knows does it come from here who knows does it come from here who the hell cares you ask the sand for data and the sand gave you data you need to write data you need to be able to save data so again that goes back and so you know you just give that data to the sand does it store it here or here or here you literally don't care and so the nice part about abstracting the sand extracting the storage out is again you have the ability to then automate things like fault tolerance and reliability so if the some hypervisor sends data to the sand what the sand can do is it can actually make copies so let's say you send data to the sand and so the sand says okay I'm gonna put one copy of that data here and I'm gonna put one copy of that data here and then another hypervisor sends data to the sand and the sand says okay we're gonna put one copy of that here and one copy of that here reason being is let's say one of these storage devices fails and then there's a copy of your data somewhere else within the sand the sand is then able to rebuild itself do the replication and all that kind of stuff and then again basically you don't you don't have to worry about a single hard drive failing you don't have to worry about a single storage device failing all of that is off of the same policies you just push and pull data to the sand storage is its world compute is is world well then we start thinking about the operating system itself again that final component down here and that's where it could talk about these DS VD is basically the VDI folder is um what's this thing doing basically the VDI folder or the VDI files these are your your operating systems right so these are your virtual operating system so what you do is instead of stall installing windows onto a physical machine you create a virtual machine for Windows Server 2012 so you create a 2012 VDI for active directory you curate a 2012 you know VDI for exchange I don't know you create a Linux DHCP server and basically all of those those are all basically entire machines that are now simply files and so what can happen then is these are all saved within the sand they're saved within the Sam and so for the hypervisors if they say ok we need to load up a particular virtual machine ok you know we need a 2012 active directory people are logging and for the day we need the active directory basically you can have a hypervisor here communicate with us and say give me the 2012 active directory virtual machine and then that can be then used by that particular hypervisor a different hypervisor can say I need the exchange server we're doing email services I need the exchange server and then you know for you know DHCP and DNS basically these hypervisors are then able to request those virtual machines from this Sam and then the sand simply provides it and the nice part here then is what you have to understand is essentially it's like the data the data is in the sand the virtual machine is in the sand but the process is happening over here you know within this virtualization cluster so the nice part is is let's say your Active Directory system is running on this particular server so this particular server is Ronnie an act directory and then what happens if a CPU fan fails what happens if a processor or you know power supply or whatever fails so this completely dies the cluster here the management of the cluster realizes oh crap this physical machine died so now we're going to ask this machine down here to request the Active Directory virtual machine and so basically since it's simply requesting from the sand it can be moved more or less within milliseconds and then basically that Active Directory server can now be up and running again even though the machine that it had previously been on has literally physically died and so this is one of those concepts with abstraction as the idea is how how do you look at that old physical server that old physical server or the CPU the RAM the storage the operating system the services everything was super glue if anything failed everything failed so how can we abstract out those different services how can we abstract out the process and how can we extract out the storage how can we abstract out the OS how can you even abstract out the services themselves how can we make them their own individual thing so that then we can interact with them more fluidly and more dynamically depending upon this situation so that's a basic concept of what we're talking about when we're talking about abstraction so is that about as clear as month so far don't worry as you watch follow-on videos I think a lot of this will start to make a lot more sense again one of the issues when you start talking about cloud computing especially with new people as there's a lot of concepts here there's a lot of terminology there's a lot of different technology and it's very hard to explain this type of thing again you don't know the difference between the VMware and a SAN if you don't know what those words actually mean trying to explain some of this stuff can be a little bit difficult but don't worry if you want to follow on classes I think a lot of stuff will start to make more sense now one of the things I want to talk about now more talking about cloud computing again and we talked about abstractions we talked about basically breaking apart all of those different layers is the concept of compute so in this modern world compute is now its own individual basically service that you can interact with on its own now when we start talking about compute there's a lot of different ways to think about compute and the different technologies that allow you to offer compute more or less as a service so there's a standard virtualization technology so if you talk about things like virtual machines or things such as containers so containers are a type of virtualization basically what this is is where you're able to take an entire operating system with whatever services are installed on that operating system and turn that into a file and basically once as a file once it's a VDI file it can then be moved around and interacted with just like any other file or folder on your system so just like right now you have pictures or you have mp3 or you have video files and you can simply copy and paste them or you can email them do things like that basically that's what you can do with an entire virtual operating system the entire operating system is simply in a file and then you can simply copy and paste it onto a machine that has something called a hypervisor and then that machine is able to then run that server or possibly multiple servers so if you're using something like VMware or hyper-v you can literally have 10 or 20 virtual servers virtual machines running on one physical box that physical box then splits up the processing amongst all of those different virtual machines that are running depending on what requirements you've set up again you can have a cluster of virtual machines that communicate back with a SAN in that sand that storage area network you have the virtual machine files and then those hyper-v advisors can then request those files and move them around again as they've been configured to do so if you have a physical machine that fails then basically simply another hypervisor within that cluster can request the virtual machine file and then that virtual machine can be up and running in no time flat or if one physical server is being overloaded for some reason there are so many requests for the virtual machines that are running on that physical box that is pending out the CPU it's going above 80% consistent then again basically in that hyper the hypervisor cluster that virtualization cluster basically a virtual machine can simply be moved to a different physical machine so that there's less load on the first machine and then the other machine can work appropriately and so this is the kind of thing to be thinking about again this whole idea of where compute compute is now a service and when you start thinking about compute being a service you then get into what's happening now something called a server less architecture which I find awesome I find awesome it is so if you don't think serverless architectures are sexy I don't know how you can call yourself a geek basically with serverless architectures allow you to do is you have code that is running on your server but that code can actually call CPU processing from a different server basically through almost like an API call so let's say you're using PHP scripts or nodejs scripts or something like that depending on what the server service architecture allows and so what you can do is you can say okay let's say you need to encode a file so basically again you have a video file you need to encode it to 1080p or something like that so normally what would happen is that file would be copied one way or another to a an encoding server that encoding server would then have configurations and then that encoding server would do all of the encoding right so you would need a server and you would need the encoding software on the server you would need to do the configurations the whole nine yards right well now what's cool about service architecture is what you can do is you can simply write a line of code and you can call basically just a service architect it's like an API call right you don't even know if you don't really know if it's a Linux server or if it's a UNIX server so Windows server or anything else basically what you do is there's an IP address or there's a domain name or whatever else that you point to and basically you make a call and you make a call to them and you give it the keys and you give us some specific information and then you say okay so I'm communicating with this architect the serverless architecture rep and basically what you say is okay I've got this file I've got this your architecture needs to do X Y or Z to the file and then it needs to output the results over here and so what happens is that architecture is built to use something such as encoding videos so what that architecture does is that architects service architecture encodes videos however you tell it to encode videos again you don't know the operating system that's running on it you may not know the encoding software that's running on it all you know is that it encodes videos and so you make a call and then that service architecture what that does is that that grabs your file it does the encoding it spits the output off to wherever you want it to be outputted to and it's done you don't have to worry about system administration on that server this architecture you do for you you don't have to worry about antivirus you don't have to worry about maintenance basically all you have to do is you make a call for or the CPU for the compute it does whatever you've asked it to do it outputs and then it goes away and so this is one of those really powerful things again in this modern world of cloud computing where it turns the old ideas of system administration completely like literally completely on its head when literally you can do things like call compute you can call processing the same way you would ask for an image file and be able to download something on the internet and so those are some of the things to be thinking about we start talking about compute in the modern cloud computing environment is the idea of ok that product that processing that's happening that can be its own a separate little world that can be its own separate thing you know away from the normal servers and stuff that we normally think about now let's talk about storage so storage again so we have compute so we have compute but again even in the service architecture take a file from here output to there which means we data here and we need it there we need we need some kind of storage for our cloud computing infrastructure now and when we start talking about storage and a cloud computing infrastructure it may be a number of different things now the one thing that you may be using especially if you're using your own private network use you own your own equipment is something called a SAN a storage area network so what a storage area network is is essentially more or less it's a it's computers with their own their only task is to store data and so what you can do is you can create a cluster of these storage devices and then based off of the configurations then what will happen is files will be moved around automatically within this cluster on the sand as need be so again depending on what redundancy you want what reliability you want you may copy a file two times so maybe maybe a files on two different storage devices or if you've got a lot of money you may copy a file four times so it's on four different devices so if you have ten storage devices in your sand and let's say four of them get destroyed somehow if you make four copies then most likely you're going to be fine so that's one of the things to be thinking about with when you're thinking about storage area networks and building this out is one thing to think about is again what what is your risk tolerance do you simply want to make sure that if one storage device is destroyed you'll be okay or again you know what happens if a tornado comes through and literally destroyed like physically destroys half of your rack if that happens based off of how you've built up your storage area network you may or may not still be able to have all your data one of the cool parts to a storage area networks is once you start dealing with a storage area network you can then put those storage devices in different places right so you can have a part of your source and basically being in your internal network so in your server server room and then it can communicate with other devices that are maybe at a colocation facility so if you're worried about oh you know what happens if a tornado comes through or a flood flood comes through and destroys my entire server room if you know all their data is in real time being replicated off to some other colocation facility then you know then at least if nothing else all of your data is not going to be destroyed so by abstracting out the concept of storage you can do start doing some fancy things without storage that you can't do when basically you've got a harddrive on a server again if you go back about 10 years and you talk about storage for servers basically what you had more or less what you had is you had a hard drive on the server and then hopefully you had a backup regime that worked hopefully and that was their eyes over your hard drive physically died then you then then you basically pull from the back up and hopefully everything's running then you had things like raid so we're done an array of inexpensive disks so that's where you could tie multiple hard drives into one a logical hard drive before the server and so with the idea being if one of the hard drives failed then you still have access to all of your data and you could simply replace the one drive but again there was a problem there and I saw this in the real world it's what happens if a single raid card fails what happens if multiple hard drives actually had that I had multiple hard drives fail in a raid five once like one failed and then literally while I was writing down the information so I could replace the one that had failed another one failed and their server died right so and that was the thing and so back then not that long ago all the storage was with that physical box so if there was a failure of the RAID controller there's a failure of multiple hard drives right then you were screwed basically all you had was your backup and however long it took you to to be able to restore backup the nice part now when you start talking about storage area networks is again an entire storage server an entire storage device can literally just be stole it can just go the hell away just gone and as long as you've configured your Sam properly your users aren't gonna notice okay CEO mode might notice you might get screamed at but the nice part is you'll be getting screamed at but the users won't know there's a problem I always prefer getting screamed at by CEOs I don't know what it is getting screamed at by a CEO it's so much easier to deal with it getting screamed at by the users but that's a thing right so so even if an entire storage device disappears or is destroyed the access to to whatever data is on that sand will still be available to the end-users again depend on what replication strategies and you have going on all the data could be off at a colocation facility so that even if your entire office is destroyed that data is there and depending on what architecture you built out it may be accessible to you when we start thinking about storage and we start extracting out the storage you can also then simply go to providers such as AWS or Shore for storage services so if you go to AWS a w s has multiple storage services now I actually like using AWS glacial it's a very inexpensive but slow storage solution but if you go to Amazon you'll notice that they have a lot of different storage options for you so you can use glacier you can use a you know storage block storage they have a lot of different storage and so for your servers or for whatever you're doing you can point your servers at whatever storage service you think is most appropriate and the nice part is is then you can decide what storage is appropriate for your price point and for your requirements so for me I actually use AWS glacier so AWS glacier is a storage solution that is very inexpensive it's something like one one cent per gig for storage well the reason is this is not real-time access it's not real-time access you pump data up to AWS glacier it stores it for you real-time but if you actually want to be able to recover the data for some reason basically you actually have to put a request in and then that request will grab all the data you want put it into a format that you can actually download and then you will have to download it and so that can actually take up to a couple last time I did it took a couple hours maybe it's a little faster now but the idea is it's not it's not real time access story so I use it as a backup solution so yeah as far as backup and data goes I have a thousand different backups for all my files so there's a backup here there's a backup here there's a her backup here but again one of the questions has to be is you know what if a tornado comes through what if a flood comes through what if my house burns down right well then what's happened your data so I back it up to AWS glacier it has a very low price point because again it's a very slow recovery process if you actually need to get it and so I have that as my fault tolerance so I paid 20 bucks a month for quite a bit of storage up there just in case something happens and so that's one of things you can look at it you can go to AWS you can go to Azure depending on what kind of storage you need do you need really fast accessible storage you can go there and then you can simply pay for however much you need if you need slow but cheap storage you can pay for however much you need and so that's one of the things to be thinking about again in this modern world of cloud computing is when you extract out you can have a local sand or possibly you can be using AWS or as your storage you can use these different things and you can figure out what price point and what requirements you have and pick the product that works for you so those are some of the things to be thinking about with storage and cloud computing so now we need to talk a little bit about databases when it comes to cloud computing so I'm gonna tell you a little secret I'm not sure what secret I'm not sure if that's what I'm supposed to say though but the reality is is so much of what we deal with in the IT world anymore really is databases and it's simply pushing and pulling data out of databases right people create these fancy cool wacky front ends and it looks super sexy and it looks super high-tech but really most of what the powerful thing that's happening is just simple you know sequel queries or whatever suite sequel statements going back to a database somewhere and then it goes to the database that either requests information or it puts information and and then you know they tried they try to splash it up with graphics to make it look a lot cooler than it is but if you go to sites you know whether you're going to amazon.com but you're going to iTunes so many of the services that we use any any more basically our database driven so what happens is there's data within these databases you can do you can do searches so again if you go to amazon.com and then you're looking for lawn chairs you can plug in lawn care as a search query and if you see pictures and you can see all this fancy stuff but in reality all that webpage is doing is it's taking lawn chairs is then going to a database it's running a query and based off of what you plugged in as a search and then it's outputting the results that's outputting data and then the web page it takes that data for matza to look very very very pretty and so it looks high-tech and sophisticated when it's really just again it's pushing and pulling and data to databases so this is an important thing that you need to be thinking about again in this modern cloud computing world again what kind of data that you are going to be storing how are we done it you want that data to be how accessible you want that data to be and so on the cool things with with databases you can do things such as creating clusters so what you'll notice in the cloud computing world is you'll notice the word cluster you'll notice that I use the word cluster a lot and that's probably one of the most significant things with cloud computing like from a list of tech technology standpoint is a concept of making everything a cluster so the idea is when you make everything a cluster is that no one individual physical machine it will bring down all the data or all the services if it fails so if a CPU fan fails or power supply fails or anything else that one node that one host can fail and go away but the rest of the cluster as long as it's kenneth figure properly will keep running and so that's what you deal with with databases easy create database clusters and then depending upon your requirements then you'll have you'll build out that cluster in different ways when you're talking about databases you can have a read of databases so basically so imagine like like Hulu right you go to Hulu you go to Netflix you go to websites like that you're not really putting much data into their database you're putting very little data into their database think about it all you're doing is when you create the account you put your information into their database then mostly after that you're only reading we really only reading from their database to find out what the new videos are what the next video with videos you should watch is that type of thing and so one of the things you can do with database servers is you can make them read-only what this means is it'll be a lot faster because all they're doing is basically when clients come to them they simply they simply provide data they don't have to worry about writing data and it's also a security precaution because basically if you have servers out there that can't be written to then people can't add bad information to them to cause you problems and so when you start looking at databases this is kind of one of those interesting things again to be thinking about the cloud computing world and the idea is okay you can create a cluster of databases or you can create a cluster of database servers you know for the database and then you can position those in different places around the country of the world so you may have may have a read write or even a write only server wherever your headquarters is so wherever your headquarters is wherever whenever changes are made to the database that's the only server where the changes can actually be made and then from there the information is replicated out to the other servers so you may have a read-only server in New York City a read-only server in San Francisco read or only server in Tokyo so whenever rites are happening that's happening back at your headquarters office and then basically any pages that are then made are then replicated out to the other servers you have around the country or around the world and so this is something to be thinking about in the whole cloud computing environment when you start thinking about clusters again things like with the databases should this be read are people gonna be writing to this and reading from it are they only going to be reading from it are they only going to be raining from it and then configuring the server properly and then when we talk about replication what replication means is basically how do the servers tell each other about changes that have been made and that's something called a replication strategy so basically the individual servers that you can write to they will periodically tell the other servers that they have changes within the database and then they will send those changes to the other servers how you set that up that's all up to you again with with databases ews as your other cloud providers they now simply provide database services so again if you're sitting there and you're thinking oh my golly clusters and CPU fans and all that kind of stuff maybe I don't want to deal with that maybe I don't want to deal with that I just want a service from a company you can go to AWS you can go to Azure you can go to other companies and they simply have database services again you just just kind of like with storage and compute and the rest of it what you can say is you can create database in and their service and then you can connect your applications or whatever just to that database service and then they deal with everything how the data gets replicated how the data gets stored all of that type of thing you can simply make policies on who is able to read or write to the database you can make things like that but the rest of the maintenance is simply up there with AWS or with Azure and you don't have to worry about it at all so those are some of the things to be thinking about with databases and again within this weird within this cloud computing world and again when you start thinking about things like the difference between storage and databases right because storage stores data right stores files and videos and all that kind of stuff and data stores down there databases store data but you know user names and inventory numbers and that kind of thing and so one of the things to be thinking about when you're building out your infrastructure is do you need storage do you need places that you can actually dump data and like files and folders and that type of thing or do you simply need some place where you can dump specific like record type information first names last name social security number is that type of thing and so that will be depend on what you decide whether you really need storage or whether you need database services so now we get to the networking and I do really do have to say I think networking has gotten a lot more interesting the whole cloud computing world over about the past decade because back in the old days like when I was setting up every man I t.com really you didn't have a lot of options most normal people didn't have a lot of options if you don't want to spend a lot of money so if you had something like DNS basically you would have your domain name let's say everyman IT comm that would point to an IP address which is probably a physical server and so if users we're trying to go to your website or access your service they will go to DNS they will get the IP address they would then get routed to that IP address and then based off of whatever the configurations were for the server at that IP address you would get dumped on to a website you could do some interesting things with it with reverse caching or reverse proxy but there wasn't a whole lot that the average person could really do especially in a cost-effective fashion well now again ten years down the line there's a lot of interesting things that you can do with routing when you're talking about cloud computing infrastructure and architecture so one of the things you can have now is something called a Geo DNS they can actually purchase relatively inexpensively so again at the Geo DNS allows you to do is allows you to do things such as depending on somebody's location based on their IP address you can actually route them to different servers so let's say you're running something again like Hulu or Netflix or something like that and so you want to route people to wherever you're closest server is so they get the best performance so let's say you have a server in Saint Louis you have a server in Tokyo you have a server in Paris so what you want to have happen is if somebody is in Texas so somebody is trying to access your web site your services from Texas what'll happen is the DNS server that they connect to will look see what IP address they're coming from go oh you're in Texas so therefore the closest server is st. Louis so I'm just going to automatically route you you're going to get the IP address for the st. Louis infrastructure right because that's closest to you if you're sitting in Denmark and you access the web site basically when that goes to DNS it's gonna go oh you're in Denmark so therefore the closest infrastructure for you is sitting in Paris so the IP address is then going to route you to Paris instead so that's one of the things you can do nowadays is you can have your servers in all these locations around the country or around the world and based off of people's physical location as their rent by the IP address they can then get routed you'll notice I say based off the IP address and that's where things like VPN or proxy servers come in because you can use a VPN so basically VPN into a different place and then you'll connect to the local server there so if you're in Denmark you could use a VPN use a VPN to go to let's say Texas and then when you try to go to the website you'll then get the st. Louis server versus the para server so do DNS is one of the interesting things that you can do there's also now something called Software Defined Networking depending on exactly what you're doing and what your resources are this can be very interesting so again nowadays with networking with all the stuff and cloud computing things can be administered programmatically so what I mean by program programmatically is basically if else statements so if this is true then do this so in the old days with networking you basically set up routes you basically set up the networking and that was more or less it again you use something called routing protocols and so if a link went down you would try to route to it two different routers and things but there wasn't a lot to it the cool thing now with software-defined networking is you can actually put in a lot of if-else else then else if type statements where depending on what's going on with server server loads depending on what's going on with bandwidth depending on what's going on with latency depending on what's going on with a huge number of different factors you can actually route traffic differently so again we talked about a Geo DNS so basic thing with Geo DNS is okay you want to go to the local server but what happens if the local server is overloaded again from a from a company point of view I want to give my users the best possible experience so normally the best possible experience is for them to get routed to the local the local data center whatever data center is closest to them but what if for some reason that data center is just getting the hell hammered out of it like you've come out with a really cool product and all these people in the area are you know they're trying to go to your website and so they're all getting routed to that one data center and so that data center the CPUs are going through the roof it's all really bad so what I think you can do something like software-defined networking is you can have all of these you know if else--if type of statements program programmed in there so that if they're the average CPU load and in that particular data center it goes above 80% and all these other things then instead of rounding the people to st. Louis where they should be routed normally maybe you do route them all the way to Paris maybe the latency is worse by routing them to Paris but since there's less people actually trying to connect to the Paris servers the overall experience will be better for people and so this is one of those interesting things that's now coming up again is that it's more and more of the idea okay is how do we route things to give people the best experience rather than again realistically before you through and switches and you through and the the routers and that type of thing you configure them and then basically they did what they were supposed to do so one of the curious things now again they started looking at things like geo DNS you look at like software-defined networking you look at a lot of these rules based networking solutions that are out there and this gives you a lot of functionality you didn't have before now the final thing to talk about to start talking about cloud computing infrastructure and architecture is AP is so when ap is are there ways that platforms allow you to interact without their data without allowing you to understand how that data is being provided you have no idea what operating systems they're using you have no idea what hardware they're using you don't really know what the hell's going on on the other side of the wall they have a wall the wall allows you to put stuff in it allows you to think some stuff out and that's it what happens over here we'll you may know if you know much about a Silicon Valley companies there's a good chance even they don't really know what's going on the other side of the wall right and so API is can be very powerful now especially when you're using enterprise class services so if you're talking about something like Salesforce or box you may have applications you may have software that's able to interact with Salesforce and so basically you're able to put in information your your app your whatever will be able to communicate with Salesforce and then put something into their database or your app can request information from their database but the important thing to understand here is that you really have no idea what's going on the other side without you have no idea what's happening with your data you have no idea what clustering they have you have no idea about anything else essentially you can go to these companies you can ask for API credentials basically the way that you're able to connect to their API and then your products or your services are then able to interact with whatever they allow you to interact with and so that again is kind of like this weird new world we're dealing with that we weren't dealing with with ten years ago like ten years ago things were about open source again Linux and PHP and WordPress basically the idea that you were going to be running your your own platform now we have so many things where the platform is being run for you or it's a black box of how everything actually operates but then you're able to interact with that platform based off of whatever all and then it permissions those people allow this can be very good I mean the nice part about it is is you don't have to pay for their infrastructure you don't have to worry about their security you don't have to worry about a lot of things on the other thing on the other hand one of things you do have to realize is that you literally are only being granted the rights that the company allows you or right at this point in time so that was a big problem with Twitter a number of years ago Twitter allowed a lot of stuff with their API so there are a lot of startup companies that were spun up based off of what they were allowed to do with Twitter's API they were able to do a lot of cool fancy things and people liked it customers like to the startups liked it everybody liked what these companies were able to do using Twitter's API for some reason well go ahead do it API Twitter decided to start closing down that API and then all of a sudden a lot of products that worked one day literally stopped working the next and there wasn't anything anybody could do about it because basically everything was running on the platforms you are only able to gain access to literally whatever they allow you to gain access to and so that can be an issue there the good part is they run everything you don't have to worry about the cost or anything else the bad part is at any point in time they can change the rules and that might become a big problem so api's are another thing they become really big in the cloud computing world and it's really something to be thinking about and so that's a basic overview of cloud computing infrastructure and architecture there's a lot more to it obviously you can do hundreds and hundreds and hundreds of hours of classes and training to this but I think this gives you a bit of an overview of what we start talking about when we start talking about the cloud computing world again the main thing that you have to understand with the cloud computing world the difference between cloud computing and old-fashioned compute is an old-fashioned computing the operating system the services everything was tied to one physical box I could go and I could touch it I guess I could say this is the Active Directory server I could say this is the exchange server now you use something like office 365 and you say it's office 365 again where are the office 365 servers who the hell knows who the hell cares you use office 365 you're able to send emails you're able to get emails you're able to put in rules for security or whatever else but you have no idea where that physical machine is and at this point it really doesn't matter so one of the big things just to understand what the cloud computing world is it's the idea of you are now you're now interacting you're now dealing with services versus the actual servers I think that's a big thing to take away from this and then the other thing to be think taking away from it is again the idea of abstracting everything out that you can possibly abstract out again in the old days you had a server start on a CPU it had RAM at storage you know the operating system and the services it had all the configurations it was all one box literally if your power supply blew everything when everything went down it wasn't just like the operating system went down but you still get email services somehow email was down and the operating system was down you had to go back and do the repair work the nice thing now about abstracting out everything is you compute is its own thing so you can literally have a cluster of just again these these VMware hypervisors so you have VMware hypervisors installed on two physical machine as physical boxes and then that's just your compute so that's what does the compute then you have the the virtual machines so you're kind of VDI files you know these virtual machine files and that's stored in a storage area network a SAN and so those virtual machines are stored in the sand and so then then basically different hypervisors within the cluster can request those virtual machines and then they can simply be moved again if one historic device in the sand fails that's fine the sand stays up and running the walls as long as you can figure it properly if one if one hypervisor machine and the VMware cluster fails again it doesn't matter things just get moved around and so that's one of the really cool things is that we start abstracting out all of these things and as we start abstract anout the storage we start abstracting out the computer we start abstracting out the operating systems and the services and then we can we can deal with those one on one it allows us to create things that are far more robust far more fault tolerant and just far more useful at the end of the day but again it's an entirely different way of thinking about computing we talked about the compute and again when we start talking about compute there's a lot of ways of abstracting compute out in the cloud infrastructure we can talk about virtualization we can talk about Linux containers or now we have Windows containers there's something called serverless architecture which is just absolutely fabulous and again the idea here is more it's not about virtualization or vm's versus containers versus serverless it's more than idea if you sit there and you look at it's like okay well what what am I actually trying to accomplish here right do I need do I need a full virtual machine do I need a full server operating system again like we start talking about encoding video files do you really need a full virtual machine in order to encode video files if somebody's offering you know a service architecture where you can simply communicate with it send it a file it outputs a file that's all you need you don't need to worry about security policies and antivirus and all that kind of stuff right or on the other hand maybe you'd even need all these permissions for things and so again that's one of things to be thinking about with the whole compute and the virtual machines and that kind of thing again with storage you can have storage area networks so those are where you have the different storage devices again in a cluster you can have the cluster and the devices spanning the country spanning the world they can have different replication strategies if so many devices completely fail all of your data is still safe you can start doing a lot of interesting things with that but again you have to think about how you're actually going to be building that architecture and it's an entirely different world right simply having storage in a physical box right I'm going I'm going to build this active directory server and I'm going to put in a 500 gig hard drive and then then the only did the only question you've got as well do I do a solid-state drive or do to a platter Drive you know do I do a rade you know what ray do I have our there's a couple of quiet if you're building a server you know what raid you're gonna use maybe what interface again again use solid state or yeah you gotta use solid state you know you say it oh you know use PCI Express like there's a couple there's a couple of questions if you're gonna be building a physical server whereas again for storage when you talk about a sand sky's the limit budget is the little bit right well if you start building on sand you can you can have storage devices literally spread all over the world doing whatever kind of communication replication strategies that you that you tell you can do really really really sophisticated things and so it's an entirely different way of thinking about things instead of just slotting in a hard drive and decided what hard drive that is it's about really thinking about what your storage architecture is going to look like and then again then we get to databases again with the databases it's the same thing of you know it's you're storing data into the database but the database is going to be a cluster you can have read databases you can have write databases you're gonna read write databases you can put those database servers all around the country and they can all be communicating or you can simply go to something like AWS or as you're instantly by a database service and then you don't have to worry about what's going on the backend things to be thinking about again with networking the cool part now with networking this whole cloud computing architecture is that being able to do sophisticated networking rules is actually now relatively easy so based off of where people are trying to access your website from so again if you have servers in the United States and in Asia and in Europe and in Africa you can literally just route people to wherever the closest server is so they that they get the best performance so that's a basic thing with geo DNS and then with things like software-defined networking you can make that even more sophisticated again depending on the load of the servers within your individual data centers depending on a whole bunch of different things you can then actually dynamically route people based off of that and basically you get what you do is you just simply put in more or less if else statements you know if this is true if this is true if this is true if this is true route this way if this is true this is true this is true around that way and so you can start to do some really sophisticated things but again again this takes this is much more complicated than simply saying everyman IT comm gets pointed at this IP address and walk away and that's it and then finally again with api's api's are very powerful nowadays again with salesforce with a lot of these other companies they offer you a lot of functionality they'll offer you a lot of services at a very good price point maybe all maybe free depending on what what API you're connecting to but in other hand what you have to realize is their whole infrastructure is a complete and utter black box to you you literally have no idea what's going on the other side with it you're able you're able to ask for what you want you're able to put some stuff in you're able to take some stuff out but basically the rules that are created again Twitter you have to understand a few years it was like 2012 or something Twitter was brutal twitter was brutal they just started changing they just started Canadian rules and they didn't they didn't care what everybody thought they just did it and that's one of the things you have to be concerned with API is it again so this is where like you have to be thinking about you may be sitting there going well you know yeah yeah my company should use Salesforce you know because it's cloud and it's all this then in the other but you have to realize you're working under their rules so is it better that's the way you have to is it better to use a platform that's robust and stable and relatively cost-effective but where you're under somebody's rules versus maybe building your own service that isn't quite as robust doesn't have the same feature set but that you completely own it you can change it at will depending on what you need these are those these are some of the things you have to be thinking about again with the cloud computing architectures and infrastructure and what you're actually trying to accomplish and what's important for your particular company so that's really that's a shorter that's a short little introduction we're going to have a lot more videos in this series so hopefully a lot more of this makes sense if you're a little bit confused right now again this is the type of thing we're just watching video knows do a lot of additional reading you know do some google searching to figure out some terminology and all that this is the type of thing where if you one one video or if you do one class you're probably confused if you want about ten hours of videos I think a lot of things will make a lot more sense because again with cloud computing it's not it's not individual technologies it's not individual products it's not again there's just so much out there at this point to really grasp what's going on you have to you have to learn about a lot of different things and before we really feel comfortable talking about this so with that as always I enjoy doing this video I hadn't look forward to see at the next one
Info
Channel: Eli the Computer Guy
Views: 69,508
Rating: undefined out of 5
Keywords: Eli, the, Computer, Guy, Repair, Networking, Tech, IT, Startup, Arduino, iot
Id: mxKpAxtefbc
Channel Id: undefined
Length: 70min 47sec (4247 seconds)
Published: Mon Oct 07 2019
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.