Back to: AWS Tutorials For Beginners and Professionals
What is Cloud Computing?
In this article, I am going to discuss What is Cloud Computing. Please read our previous article where we discussed AWS Account Activation Troubleshooting. The practice of using a network of remote servers hosted on the internet to store, manage, and process data, rather than a local server or a personal computer.
How Does the Website Work?
We have a server hosted somewhere, and we as a web browser, want to get access to that server to visualize a website, what we are going to do as a client is using a network. A network between ourselves and the server, and the client will find the network and will use the network to route packets, and the data into the server, then the server will reply to us, and we will get the response, and we can view a website. Obviously, that is very simplified, but that gives you an idea. Now for the clients to find the server and the server to find the clients, you need to have IP addresses. So, clients have IP addresses and a server also has an IP address. And so, the idea is that when you see an IP address, you can send a request to wherever you want to the server you want, and the server can know how to find you back.
This is very similar to when you are writing some letters to your friend. For example, you would write a letter, and that would be your data, and you would be the client, then when you send the letter you put it in your mailbox, and then the network will be the network of the post office, then the post office will use the network and the post office will use the network and the address you put on the letter to route your letter to the destination, which is, in this case, the server, and then if your correspondent wants to reply you back, they can use the address you put on the back of the envelope to write you back, and again, use the same network to get the letter back to you. So, servers are just like the network of your mail.
What is a Server Composed of?
As the server is going to contain a CPU, and a CPU is a little piece that will be doing some computations, It will be very helpful to do some calculations and find results, and then, your server also needs RAM or memory. This is going to be a very, very fast memory, which will allow us to store information and retrieve it very quickly. When we have a CPU and a memory bar, what do we get?
We get a brain. Think of your brain. When you are thinking, you are actually making computations, very complicated ones, but they are computations, but then you need to retain some information, and again, we have memories and these memories are in our brain, so if we think of the CPU and the RAM together, they sort of look like a brain. Now we also have so more long-term storage of data. Obviously, it’s still in our brain as humans, but in computers, we have included some special storage to store the data in a more structured way, were going to use a database and a database is going to be data formatted in a way that we can easily search it and query it. Finally, on the server, we are also going to have some networking aspects. So, there’s going to be routers, switch DNS servers, and don’t worry, all these terms, so in the server, we an aspect of compute, memory, storage, maybe your server sometimes is a database, and we have a networking aspect.
IT Terminology
The network is a bunch of cables, routers, and servers that are going to be connected with each other, and the router is a specific device that will forward the data packets between computers in the networks, and they will know where to send your packets on the internet, just like your post-delivery service. Now when we have a packet and it arrives as a destination, there is a switch, and the switch will send the packet to the correct clients on your network. if we put all these things together, it looks like this. Our client will send the data to a router the router will find its way all the way to a switch, and the switch will know to which computer in your network to send the data.
Traditional How to Build Infrastructure
When people used to start websites or companies before, they used to do it in their home or their garage, and so they would literally go to the store, buy a server, and they put the server in their home. You may have seen TV shows and read some documentation on the internet that describes how Google was made. Google was started in a garage. Now, as your website grows, you need to add more and more servers to serve that demand, and so your home starts to be filled with servers.
But your company is getting bigger, you are generating some money, so you’re going to move to your own office, and you decide to allocate a special room which is going to be called a data center. In a data center, you’re going to have, again, your servers, and you’re going to be able to scale them by adding and purchasing more and more servers. Now this worked, and this worked for so many years, but there are a few problems with this approach. Number one is that when you have a data center or your own home, you’re going to have to pay your rent then you’re going to have to add a power supply, cooling, and maintenance because it does require some electricity to run your servers, it does require some cooling because the servers do get hot, and sometimes they break down, so you need someone to do the maintenance. On top of it, if you want to add or replace servers, it will take a lot of time because you have to order them, and then you have to hook them up in your center.
Scaling is limited. If tomorrow you are getting 10 times bigger, you are going to need 10 times more servers, but you may not have the time or the space to do so you also need to hire a team that is going to be there all the time, 24/7 to monitor the infrastructure in case something goes wrong. And what if there is a disaster, what if there is an earthquake, what if there is a power shutdown or even a fire? So, can we externalize all this? And the answer is yes, and that will be the cloud.
What is Cloud Computing?
Cloud computing is the on-demand delivery of computing power, database storage, application, and other IT resources. The very important keyword here is On- Demand, you get it when you need it. And then through a cloud service platform, you are going to get pay-as-you-go pricing. That means that you are only going to pay for what you requested when you requested it and as you are using it when you are done using it, you’re not going to pay anymore. This is cloud computing. We can provision exactly the right type and size of computing resources you need. Do you need a big server? We have that for you. Do you want a small one? We have that too. Do you want 10? Yes. Do you want two tomorrow? The cloud really allows you to adapt to the type and size you need. Then you can access all these resources, not with 24-hour notice, not with two hours’ notice, but instantly, you do not need to order things in advance. When you want a server, and you will see this in this course, you will have it within seconds. Then the cloud will also give you a really nice interface you can easily access your servers, your storage, databases, and a set of application services. Something about the cloud, but in specific AWS, which is Amazon Web Services owns and maintains the network-connected hardware required for these application services while you provision and use what you need via a web application. With this interface, we will make all these things a reality.
Now, let us go back to our traditional IT. We are changing. We have our office or our garage, but now instead of building our own data center we are going to use the cloud, and the cloud, which is also a data center, is just not our data center, we are going to have servers one, two, three, as we need and as we go and we’re just going to pay for exactly what we’re using. You have actually been using the cloud without even knowing it because it is omnipresent, but not necessarily visible.
If you use a web client such as Gmail, for example, it is an email cloud service and you are going to pay only for the emails you stored. You are not provisioning servers when you use Gmail, you just use it. Maybe you have stored some data in the cloud, Through Dropbox, Google Drive, Google Photos, or I Cloud, I do not know. But with Dropbox, for example, is a cloud storage service, but with Dropbox, for example, is a cloud storage service, you are going to put your files on Dropbox. And originally, fun fact, dropbox was built on AWS. We have been using a cloud storage service as well without knowing it. And Netflix, it’s huge. It is built entirely on AWS and it provides you with a cloud service, which is to get video-on-demand. Now, obviously, these cloud services are very different from AWS, but we’ll learn what goes behind these services and how AWS can help you build these kinds of cloud services.
Different Kinds of Clouds:
The first one is called a private cloud and the provider is, could be rack space. These are cloud services used by a single Organization they are not exposed to the public or your own private data center, It is Just managed by someone else. You still have complete control over it and you have more security for a sensitive application, which may need some specific business needs. This is out of scope for this course, but still good to mention. Now the public cloud is more interesting. Three famous cloud providers that are public, Are Microsoft Azure, Google Cloud, and Amazon Web Services which we’ll be learning in this course, obviously. In this case, the cloud resources own and operated by a third-party cloud service provider and they are delivered over the Internet, we’ll see the six advantages of using cloud computing. In this instance, that means that from AWS, we will be able to request what we need when we want it. And then lastly, which is also important for the exam is the concept of a hybrid cloud. With hybrid, we are getting a mix of private and public. We are going to keep some servers on-premises and we will extend some of the capabilities we need into the cloud. That means that we will have a hybrid of our own infrastructure and the AWS cloud. We will have control over sensitive assets in your private infrastructure, but we’ll have the flexibility and the cost-effectiveness of using the public cloud.
Five Characteristics of Cloud Computing:
The first one is that it is fully on-demand and self-service. Users, and we will see this in this course, we will be able to provision resources and use them without having anyone from AWS intervene.
Then we will be having access to a broad network, the resources will be available over the network, and it can be accessed in diverse ways as we will see in this course. It will be multi-tenancy and we will have resource pooling. That means that not just us, but other customers from AWS can share the same infrastructure and applications while still having security and privacy. And then these multiple customers are getting serviced from the same physical resources.
We are going to share this entire data center of the cloud. This gives us rapid elasticity and scalability. That means that we can automatically and quickly acquire and dispose resources when we need them. And that means that we can quickly and easily scale based on demand. And that is a major advantage of the cloud.
Finally, it is a measured service, so the usage is going to be measured and we’re going to pay exactly for what we have used.
Six Advantages of Cloud computing:
We are going to trade capital expenses for operational expenses, so CAPEX or OPEX. That means that you do not own hardware, you are going to pay on-demand and that will reduce your total cost of ownership, your TCO, and your operational expense.
That means that you do not buy the hardware in advance, you are just going to rent it from AWS. Then we are going to benefit from massive economies of scale. The price is because we are using AWS, not just us, but other customers and so many people are using it, then the prices will be reduced by AWS over time because AWS will be more efficient at running due to its large scale.
We also need to stop guessing capacity. Before we had to plan and buy servers in advance and hope that they would meet the capacity, but now we can actually scale automatically based on the actual measured usage for our application. And because everything’s in demand, we have increased speed and agility.
We can create, operate, and do stuff right away, with no blockers for us to be efficient. And finally, we have a huge cost that we do not need and finally, we have a huge cost that we do not need to have anymore, which is we can stop spending money running and maintaining data centers. And this allows a team of say five people to create a global application in minutes, thanks to leveraging this AWS global infrastructure that is going to be worldwide.
So, the problems we have just solved by using the cloud are that we are more flexible, we’re more cost-effective, we are more scalable because we can add resources as we need to go along, we’re elastic, we can scale out and scale-in when needed, we also have high availability and fault tolerance because we don’t really on the one data center, we rely on the fleet of data centers all around the world. We are more agile, we can rapidly develop, Test, and launch software applications, and although this makes the cloud a really no-brainer.
In the next article, I am going to discuss Types of Cloud Computing. Here, in this article, I try to explain What is Cloud Computing and I hope you enjoy this What is Cloud Computing article.