Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.
Software as a Service (SaaS). The capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure. The applications are accessible from various client devices through either a thin client interface, such as a web browser (e.g., web-based email), or a program interface. The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user specific application configuration settings.Platform as a Service (PaaS). The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages, libraries, services, and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, or storage, but has control over the deployed applications and possibly configuration settings for the application-hosting environment.Infrastructure as a Service (IaaS). The capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, and deployed applications; and possibly limited control of select networking components (e.g., host firewalls).
To give you a better clue on each of these layers, I’ll try to show you some examples. You all now these companies, they are world leaders and famous for what they do best. If we look at IaaS layer here, we”ll find names like rockspace, VMWare, Amazon… They all provide you with an infrastructure, that you scale, setup and build the way you want to create an app above. They do not give you any programming integration, like code execution modules. PaaS like WinAzure, Google App engine, Salesforce give you a developing platform and you really care about infrastructure, shape of instances and other info of that level a bit less you focus on coding using valuable tools, provided by you.SaaS are Google Docs, IBM and they give you a simple place to store any kind of your data. You also do not have any access to the instances or storage, this level of resources.
Infrastructure. Automation. Infrastructure level gives you control of your environment, your hardware. You can setup any low-level scalability, like automatic increase of number of instances at given criteria, control amount of storage available for you or other actions, related to infrastructure like a usual datacenter of yours. IaaS includes Virtual Machines, servers, storage, load balancers, networking…
When talking about Platform customers are able to focus on development of application for some purpose, or think about database architecture for application, use best practices for code optimization. All of this without giving a clue about where it’s hosted, how many servers are clusters for DB, what is the shape of each App instance and other low level details. PaaS is the best choice for Developing Web Application and delivering it using cloud capabilities.
Software. A ready-to-use application is delivered to use it for storing emails, controlling content of documents, managing list of documents, storing different types of data and grouping them. Even selling games or providing customer support online. All this is for end-user with any internet-capable device. Selling software or service is what it is.
Now let’s look at company benefits if any Cloud Model is implemented and used. By enabling and using all available resources, we are cutting on costs and focusing on profit from such action. Smart resource provisioning is achieved by utilizing hardware only when it is needed and by leasing it from Cloud Provider. Better delivery time is valuable for consumers of your company’s product. If we are talking about development in cloud – transperent workflow can come in handy. This is basically it for today. Please