The cloud has changed the way we build and deploy modern applications and network services. In this video, you’ll learn about the characteristics of cloud computing and some of the more popular cloud computing implementations.
In the technology industry, we have incorporated a number of products and services into something we’re calling the cloud. And in this video, I’m going to take you through a number of basic cloud services and how we might separate out different concepts inside of this cloud.
We use the term cloud computing to describe a number of products and services, but there are four different characteristics that can help us categorize what cloud computing really means. The first of these is something called rapid elasticity. This means that we’re able to scale up our resources and scale them back down again as needed. It certainly helps when an organization has very cyclical processes.
If you are an accounting department, a lot of what you do happens at the beginning and end of the month. And in the middle of the month, you might not need as many resources. So at times of higher use, we would scale up our systems. And when we didn’t need as many resources, we would scale back.
One of the important characteristics of this rapid elasticity is that your end users are able to scale up and scale back, but the entire process is invisible to them. All they know is that when things get busy, they have all of the resources they need to be able to accomplish their goals.
Another incredibly powerful characteristic of cloud computing is that so much of the infrastructure is virtualized, and we’re able to allocate different resources whenever we’d like. If we’d like to add new software, if we’d like to build a new server, if we’d like to put a new network in place, we can click a few buttons and instantly those resources are available.
It’s this type of instant provisioning that really adds amazing flexibility to our cloud computing. And it’s one of the reasons that we’re able to offer the characteristic of rapid elasticity.
Another important characteristic of cloud computing is a resource pooling idea, where you can take many large types of resources, put them in a central place, and then start allocating parts of those resources out as needed. You see this very often when you’re trying to allocate storage in cloud computing. You can put many different storage devices in place, have them create an entire pool, and then allocate different storage options off of that pool.
By having one large device, we’re able to maintain a much more efficient infrastructure. There’s only one machine to maintain rather than many different devices. We can manage them in a much smaller place, and it’s less costly to have this in the data center.
It’s very common for these large cloud computing infrastructures to be used by many different people simultaneously. These may be different departments within your own organization, or they may be different organizations completely.
Because of this, we need some way to track the usage, so that we can then bill back for these services. So an important cloud computing characteristic is the ability to measure how much of these services are in use.
For example, it’s very common to track how many virtual systems are in use inside of the cloud, how much CPU and memory is in use, how much storage space is utilized. And by tracking all of these different settings, you have a lot of flexibility on how you charge back for those services.
One category of cloud offerings is called Software as a Service. You’ll see this abbreviated as SaaS, S-a-a-S. This is when the software that you’re using is on demand. And it’s something that is not installed locally at your organization. It’s somewhere else that’s out on the internet.
This makes sense if you’re an organization that’s not interested in managing your own email server. Or perhaps, you’d like someone else to manage the payroll process for you. You can use Software as a Service to accomplish this.
With Software as a Service, all of this data and information and the application is centralized elsewhere. Everything is in one place, and it’s located somewhere outside of your organization. A good example of Software as a Service would be something like Google Mail. Instead of having a mail server that’s local, you can simply open a browser and access Google Mail, because it is Software as a Service.
Another cloud based offering is categorized as Infrastructure as a Service, or IaaS. You’ll sometimes hear this referred to as Hardware as a Service, because that’s what you’re doing. You’re using someone else’s hardware, but you’re still running your own software and data on that hardware.
That means you’re still responsible for the management of that device. You’re responsible for the security of that device. Someone is simply giving you a machine, and it’s up to you to configure and manage that device. Again, this data is located somewhere outside of your physical location, but you have complete control over the device where it’s located.
A good example of Infrastructure as a Service would be web hosting providers, where you can simply pay a certain amount of money every month, and you have access to a machine that’s located out on the internet.
One very popular category of web-based services is Platform as a Service. With Platform as a Service, someone else has already built the infrastructure for you to use.
So you don’t have to manage any servers. You don’t have any software to worry about. You don’t have your own IT maintenance team. There’s no heating, ventilation, or air conditioning. Someone else is handling the foundational infrastructure, and it’s really up to you to build a product on top of that.
With Platform as a Service, someone else is managing the foundational infrastructure. So you don’t have an IT team that’s keeping track of all of the different servers. You don’t have to worry about hiring anybody or maintaining that infrastructure.
All you have to do is write the code that will run on top of this platform. Your data is obviously going to live on this platform, so it’s very important that platform provider is giving you trained professionals to be able to manage and protect your data. A good example of Platform as a Service is salesforce.com. They provide you with all of the building blocks you need to create all of the business services you might be able to use inside of your organization.
When we say that something is in the cloud, that doesn’t necessarily mean that it’s owned or managed by someone else. We could create our own cloud-based services internally within our organization. This is commonly called a private cloud, and it would exist within your own data center.
Another type of cloud deployment model is public. This is probably the one that we most commonly see, because this is a set of services that is available to the public. There’s, of course, a combination of these two that you can combine part of your private cloud with a public cloud, and you end up having a hybrid cloud deployment model.
Another type of cloud that really helps with cost savings is the community cloud deployment model. In this model, you have many organizations that are sharing the same cloud, the same resources, and the same infrastructure.