To meet ever-changing business needs, organizations need to invest the time and budget to scale up their IT infrastructure, such as software, hardware, and services. However, with on-premises IT infrastructure, the scaling process can be slow and organizations are frequently unable to achieve optimal utilization of the IT infrastructure.
Cloud computing is a paradigm shift that provides computing over the internet. A cloud computing service consists of highly optimized virtual data centers that provide various software, hardware, and information resources for use when needed.
Organizations can simply connect to the cloud and use the available resources on a pay per use basis. This helps companies avoid capital expenditures on additional on premises infrastructure resources, and instantly scale up or scale down according to business requirements.
Deployment Model of Cloud Computing
You can deploy a cloud computing service by using three different models:
- Private Cloud
- Public Cloud
- Hybrid Cloud
A private cloud functions solely for one organization on a private network and it is highly secure.
A public cloud is owned by the cloud service provider and offers the highest level of efficiency in shared resources.
A hybrid cloud is a combination of private and public deployment models. In a hybrid cloud, specific resources are run or used on a public cloud and the others are run or used on premises in a private cloud. This provides increased efficiency.
Service Models of Cloud Computing
Cloud computing consists of the following service models.
- IaaS > Infrastructure as a Service
- PaaS > Platform as a Service
- SaaS > Software as a Service
IaaS (Infrastructure as a Service)
By using the IaaS model, organizations get infrastructure components, such as - computing power and storage capacity. Here, the organizations have control over the entire IT Infrastructure including the hosting environment in their applications. However, the organizations need to allocate additional staff to maintain and manage the infrastructure in the applications. Microsoft has proposed remote desktops and virtual machines to Microsoft Azure as an IaaS offering.
PaaS (Platform as a Service)
The PaaS model provides the organizations with the platform or a runtime environment to create and deploy applications. Here, the organization is only responsible for the development, maintenance, and management of the applications. Microsoft provides the Windows Azure platform as a PaaS offering.
SaaS (Software as a Service)
The SaaS model provides organizations with ready-to-use applications. They use a combination of cloud based computing and storage services. Microsoft provides various online services, such as - BPOS (Microsoft Business Productivity Online Suit) and Microsoft Dynamics CRM online, as a SaaS offering.
Example
To understand how cloud computing can help an organization extend IT capabilities, consider "Wide World Importers", a company that manufacturers beauty products. Occasionally, the research department has to store and process a large amount of data. Consequently, the company is looking for a cost-effective computing and storage solution. Additionally, the "Wide World Importers" has a group of scientists situated at different geographical locations. The geographical barrier affects the research, requiring a better collaboration solution. In addition, the company is planning to develop a cost-effective data mining application to collect visitor’s data during its week long worldwide annual beauty pageant.
Cloud computing provides the company with an efficient and cost-effective solution. This company can subscribe for additional computing and storage services offered by Windows Azure on a pay-per-use basis, to move all of its statistical data analysis and storage to Azure. By doing so, they can invest more on research. This company can also use BPOS, Microsoft Live Meeting, and Microsoft SharePoint Online for efficient collaboration.
For design, development, and testing of the data mining applications, the company can use the Windows Azure platform to focus on software evaluation and reduce the time and cost required for the preparation of development and testing of software applications.