 Hello and welcome back. In this lecture I will introduce you to various cloud services which are available from different vendors. I will also talk about important properties of those services. So that we have some understanding of how those services could be utilized and what are the implications from the usage standpoint. So in subsequent files I will cover those details. So before we look at various cloud services, let's look at who all can use these services. It is basically suitable for different kind of entities. You may be an individual user who wants to use cloud services for your personal use. Or it could be an organization which is looking for quick provisioning of IT resources. And you could also be working in a high end technology area where you are looking for let's say HPC high performance computing related facilities on a rental basis rather than setting up an in-house HPC capability. So and again there are a variety of other use cases or areas where cloud computing can be useful. Now having looked at this, let's look at what are various services which are available on a cloud platform. So there are probably three kinds of services which are available from different cloud vendors. At the core is something known as infrastructure as a service. Infrastructure as a service offers raw hardware as a service. And of course in order to offer raw hardware they have to be packaged as something that is known as a virtual machine. So which has some basic operating system installed on top of that hardware so that the hardware is actually accessible by some users to do some useful work. So generally you will have infrastructure as a service which might involve things like compute hardware, compute capabilities, some sort of storage like block storage devices, hard disks. And then some sort of a networking services which are available. So these things could be packaged as a virtual machine. Then another service which is available on a cloud platform is called platform as a service. So a platform offers necessary computing facilities like application runtimes, programming, libraries etc. Which can be used by application developers to create new applications. And the key difference here is that the infrastructure is actually managed by the platform provider, the cloud vendor. So the platform can offer variety of services and those platforms may be very specialized platforms depending upon different application areas. A platform as a service cloud may offer application runtimes like Java or Python or similar other programming language runtime environments. It could offer a database as a service, a database platform as a service or the entire stack on which you can build software applications. And another variant is software as a service. Here a very specific application is offered as a service to end users. So users don't typically write any kind of code here. It is just that the software itself is hosted and managed by the cloud provider, the respective cloud provider. And it is available for the end user to consume. Examples in this space is Google Apps. Google offers productivity application suites which can be used by organizations to do various day to day tasks such as collaborative documents, creation, email exchange. So far we have seen cloud services from the usage standpoint. That is what kind of use cases or what kind of scenarios those cloud services can serve. Now how they serve it or how a cloud is set up is another aspect that is important to understand. So that brings us to different deployment scenarios for cloud services. Now a cloud can be deployed in a variety of ways. For example, you may want to set up a private cloud in-house so that you are able to better manage your IT resources. And cloud technologies basically allow you to do that. Similarly, you may want to deploy the cloud with a collaborating or a partner organization so that you can share your resources and achieve the shared goals. For example, two universities or two organizations which have some sort of shared goal, they may want to pool in their IT resources to set up a cloud which is known as community cloud. We will see a little bit more detail on these terminology in subsequent files. Alternatively, somebody may be interested in becoming a cloud vendor himself or herself. In that case, what you are trying to do is you are setting up a public cloud. It means that you are setting up an IT infrastructure so that you can offer very specialized services which we have seen in the previous slides like infrastructure as a service or platform as a service or even software as a service. So these services you want to offer to general public. So if you want to do that, then you are trying to set up a public cloud where general public can subscribe to the services that you offer. So roughly these are the three broad variants. There is another one which is known as a hybrid cloud which is the interconnection of any of these three. So these are the deployment scenarios that is how you could offer the cloud services in what kind of deployment mode you can set up a cloud. So based on this, there is a general classification of clouds. So as we have just seen, you have two aspects on which you can classify different cloud services. One is how a cloud is deployed. It's also known as a deployment model for the cloud. Alternatively, you can also look at the services that are offered by a cloud service. This is known as service model. Services we have seen infrastructure as a service, platform as a service or software as a service. And deployment models we just saw. Service models we have already seen. These are the three major variants that are available there. So deployment models, what are the key aspects of it? In a private cloud, the cloud is operated solely by an individual or a business entity. It is not available to general public for a fee. And when would you want to do private cloud kind of deployment? Typically, if you have a large organization where you have a lot of IT hardware or other infrastructure which you want to be able to easily manage And within the organization, there are typically a lot of requests for provisioning of, let's say, different kind of stacks for deploying or developing applications. Now for a public cloud, we have just seen earlier in the earlier files, it is basically available to general public. It may have other characteristics similar to what we have seen for private, but the key difference is that it is available for general public to subscribe for. And community cloud is basically two or more organizations coming together to set up a shared cloud infrastructure. Now interconnection of any of these will be termed as a hybrid cloud. So these are general properties of various deployment model based variants of cloud services. Let's have another look of various services. So let's start by the infrastructure as a service. So in this case, if we see all the lower level services, server hardware, storage, networking or something that is known as virtualization, it's a piece of software which allows you to actually create virtual machines on top of physical machines. So that is managed by the cloud service provider. Rest of the stuff, for example, on that virtual machine, what operating system you want to install or how do you want to configure it? And further up, any application, middleware, runtime or data or even the application, everything else is the responsibility of the consumer. Now when we move to platform as a service, the vendor of a platform as a service cloud adds some value. What they do is they further take the burden of managing the runtime, operating system, etc away from the consumer. So that consumer can or the subscriber, past cloud subscriber can solely focus on developing the application and managing the data through the application. Rest everything is managed by the past cloud vendor. So that eases a lot of the burden of the shoulders of an application developer. Now what you have lost here is the flexibility. At the cost of flexibility or more control on the operating system, runtime and hardware, etc, as we saw on infrastructure as a service, you have been relieved of the burden of managing and maintaining that stack. Now further right, we move to software as a service. So in this case, almost everything is managed and operated by the service provider or the vendor. As a consumer of a SaaS application, you simply make use of the application. How the application is developed, maintained or managed is none of your headache. It is done by the vendor itself. So if you look at, this is a side by side view of the major services that are available on a cloud provider. Now let's look at the common characteristics, the properties which are common across various cloud services. First of all, the provisioning of resources is done on a programmatic and self-service manner. What it means is the providers of these services often provide some sort of an API's application programming interfaces for you to programmatically control the service. And you could do that in a self-service manner. Next important property is that cloud is fundamentally a multi-tenant environment, which means that underlying infrastructure is shared by multiple subscribers. Another important characteristic is the lack of absolute control or custody of the data and computing assets. So you don't have as much control as you would have in your in-house situation. However, you can still, if you're worried about the privacy of your data, etc. Before you put it on the cloud vendors machines or the cloud vendors infrastructure, you have the option to encrypt it or protect it in a suitable manner before you actually put it on the cloud. Now computing, all of these services are generally available through the network, over the internet perhaps. And all these services are measured so that you have to pay only for what you use. So in order to bill you according to your usage, these services are actually measured and muted. Another aspect of cloud computing is that the cloud vendors, in order to be able to provide good service or highly available service, they have multiple data centers which span across different geographies. Now, they may allow you to choose which geographic location would you as a subscriber want your resources to be hosted in. Now, important thing to note here as a consumer is that the local laws of that geography are applicable to the data and other IT assets, which you have subscribed from a cloud vendor. Now different geographies may have different laws which might have some implications about how your data may be accessed by third parties. So if you are looking to store some sensitive information on a cloud, then you need to be aware of this aspect. Licensing of different kinds of software may be different on different cloud vendors. Similarly, there is some potential to abuse the services due to the relative anonymity of registration and usage models, even though most cloud vendors do verify the identity of the individual subscribers by way of checking through their credit cards or by verification via phone calls. But still there is some amount of anonymity. So to summarize, we have seen in this lecture different use cases, high level use cases of cloud services. What are those different services which cloud vendors provide and how do they provide it? It means how the cloud technologies could be deployed. We have looked at private, public and community cloud. We have also seen the characteristics which are common to different cloud variants. And we have seen the side-by-side comparison of infrastructure as a service, platform as a service and software as a service. So hopefully in this lecture you should have got some idea about what different use cases the cloud technologies serve and what different services are available and how they can be deployed and what are their important characteristics. Thank you.