Yes, but you have to still understand the topology and the architecture and the features that you want to implement so that you can actually configure them in the cloud. So what do you actually get from cloud providers?
There’s any number of them out there these days. But perhaps three of the biggest are Amazon, Google, and Microsoft, all of whom offer, these days, of very similar palettes of options. And it’s outright overwhelming, if you visit each of their web sites, just how many cloud products they offer.
But they would generally offer a number of standard products in the cloud– for instance, a virtualized server. So you don’t have to physically buy a server these days and plug it into your own ethernet connection, your own internet connection in your own office.
You can instead essentially rent a server in the cloud, which is to say that Amazon, Google, Microsoft, or any number of other companies will host that server physically for you, and they will take care of the issues of power and cooling.
And if a hard drive fails, they will go remove the old one and plug in the new one. And ideally, they will provide you with backup services.
But more sophisticated than that, they can also help us recreate, in software, this kind of topology. In other words, even without having a human physically wire together this kind of graph, so to speak, that we’ve been building up here logically, thanks to software these days, you can implement this whole paradigm– not with physical cables, not with physical devices, but with software virtually.
What does that mean? It means that humans, over the past several years, have been writing software that mimics the behavior of physical servers. Humans have been writing software that mimics the behavior of a router. Humans have been writing software that mimics the behavior of a load balancer.
And implementing mimics the behavior of– really, we’re just building, in software, what historically might have been implemented entirely in hardware. And even that’s a bit of an oversimplification.
Because even when something is bought as hardware, there is, of course, software running on that hardware that actually makes it do something. But they’re no longer dedicated devices. You can use generic commodity PC server hardware, really, and transform that hardware into a certain role, a back end web server, a back end database, a load balancer, a router, a switch, any number of other things.
And so what you were getting from companies like Amazon and Google and Microsoft and more is the ability to build up your infrastructure in software. In fact, the buzzword here, the acronym, is IaaS, Infrastructure as a Service.
So you sign up for an account on any of those companies’ cloud services web sites, and you put in your credit card information or your invoicing information, and you literally, via a command line tool– so a keyboard, or via a nice, web-based graphical user interface, GUI– do you point and click and say, give me two servers and one load balancer. Or if you have enough money in the bank, you say give me two servers and two load balancers configured for high availability.
Or better yet, you don’t say any of that. You just tell the provider, give me a web server and give me a load balancer, and you deal with the process of scaling those things as needed.
In fact, a buzzword de jeur is auto scaling, which refers to a feature, implemented in software, whereby if a cloud provider notices that your servers are getting a lot of traffic– business is good, or it’s the holiday season, and you are bumping up against just how many users your one or two or three or more servers can handle– auto-scaling is a feature that will enable the cloud provider to just turn on, virtually, more servers for you so that you go from two to three automatically.
You can be happily asleep in the middle of the night, and even though your traffic is peaking, it doesn’t matter. Your architecture is going to auto scale.
And better yet– especially financially– if the cloud provider notices, maybe 12 hours later– oh, all of your customers have gone to sleep, we don’t really need all of this excess capacity.
Or maybe the holidays are now in the past. You really don’t need this excess capacity. Auto scaling also dictates that those servers can be virtually turned off. So you’re no longer using them.
You’re no longer load bouncing to them. And most importantly, you’re no longer paying for them. So this is a really, really nice value add at this point. There’s no human crawling around on the floor rewiring things and plugging in new servers.
There’s no finance person having to approve the PO to actually order more servers just to increase your capacity. And most importantly, there is no latency between the time when you notice, oh, my god, we’re getting really successful and can’t handle our load– uh oh.
It’s going to be a two, three-week lead time before we can even get in the more servers. Thanks to cloud computing, you can literally log in to Amazon’s, Google’s, Microsoft’s web site and, click, click, click, have more server capacity within seconds, within minutes, far faster than the physical world traditionally allowed.
So those are just some of the features now that we gain from outsourcing to the so-called cloud. So where does some of this capability come from? Well, it turns out that over the past many years, humans have been getting better and better and better at packing more physical hardware into the same form factor, into the same physical space.
So at the level of CPUs, the brains of a computer, we humans have gotten much better at packing more and more transistors, for instance, onto a CPU. And transistors are the little switches that can turn things on and off– 0 and 1, 1 and 0.
So you can store more information and you can do more with that information more quickly. CPUs today also have more cores, which you can think of as mini CPUs inside of the main CPU, so that a computer with multiple cores can literally do multiple things at a time.
But the funny thing is that we humans, over the past decade or two, really haven’t been getting fundamentally faster at life. At the end of the day, I can only check my email so quickly. I can only post on Facebook so quickly. I can only check out from Amazon so quickly. Because we humans have, of course, a finite speed to ourselves.
We’re not just getting– we’re not doubling in speed a la Moore’s law every year or two. So we have, it would seem, a lot of excess computing capacity these days. Computers are getting so darn fast, we don’t necessarily know what to do with all of these CPU cycles and with all of the RAM that we can fit into the same physical box at half the price that it cost us last year.
And so manufacturers and companies realize that we could actually build a business on this increased capacity. We can implement the computer equivalent of timesharing, so to speak, which has long been with us in the history of computing.