6.3.1 Cloud Computing Overview.txt

Full Transcript

Computing Overview Let’s spend a few minutes talking about cloud computing. In this lesson, we’re going to provide a generic overview of what cloud computing is and some of the forms it takes. The cloud is a set of hardware, networks, storage devices, services, and interfaces that enable the deliver...

Computing Overview Let’s spend a few minutes talking about cloud computing. In this lesson, we’re going to provide a generic overview of what cloud computing is and some of the forms it takes. The cloud is a set of hardware, networks, storage devices, services, and interfaces that enable the delivery of computing as a service. The “cloud” part of cloud computing means that a cloud service provides everything you need to perform some computing tasks, whether you need CPU cycles, a complete computing infrastructure, applications, defined business processes, or collaboration solutions. And one of the biggest benefits is that you have access to these services wherever and whenever you want. Let’s take a look at how it works. Cloud Computing The term “cloud” means that you’re receiving these services from a location that is not local. The cloud that you see here is composed of things like computing hardware and networks. It includes storage devices and a network controller, which communicates with these devices to gather the information about the network. It includes services, like applications and interfaces that allow you to connect to these services using the network and a local device. Cloud services include the delivery of software. In other words, you can run an application from the cloud. It provides infrastructure for an entire computing system if needed. It may provide storage that you can use. The key thing to remember is that the cloud is separate from the local devices. This is a powerful concept. In the past, let’s say we needed to run a Word Processing application. We needed to use that to complete our day-to-day work. Well, how did we do that? We installed the application on our desktop system at work, and we did whatever it is we needed to do. Well, what happens if we went home for the night, got a call, and someone said, “I’ve got to have this report done by midnight tonight, or you’re out of a job. Fix it, buddy.” Well what did you have to do then? You had to go back to work to use the computer, or you had to use some kind of VPN connection to get back in to your computer. Why? Because that’s where the application you needed to do your work was installed. Your only other option was to install a second copy locally at home, but that’s really inefficient because most of the time you’re going to use the copy at work, and very rarely will you use the copy at home. So, you paid for two pieces of software, one you will only use on rare occasions unless you were dishonest and installed the same copy twice, which you shouldn’t do because it’s against the law. Likewise, if you were in the office one day and just decided, “You know what? I am sick of being in my cubicle. I want to go outside and get some sunshine.” So, you take your notebook, or your tablet, or your smartphone with you outside, and you think, “I’m going to work on that report out here in the sunshine at the park instead of being in my office.” Could you do that? Well, you could if you, once again, installed that application locally on each of those devices, and if you had a workstation at work, a notebook system that you traveled with, a tablet system you use just for fun, and a smartphone system. Then you would actually have to have four different copies of that same application to use all of these different devices to do your daily work. Well, with cloud computing, we take away this whole concept of locally installed applications. But there’s more to it than just applications. When you use the cloud, you use a network connection, and you connect to either a public cloud on the internet or a private cloud provided by an organization and then run the application out of the cloud. In other words, the application runs on hardware provided in the data center instead of over here, on the local devices. And this is nice because I can run that application from the desktop to my computer at work. And when I go home and I get that call at night, and they say, “We’ve got a problem, and you need to get this report done immediately,” I can just use my laptop at home, or maybe my home computer, and connect to the cloud, run the very same application, and access the same data because the data is being stored in the cloud now, not on my local hard drive. And then, if I’m having one of those spring fever days and I want to go work at the park instead of in my office, I can sit out there with my tablet and, once again, I can access the application from the cloud. I can work on the very same data that I was working on from my desktop system at work and accomplish the same thing without having to install that application or copy the data I’m using on each of these different devices. Now, as I said a minute ago, cloud computing comes in different forms. We have public clouds that can be accessed by anybody. We have private clouds that are provided by a particular organization, and access is restricted to just that organization or to other paying clients who want to use it. And we have hybrid clouds, which kind of combine the best of both worlds, public and private. Cloud services include the delivery of software, infrastructure, storage, or a combination of all three in a complete package over a network connection, and that network connection could be within your organization on a LAN, or it could be an internet connection to a cloud that’s available on the internet. From the user’s standpoint, the great thing about the cloud is its flexibility, the fact that you can use whatever device you want from wherever you’re at and have access to the resources you need without having to install and set everything up manually. Clouds are also very attractive to management and to business owners because clouds are elastic in nature, and this is very key. Basically, users can request resources on-demand and then just as easily de-provision those resources when they’re done with whatever they needed them for. Cloud Computing Benefits Let’s take a look at some of the other benefits and features cloud computing offers. The first is self-service provisioning. Self-service provisioning means that your users can easily get cloud services without having to go through a lengthy approval process. Basically, your users just request the computing power, the storage space, the applications, or whatever it is they need from the cloud service provider, and within a matter of seconds or minutes, they have those resources. In addition, clouds also provide APIs, which basically provide a means for resources stored locally to communicate with services provided by the cloud. For example, you may run an application out of the cloud that needs to update a database that’s stored in your organization. With APIs, you can do that. Clouds also provide metering because it’s kind of a pay-as-you-go type of system. The cloud provider has to decide how they’re going to bill for the service. It’s not like the old system, where we purchase the hardware and we purchase the software and then use it. You pay for what you use, and so they provide a tracking system to bill you for what you have used. One of the key things that makes cloud computing so beneficial, aside from the self-service provisioning, is the fact that cloud applications are designed to be easy to use. This is very important. Your end user should not be intimidated by the concept of using a cloud resource. The infrastructure underneath cloud computing may be really complex, but the end user interface, generally speaking, is relatively simple. So, the user says, “Well, I can just open up that application in my browser and do what I need to do,” and they don’t have to worry about anything else. With this in mind, now we need to discuss the cloud service delivery models that are currently in use. There are three of them you need to be familiar with: Infrastructure as a Service, Platform as a Service, and Software as a Service. Infrastructure as a Service (IaaS) Let’s begin by taking a look at Infrastructure as a Service, or IaaS. IaaS is the delivery of what we traditionally associate with computer hardware as a service. It provides storage as a service, as well as computing resources as a service. Essentially, you can rent storage space in the cloud instead of having to go out and buy a whole bunch of hard drives that you install and use locally. Likewise, you can use computing power from the cloud instead of having to go out and buy new high-end systems to do a particular job. You simply rent time from an IaaS cloud service provider. That way, you don’t have to go out and buy that hardware. This saves a lot of upfront money on purchasing hardware, and it also provides the flexibility, scalability, and elasticity that we talked about earlier. If you end up with a project that requires a lot of storage and a lot of computing power for a limited amount of time, you scale up. And when you’re done with that project and you don’t need that computing time any more, you scale back down, so you only pay for what you need. Platform as a Service (PaaS) Platform as a Service, or PaaS, offers a complete development environment. Basically, it’s an environment that you can use to create cloud-ready business applications. The cloud service provider delivers an entire solution stack. This solution stack is an integrated set of software that provides the developer with everything they need to build an application. And this is really kind of an outgrowth of the traditional concept of web hosting. If you’ve used a web hosting provider in the past, you know that most of them provide you with some kind of web development interface that you can use through a web browser to build your web page. This is the same type of thing, just on steroids. Instead of just being able to build websites, it provides you with a complete development environment to develop entire integrated suites of applications. And, once again, the primary benefit of doing it this way is the fact that your development and deployment activities take place entirely in the cloud, so you don’t have to manage or maintain local systems because it’s all done for you by the cloud service provider. Some cloud service providers will provide you with development process features, like software design, software development, testing, and deployment. Just as with Infrastructure as a Service, Platform as a Service provides you with the flexibility and the elasticity that you need to scale up when you need resources and to scale back when you’re done. Software as a Service (SaaS) Software as a Service, or SaaS, is really designed more for your average end user. SaaS provides end users with business applications that they need to do their day-to-day work. Instead of installing the applications locally on their hard drive, they simply open a web browser and go to their cloud service provider. And within that browser, they run whatever application they need to use–word processor, PowerPoint, spreadsheet, whatever it is they need to do. This was one of the first implementations of cloud computing. And, as I mentioned earlier, without cloud computing, if your organization hires 20 new people, and all 20 people of those people need to use a word processing application, meaning the application on each of those users’ computers, you had to purchase a copy and install it. Whether or not the application is used all the time, part of the time, or never, you still had to buy the software. That’s the advantage of SaaS: you only pay for what you need. If the employee uses a word processing application eight or nine hours a day, you pay for it. If the employee uses it three hours a month, that’s all you pay for. One of the other key advantages of SaaS is that you can try new software without committing to it. Try out an application on a rental basis, pay for the time you use it, and if you really like it, you can go ahead and use it more. If you don’t, you don’t have to spend any money on it. Before we finish, there’s one other thing you need to understand about SaaS: SaaS comes in two forms, simple multi-tenancy and fine-grained tenancy. Simple Multi-Tenancy With simple multi-tenancy, each customer of the cloud service provider has their own resources that are completely segregated from other customers. And you can do this, but it’s a relatively inefficient way to do things. Fine-grained multi-tenancy is more efficient. It offers the same level of segregation as simple multi-tenancy, but all of the resources that are used by each customer are shared. Your data is segregated, so nobody else can see it, but your computing power and applications are shared. With simple multi-tenancy, you essentially say, “I want to purchase this chunk of resources and, whether I’m using them or not, no other cloud customer can use them.” You basically share and pool the resources so that nobody hogs them. Summary 12:22-12:32 And that’s it for this lesson. In this lesson, we talked about how cloud computing works. We defined cloud computing, and we looked at three different types of cloud computing: Infrastructure as a Service, Platform as a Service, and Software as a Service.