Try and hash out our vm still amazing and awesome uh, so brian thanks for coming in today. I appreciate you happy to be here. Lets get to it. Yes, yes, last time we talked about. Uh are cloud vms relevant, you know, are vms still relevant in a cloud native future. You said definitively yes, so today i want to go a little bit deeper and and find out what exactly is a cloud vm? Can you help me out absolutely lets get into it and you know first, its its a virtual machine. You know, like i think, most of what people know about virtual machines is all true for cloud vms and the the thing i hope we get out of this today is that theres, a bunch of extra stuff you might not know about or might not think to Look into okay so lets all right, its like a cloud v, its like a regular vm, but not so a regular vm. We said its a its a machine on a computer. You said cloud: vm is a little bit different. What are the specific differences with the the real parts, the physical parts yeah in the end, its all running on real computers somewhere right? So you know when the vm is up and running, youve got a real cpu. Youve got real memory um and i think the the parts that are the most fluid are probably the disk and the network um, and you know in google cloud those are both.
Software defined services that give you a lot of flexibility, so i think the the takeaway here is instead of thinking about it as a slice of one computer, think about it as like. The slice of a data centers worth of computers, wow all right so thats, an interesting thought to me and and what im curious about is, if i have a slice of a data center. How is that manageable or usable like if i wanted to make a video game? What do i do with a slice of a data center? I think thats a great example so its down to you know what are you trying to do and we then take you know a bunch of the variables that are possible and kind of group them up. So we group them up into compute optimize memory. Optimized accelerator, optimized and then general purpose, so the the compute ones are for you know where you need the lowest latency single threaded computation possible memory is where you need the maximum memory. You can possibly stuff in a in a machine. You know youre running like an in memory database or something and the accelerator ones are for when you need a gpu, or you know one of our tensor processing units and then for everything else. General purpose, general purpose, just like most people, just need a laptop like so okay, you have these specific uh groupings. Maybe families of machines ordered within those families. Can i can.
I specialize like if i need a high end gaming laptop versus just like a low end. Gaming, laptop absolutely um, and you know the first knob you have is just how big it is. You know so how many cpus and memory so you can have like a two core machine or a 20 or a 460. You know core machine, you know um, and so they get it bigger and smaller. Yeah really and – and you know up to 12 terabytes of memory right now and like those numbers keep getting bigger over time, so depend you know. When you see this, it might be different um and you know by default those come in kind of like a preset ratio, so they kind of grow together, um, but the you know, kind of part of the main reason people wanted to use containers at all is That not everything fits in that exact shape, so you end up kind of orphaning, some of the capacity and youre kind of wasting money. So we also allow you, with the general purpose, machines to pick um your own ratio. So if youre like oh, i know this is a really cpu heavy thing, but i dont need that much memory. You can make a computer thats that shape and you only pay for what you actually need. Oh thats, really cool. Okay, so these like, if you can make your own shape somewhere, there has to be physical memory uh.
So where do we get this in a cloud vm yep? So when you turn, when you go to set one of these up, you know we find one of the machines out there that has space for the shape you want and start it up there and so thats. You know this um kind of a tetris problem becomes not your problem and were big enough, that theres almost always a good spot for that to fit yeah, and so these are all on one machine. It just sounded like there. Oh, so you know theres a data center worth of machines and so like. When you go to start yours up, you know we find the right spot for it. You know find a computer that has open space. So tell me a little bit more about disk, then in this in this slice of a data center world. So if we can just turn it on on like any one of these computers in a data center right like how do the disks work, um wheres, my data um, and so we by default, our disks – are almost always network attached, storage and so, instead of a A physical disk plugged into one computer, i mean those still exist, but we provide a virtual disk made up of hundreds or thousands of disks plugged into a whole bunch of computers and then assemble. You know the blocks together virtually um which gives you um. You actually get higher performance than you might get normally so, like the the throughput is very fast, and then you get a bunch of the features that you might expect from like a sand like a storage area network, so youre gon na you can attach and detach On the fly you can yep, okay, thats really cool, so you can do that.
You can resize it um and, like you, use the snapshots to take backups, but the resize thing is kind of amazing like if you run out of disk space, you can actually make the disk bigger while the computers running ryan, youre blowing my mind right now. I got ta, i got ta act, skeptical, im, gon na be skeptical youre blowing my mind, um something im curious about. When i, when im using containers, i can select an operating system um, and so what what the benefit of that is. I can write applications to operating systems that i know and love. I can only use what i need um. Is there that same concept in the vm world, or am i stuck like what am i forced to use certain types of operating systems to use a cloud? Vm yeah very similar concept – um, you know with you know, whereas in a container its mostly just the files that make up that that system, you know kind of per per run time, whereas here we have the whole operating system running um, but other than that. Its really pretty much the same concept: you have most workloads. These days are running on linux or windows, and so we provide kind of pre made images of debian centos, core os, ubuntu, red hat enterprise, susie um and windows, server data center, a bunch of different versions um. So when you create a vm, you say: okay, i wanted to run this os and, and it makes a copy of that image.
You know kind of on the fly and boots your machine off. Of that, okay, thats, really cool um. Are you? Can you use your own at all yeah? So if you uh two ways to do it so one if you want to use one of these oss and just kind of put your flavor on it, add some tools configure it the way you want it to be. You can boot off of one of them and then make a new image based off of the work. You did nice so that thats a really common thing and then, if you, if you want to its a block device – and so you know you can, you know, make a customized version of an os or you know, develop a whole new os and as long as That runs in a virtual machine. You can boot off of it and go. I got ta be honest. It sounded like theres a lot of flexibility there. Like all these things like well in containers, you can do this youre like yes, you can do this in vmworld too well, and a lot of its based on so like this is a you know, kind of a you know, high level version of what a cloud Vm is you can basically run anything that runs on a computer um? Okay, so i all right, we just specified really quick theres, some virtual parts or some physical parts. Uh. Your discs are going to be spread out over the uh over a wide data center, pull it together to give you more reliability, uh, more consistency, a lot of times, you said its even faster throughput.
This is like really cool. What im curious about is uh. What are like actual like things that are non obvious extensions of this that, like what can i do with this like yeah, i think one of the you know like underused or kind of unknown. Things is actually running a container like a kind of one one container per vm as a pattern yeah. Why would i? Why would i do that? So a couple of different reasons, like one containers, have become kind of a distribution format. So a lot of software is already you know, ready to go in a container um, and sometimes you know you dont want to deal with kind of setting up a whole cluster or managing some other stuff. You just want to run one thing, so thats thats a reason to do it and then sometimes theres. You know constraints like that particular thing. It might make sense to run it on a very large machine for a short amount of time, or you know it needs. You know some particular like uh configuration that you might not have otherwise right, so it makes sense to kind of run of containers yeah one to one okay. That makes a lot of sense uh. What all right, but i i mean in theory, i could still run containers for a lot of this. What are some other features of cloud vms that youre excited about yeah, so um, one, i think, is um its really commonly used in almost all architectures.
You know pretty much: everybody has a load balancer when you have multiple machines right and the the non obvious like cool thing is that, yes, we have a load balancer, but its a load, balancer service that is provided at the data center level. Its not you know some particular computer that has a certain capacity that as soon as you hit like things, start slowing down or getting you know, overdrawn, so youre. Actually, configuring the data center level load balancer that google uses for like youtube and gmail to run your own machines thats. So i one thats just really cool thinking about that concept. But what im blown away right now is thinking in uh, kubernetes uh. I use services all the time yep and this and gke this uh, the load balancer thats provided is the cloud load balancer, the google one. So even then, im using the google cloud load balancer um. My question, though, is like i can still access this load balancer. It sounds like its configured already for me through something like kubernetes um. Is there a reason to go lower? Is there a reason to go to to this level? So if youre already using kubernetes, you know use kubernetes, but i think um you know its. Those patterns are super useful and you know not. All software you know is set up to run in containers or is so easy to do there. So if you want to use those things having a single endpoint that you can communicate with yeah, so this idea of having a known endpoint that you know provides this service and then theres.
A group of you know containers usually in kubernetes, but a group of computers in this case that you know do that and once you do, that you have um a known endpoint and a group of computers, and we call that group in compute engine a manage instance. Group, then, you can put a bunch of logic on that, so its actually a service in and of itself, so it handles starting up new machines when theyre needed. If you turn the dial up and youre like. Oh, i have five now and i want to have ten. It starts the new ones, um that can be set up to be run automatically. You know, depending on the load you get, and then you can spread those out across the world. You can, you know, have some of them running in one country, some of them running somewhere else and route, the traffic to the closest one for your users. That sort of thing im gon na, have to find out more about this, like im. Im gon na have to dig in deeper because, like i wan na, be skeptical and im like this all sounds amazing um in a further. I i think, like i dont, want this conversation to go too long, but im definitely going to want to dig in deeper here um. In fact, maybe maybe we can have an outfit so this would you count this as a like admin infrastructure, networking? What is yeah? I think i think we should dive into the networking a bit more next right and kind of how that actually works, and you know when i say its not running on one box: wait what how do you? How do you distribute traffic if its not going through one machine, so lets do networking and then im just you know, i love the discs and theres a lot more to talk about there lets do that.
What else do you want to hear about this? For sure i want to hear about cost uh im gon na have to do some, my own homework after hearing about like machine families and uh. All of this i need to go start and create a vm, and i hope people listening at home do the same thing. Yes, because because im im gon na be more skeptical next episode, okay, im going deeper, but this episode, i got ta, admit cloud vms, sound. Pretty cool they are give it a try, alright! Well, thank you, brian and ill catch up with you.