Cloud Computing Fundamentals

Benefits of Cloud Computing

We’re going to talk through some of the benefits that you get with a paradigm shift to cloud computing. So AWS calls out several key advantages. The first of them is you trade capital expense for variable expense. Now let me break that down a minute for you. What that means is we don’t have this large capital investment initially to build out a datacenter like we talked about with Cybermetrics. In this case, we get a variable expense, meaning that if we’re using a server in the cloud, we simply pay for the amount of time that we’re using it, and we can throw it away at any point. Now we’re going to talk a lot more about the economics of the cloud later within this course. Next, we get to benefit from the massive economies of scale. So this really factors in in two different areas. One is just the cost of building out a datacenter and all of the equipment involved. AWS buys things on a very large scale, and so they’re able to make sure that they’re getting the best price for those. In addition, in the economy of scale when we look at it from a maintenance perspective, Amazon has determined how to manage all of these fleets of servers effectively at scale. And so those cost savings get passed down to us as consumers. Next, you can stop guessing capacity. We talked about with Cybermetrics how difficult it can be to properly predict demand. Well, what if you just didn’t have to? What if you could choose to have a system that could either grow or shrink based on demand? That’s one of the paradigm changes you get with cloud computing. Next, you get to increase speed and agility. So when we talked about Cybermetrics in the previous clip, we mentioned that they were looking to find funding partners before they were able to go out and test their cybersecurity social network. Well, that’s not very agile. Ideally, we want to be able to test out our hypothesis against real users, and to do it quickly. And one of the things you can do with cloud computing is try out new ideas and have minimal cost to do so. Next is you can stop spending money maintaining datacenters. So as I mentioned with Cybermetrics, they were having to staff individuals at each of the datacenters, and at each of the datacenters they would own that maintenance burden for as long as the datacenter was up and running. And so this allows you to shift away from that. And next, go global in minutes. So in the case of Cybermetrics, they were having to wait six or seven months to move to a new region within the world. However, what if they could simply send data over to Barcelona or to Sao Paolo at any point without having to build out new datacenters? They literally could do it within minutes instead of within months.

Now with these advantages, I want to focus on a few key terms that you need to be familiar with. The first of them is the concept of elasticity, and this is what we talked about earlier when we were talking about demand. But it’s the ability to acquire resources when you need them and then release them when you no longer need them. And in the cloud, you want to do this automatically. Now AWS has several services available to you to do just this. Now the next concept I want to talk about is reliability. Now, when we talked about Cybermetrics, one of the things that we didn’t even cover within their datacenters are things like failover. So what happens if one of your datacenters goes down? Well, one of the advantages of AWS is that it has global infrastructure that is built with reliability in mind because we want our solution, whatever it is, to always be available to our users when they need it. And so we can take advantage of this by building a solution on AWS. And the next concept I want to talk about is agility. Now as I mentioned, we want to have the ability to lower the cost of trying new ideas or business processes. So instead of having to go out, for example, let’s take a new concept like blockchain. Instead of having to go out ourselves, hire individuals that have their expertise, buy the hardware that we need, install it in a datacenter, and then start using it, in this case we’re simply able to tie into the resources that AWS has and use the services that they provide to us. Next, it reduces the time required to maintain infrastructure. So we begin to shift. Instead of simply spending time maintaining, we’re able to spend time working on things that add business value. Next, it does reduce the risk for the organization around security and compliance. Now, don’t let anyone tell you that you don’t have to think about security when you move to the cloud. You certainly do, and we will be looking later at the AWS shared responsibility model so we understand what is our responsibility and what is AWS’s responsibility when it comes to security and compliance. And next, it provides access to emerging technology, as we mentioned earlier with blockchain, without having to spend a ton of money to ramp up on that new technology.

Types of Cloud Computing

So now that we’ve gone through and discussed benefits of using cloud computing, let’s now take a minute and talk about different types of cloud computing. And before we dive too deep into that, let’s discuss a definition for cloud computing as a whole. AWS says that cloud computing is the on‑demand delivery of compute power, database storage, applications, and other IT resources through a cloud services platform via the internet with pay‑as‑you‑go pricing, and that pay‑as‑you‑go pricing is critical as we discussed in the previous clip. Now let’s look at some different models of how we use cloud computing. So let’s imagine for a minute that we have a spectrum. And on this spectrum on one end, we have absolute control. But on the other end, we have minimum maintenance where things just run without us even having to think about it. Let’s imagine three different points on this spectrum. First of all, on the far left, with maximum control, we have Infrastructure as a Service, or commonly abbreviated as IaaS. This is where we run servers in the cloud, virtual servers, that are very similar to how we would run servers in our own data center, meaning that we have full access to those servers. We can change the OS that’s running on them. We can completely configure them to do exactly what we want. However, we also have to perform maintenance on those servers, keep them up and running to do exactly what we want them to do. But then, if we go to the far right of the spectrum, we end up with something else, and that’s Software as a Service, or SaaS, commonly abbreviated as SaaS. Now for Software as a Service, you might not realize it, but you’re probably using multiple Software as a Service solutions every day. And that could be your email provider, or that could be your specific chat service that you use with other employees. It’s just a piece of software that you’re able to run with. You don’t have to worry about configuring servers, it is just provided to you as a service. And in the middle of these two, we have something called Platform as a Service, or PaaS. And this means that we’re given a service that is configured for us where we simply need to deploy our customizations onto it. And so if you’ve ever used maybe a WordPress host like WP Engine, you can simply drop in your code and you can be up and running. They configure the WordPress install in the server for you. That’s a good example. There also is a Platform is a Service solution on AWS called Elastic Beanstalk. So with these different options, we can understand that there are different ways to use cloud computing. Now, next, let’s talk about different cloud deployment models. Now the first model that we see here is public cloud, or sometimes people will just say cloud. And this is when you are deploying a solution onto a public cloud provider like AWS. And there are others here as well like Azure from Microsoft or the Google Cloud Platform. Next, we have on‑premises or private cloud. You’ll also sometimes hear people say just on‑prem, and this is when you have a cloud‑like platform in a private data center. So if you wanted to be able to be somewhat scalable like you have with AWS, but you wanted to be able to do it within your own datacenter. there are solutions that you can deploy from companies like VMware, for example, to have a private cloud, and in some cases you will have what we call hybrid, meaning you have an organization that is leveraging both a public cloud, but those public cloud applications are working in tandem with a private cloud within their own data centers. And so it’s important to understand that for some, especially large organizations, they could be using both a public, private, or using them together in a hybrid model.